1. Conduid
  2. Developer Tools
  3. flashduty-server
MCP server · Developer Tools

flashduty-server

A Model Context Protocol (MCP) server for FlashDuty incident management.

39Low

Scored 7 hours ago · breakdown

About flashduty-server

flashduty-server is an MCP server published by git+futuretea in the Developer Tools category: a Model Context Protocol (MCP) server for FlashDuty incident management. It has been installed 0 times through Conduid.

The repository has 5 stars and 0 forks.

Install

Install
npx @futuretea/flashduty-mcp-server
Claude Code
claude mcp add flashduty-mcp-server -- npx -y @futuretea/flashduty-mcp-server
npx
npx -y @futuretea/flashduty-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about flashduty-server

Powered by Claude · Grounded in docs

I know everything about flashduty-server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

FlashDuty MCP Server

Build GitHub License npm GitHub release (latest SemVer)

Features | Getting Started | Configuration | Tools | Development

Features

A Model Context Protocol (MCP) server for FlashDuty incident management.

  • Incident Management: List, create, acknowledge, resolve, reopen, snooze, and comment on incidents
  • Alert Management: List, get details, and close alerts
  • Collaboration Spaces: List and inspect channels (collaboration spaces)
  • Team & Member Lookup: List teams and members
  • On-call Schedules: Query on-call schedules by team
  • Incident Statistics: MTTA, MTTR, counts, ack rate, and noise reduction metrics
  • Incident Timeline: View event feed (comments, acks, resolves, escalations, notifications)
  • Incident-Alert Association: See which alerts belong to a given incident
  • Brief Mode: Reduce response size for LLM token limits by returning only key fields
  • Advanced Filtering: Filter by channel, responder, acknowledger, creator, labels, and severity
  • Security Controls: read_only mode to disable all write operations
  • Dual Transport: Stdio mode for MCP client integration or HTTP/SSE mode for network access
  • Cross-platform: Native binaries for Linux, macOS, Windows (amd64/arm64), npm package, and Docker images

Getting Started

Requirements

Claude Code

claude mcp add flashduty -- npx @futuretea/flashduty-mcp-server@latest \
  --app-key YOUR_APP_KEY

VS Code / Cursor

Add to .vscode/mcp.json or ~/.cursor/mcp.json:

{
  "servers": {
    "flashduty": {
      "command": "npx",
      "args": [
        "-y",
        "@futuretea/flashduty-mcp-server@latest",
        "--app-key",
        "YOUR_APP_KEY"
      ]
    }
  }
}

Docker

Stdio mode:

docker run --rm -i ghcr.io/futuretea/flashduty-mcp-server:latest \
  --app-key YOUR_APP_KEY

HTTP/SSE mode:

docker run --rm -p 8080:8080 ghcr.io/futuretea/flashduty-mcp-server:latest \
  --port 8080 --app-key YOUR_APP_KEY

Configuration

Configuration can be set via CLI flags, environment variables, or a config file.

Priority (highest to lowest):

  1. Command-line flags
  2. Environment variables (prefix: FLASHDUTY_MCP_)
  3. Configuration file
  4. Default values

CLI Options

npx @futuretea/flashduty-mcp-server@latest --help
Option Description Default
--config Config file path (YAML)
--port Port for HTTP/SSE mode (0 = stdio mode) 0
--sse-base-url Public base URL for SSE endpoint
--log-level Log level (0-9) 5
--app-key FlashDuty API app key (required)
--base-url FlashDuty API base URL https://api.flashcat.cloud
--read-only Disable write operations false
--enabled-tools Specific tools to enable
--disabled-tools Specific tools to disable

Configuration File

Create config.yaml:

port: 0  # 0 for stdio, or set a port like 8080 for HTTP/SSE

log_level: 5

# Get the app_key from your FlashDuty account:
# https://console.flashcat.cloud -> Personal Settings -> API Keys
app_key: your-app-key-here

# base_url: https://api.flashcat.cloud

read_only: false  # Set to true to disable write operations

# enabled_tools: []
# disabled_tools: []

Environment Variables

Use FLASHDUTY_MCP_ prefix with underscores:

FLASHDUTY_MCP_PORT=8080
FLASHDUTY_MCP_APP_KEY=your-key
FLASHDUTY_MCP_READ_ONLY=false
FLASHDUTY_MCP_LOG_LEVEL=5

HTTP/SSE Mode

Run with a port number for network access:

flashduty-mcp-server --port 8080 --app-key YOUR_APP_KEY

Endpoints:

  • /healthz - Health check
  • /mcp - Streamable HTTP endpoint
  • /sse - Server-Sent Events endpoint
  • /message - Message endpoint for SSE clients

With a public URL behind a proxy:

flashduty-mcp-server --port 8080 \
  --sse-base-url https://your-domain.com:8080 \
  --app-key YOUR_APP_KEY

Tools

Use --enabled-tools / --disabled-tools for fine-grained control.

Use --read-only to disable all write operations (create, acknowledge, resolve, reopen, snooze, comment, close).

Incident Tools

List incidents from FlashDuty. Use brief=true to reduce response size (recommended for initial queries).

Parameter Type Required Description
time_range string No Relative time range: 1h, 24h, 7d, 30d, 1w, 6M, or last_day, last_week. Alternative to start_time+end_time.
start_time number Conditional Search interval start time in unix seconds. Required if time_range is not set.
end_time number Conditional Search interval end time in unix seconds. Required if time_range is not set.
brief boolean No If true, return only key fields to reduce data volume.
progress string No Filter by progress: Triggered, Processing, Closed, or comma-separated.
incident_severity string No Filter by severity: Critical, Warning, Info, or comma-separated.
title string No Filter by title. Supports exact, regex (/pattern/), and wildcards (*, ?).
channel_ids integer[] No Filter by collaboration space IDs.
responder_ids integer[] No Filter by responder person IDs.
acker_ids integer[] No Filter by acknowledger person IDs.
creator_ids integer[] No Filter by creator person IDs. 0 = system-generated.
labels object No Filter by labels (key -> array of values).
limit number No Page size (1-100, default 20).
p number No Page number starting from 1.

Get detailed information about a specific incident.

Parameter Type Required Description
incident_id string Yes The incident ID.

Create a new incident in FlashDuty. Disabled when read_only=true.

Parameter Type Required Description
title string Yes Incident title.
incident_severity string Yes Severity: Critical, Warning, or Info.
description string No Incident description (plain text or markdown).
channel_id number No Collaboration space ID.

Acknowledge (claim) one or more incidents. Disabled when read_only=true.

Parameter Type Required Description
incident_ids string[] Yes List of incident IDs to acknowledge.

Resolve (close) one or more incidents. Disabled when read_only=true.

Parameter Type Required Description
incident_ids string[] Yes List of incident IDs to resolve.
root_cause string No Root cause of the incident.
resolution string No How the incident was resolved.

Reopen one or more previously resolved incidents. Disabled when read_only=true.

Parameter Type Required Description
incident_ids string[] Yes List of incident IDs to reopen.
reason string Yes Reason for reopening.

Snooze (temporarily mute) one or more incidents. Disabled when read_only=true.

Parameter Type Required Description
incident_ids string[] Yes List of incident IDs to snooze.
minutes number Yes Minutes to snooze (1-1440).

Add a comment to one or more incidents. Disabled when read_only=true.

Parameter Type Required Description
incident_ids string[] Yes List of incident IDs to comment on.
comment string Yes Comment content (1-500 characters).

Update an incident's details. At least one field besides incident_id must be provided. Disabled when read_only=true.

Parameter Type Required Description
incident_id string Yes The incident ID to update.
title string No New incident title.
description string No New incident description. Supports markdown.
incident_severity string No New severity: Critical, Warning, or Info.
impact string No Impact description of the incident.
root_cause string No Root cause of the incident.
resolution string No Resolution description of the incident.

Assign one or more incidents to specific persons or an escalation rule. Disabled when read_only=true.

Parameter Type Required Description
incident_ids string[] Yes List of incident IDs to assign.
type string No Assignment type: assign (direct) or escalateRule. Default: assign.
person_ids integer[] No List of person IDs to assign to (when type is assign).
escalate_rule_id number No Escalation rule ID (when type is escalateRule).

Alert Tools

List alerts from FlashDuty. Use brief=true to reduce response size.

Parameter Type Required Description
time_range string No Relative time range: 1h, 24h, 7d, 30d, 1w, 6M, or last_day, last_week. Alternative to start_time+end_time.
start_time number Conditional Search interval start time in unix seconds. Required if time_range is not set.
end_time number Conditional Search interval end time in unix seconds. Required if time_range is not set.
brief boolean No If true, return only key fields to reduce data volume.
alert_severity string No Filter by severity: Critical, Warning, Info, or comma-separated.
title string No Filter by title. Supports exact, regex, and wildcards.
is_active boolean No Filter by active status.
channel_ids integer[] No Filter by collaboration space IDs.
labels object No Filter by labels (key -> array of values).
limit number No Page size (1-100, default 20).
p number No Page number starting from 1.

Get detailed information about a specific alert.

Parameter Type Required Description
alert_id string Yes The alert ID.

Close one or more alerts. Disabled when read_only=true.

Parameter Type Required Description
alert_ids string[] Yes List of alert IDs to close.

Channel Tools

List collaboration spaces (channels).

Parameter Type Required Description
query string No Search keyword to match channel name and description.
limit number No Page size.
p number No Page number starting from 1.

Get detailed information about a specific channel.

Parameter Type Required Description
channel_id number Yes The channel ID.

Team & Member Tools

List teams from FlashDuty.

Parameter Type Required Description
query string No Search keyword to match team name and description.
limit number No Page size.
p number No Page number starting from 1.

List members from FlashDuty.

Parameter Type Required Description
query string No Search keyword to match name and email. Phone number triggers strict match.
limit number No Page size.
p number No Page number starting from 1.

Schedule Tools

List on-call schedules.

Parameter Type Required Description
team_ids integer[] Yes List of team IDs to filter schedules.
query string No Search keyword to match schedule name.
limit number No Page size.
p number No Page number starting from 1.

Insight Tools

Get aggregated incident statistics (MTTA, MTTR, counts, ack rate, noise reduction).

Parameter Type Required Description
time_range string No Relative time range: 1h, 24h, 7d, 30d, 1w, 6M, or last_day, last_week. Alternative to start_time+end_time.
start_time number Conditional Start time in unix seconds. Required if time_range is not set.
end_time number Conditional End time in unix seconds (max span 6 months). Required if time_range is not set.
channel_ids integer[] No Filter by collaboration space IDs.
team_ids integer[] No Filter by team IDs.
severities string[] No Filter by severities: Critical, Warning, Info.
aggregate_unit string No Time aggregation: day, week, or month.
query string No Filter by incident title (fuzzy match).
labels object No Filter by labels as key-value pairs.

Get the timeline (feed) of an incident.

Parameter Type Required Description
incident_id string Yes The incident ID.
types string[] No Filter by event types (e.g., i_comm, i_ack, i_rslv, i_notify).
limit number No Page size.
p number No Page number starting from 1.

List alerts associated with a specific incident.

Parameter Type Required Description
incident_id string Yes The incident ID.
is_active boolean No Filter by active status.
limit number No Page size (max 1000, default 1000).
p number No Page number starting from 1.

Similar Incidents Tools

Find similar historical incidents for a given incident. Useful for pattern analysis and diagnosis.

Parameter Type Required Description
incident_id string Yes The incident ID to find similar incidents for.
limit number No Maximum number of similar incidents to return (max 20).

Change Tools

Query deployment/change events from FlashDuty. Useful for correlating incidents with recent deployments.

Parameter Type Required Description
time_range string No Relative time range: 1h, 24h, 7d, 30d, 1w, 6M, or last_day, last_week. Alternative to start_time+end_time.
start_time number No Start time in unix seconds.
end_time number No End time in unix seconds.
query string No Search keyword to filter changes.
channel_ids integer[] No Filter by collaboration space IDs.
integration_ids integer[] No Filter by integration IDs.
order_by string No Field to order by (e.g., start_time).
asc boolean No Sort ascending if true, descending if false.
include_events boolean No Include change events in the response.
limit number No Page size (1-100, default 20).
p number No Page number starting from 1.

Escalation Tools

Query escalation rules for a collaboration space. Returns the escalation policy configuration.

Parameter Type Required Description
channel_id number Yes The collaboration space (channel) ID.

Custom Field Tools

Query custom field definitions from FlashDuty. Returns all configured custom fields for incidents. No parameters required.

Development

Build

make build

Test

go test ./...

Lint

make lint

Run with mcp-inspector

npx @modelcontextprotocol/inspector@latest -- npx @futuretea/flashduty-mcp-server@latest

Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.

License

Apache-2.0

README mirrored from the source repository 7 hours ago. The original is authoritative.

Questions

About flashduty-server

How do I install flashduty-server?

Run npx @futuretea/flashduty-mcp-server, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is flashduty-server safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is flashduty-server still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.