闪存MCP服务器
英语| 中文
Flashduty MCP服务器是 模型上下文协议(MCP) 服务器,提供与Flashduty API的无缝集成,为开发人员和工具提供高级事件管理和自动化功能。
用例
- 自动化应急工作流程。
- 从Flashduty中提取和分析数据。
- 构建与Flashduty交互的AI驱动工具和应用程序。
支持的交通工具
| 运输 | 支持 | 注意事项 |
|---|---|---|
| 标准 | ✅ | flashduty-mcp-server stdio。将其用于本地主机(Cursor、Claude Desktop等)。 |
| 可流式传输的HTTP | ✅ | flashduty-mcp-server http.终点: /mcp (规范)和 /flashduty (传统别名)。公共实例: https://mcp.flashcat.cloud/mcp. |
| 独立SSE(HTTP/SSE) | ❌ | 传统的SSE传输(单独 GET /sse 端点)是 不支持。服务器返回 405 Method Not Allowed 为了 GET 设计要求。使用流式HTTP——它已经通过流式传输响应 POST 根据MCP规范 |
如果您的MCP主机只支持传统的SSE传输,请升级主机或使用 stdio 当地。______________________________________________________________________
远程闪控MCP服务器

远程Flashduty MCP服务器为启动和运行Flashduty集成提供了最简单的方法。如果您的MCP主机不支持远程MCP服务器,您可以使用 Flashduty MCP服务器的本地版本 相反。
先决条件
- 支持最新MCP规范和远程服务器的MCP主机,例如 光标.
- 您Flashduty帐户中的Flashduty APP密钥。
安装
例如,使用游标:
对于支持远程MCP的光标,请使用以下配置:
{
"mcpServers": {
"flashduty": {
"url": "https://mcp.flashcat.cloud/mcp",
"headers": {
"Authorization": "Bearer "
}
}
}
}注: 有关远程MCP服务器设置的正确语法和位置,请参阅MCP主机的文档。
______________________________________________________________________
本地闪存MCP服务器
](#local-cursor)
先决条件
- 要在容器中运行服务器,您需要 码头工人 安装并运行。
- 您需要从您的Flashduty帐户中获取Flashduty APP密钥。
安装
例如,使用游标:
使用Docker
将以下JSON块添加到您的游标MCP配置中。
{
"mcpServers": {
"flashduty": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FLASHDUTY_APP_KEY",
"registry.flashcat.cloud/public/flashduty-mcp-server"
],
"env": {
"FLASHDUTY_APP_KEY": "your_flashduty_app_key"
}
}
}
}使用二进制
除了从源代码构建外,您还可以直接从项目的 ,这是一种更快、更方便的选择。
如果你更喜欢从源代码构建,你可以使用 go build 在 cmd/flashduty-mcp-server 目录。您可以通过环境变量或命令行参数提供APP密钥。
您应该将MCP主机配置为使用内置的可执行文件作为其 command例如:
通过环境变量:
{
"mcpServers": {
"flashduty": {
"command": "/path/to/flashduty-mcp-server",
"args": ["stdio"],
"env": {
"FLASHDUTY_APP_KEY": "your_app_key_here"
}
}
}
}通过命令行参数:
{
"mcpServers": {
"flashduty": {
"command": "/path/to/flashduty-mcp-server",
"args": ["stdio", "--app-key", "your_app_key_here"]
}
}
}______________________________________________________________________
工具配置
Flashduty MCP服务器支持针对不同用例的多种配置选项。主要选项包括:
- 工具集:允许您启用或禁用特定功能组。仅启用所需的工具集可以帮助LLM进行工具选择并减少上下文大小。
- 只读模式:将服务器限制为只读操作,防止任何修改并增强安全性。
- 国际化:支持自定义工具描述以适应不同的语言或团队偏好。
配置方法分为 远程服务配置 和 本地服务配置.
远程服务器配置
使用公共远程服务时(https://mcp.flashcat.cloud/mcp),您可以通过将查询参数附加到URL来动态配置它。
配置示例
以下是一个配置远程服务、指定工具集和只读模式的示例:
{
"mcpServers": {
"flashduty": {
"url": "https://mcp.flashcat.cloud/mcp?toolsets=incidents,users&read_only=true",
"headers": {
"Authorization": "Bearer "
}
}
}
}headers.Authorization:用于身份验证的Flashduty APP密钥,前缀为Bearer.toolsets=...:使用逗号分隔的列表指定要启用的工具集(例如。,incidents,users,channels).read_only=true:启用只读模式。
本地服务器配置
当通过Docker或从源代码本地运行服务时,您可以完全控制配置。
1.通过环境变量
这是本地配置最常见的方法,尤其是在Docker环境中。
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
FLASHDUTY_APP_KEY | 闪控APP按键 | ✅ | - |
FLASHDUTY_TOOLSETS | 要启用的工具集(逗号分隔) | ❌ | 所有工具集 |
FLASHDUTY_READ_ONLY | 仅限于只读操作(1 或 true) | ❌ | false |
FLASHDUTY_OUTPUT_FORMAT | 工具结果的输出格式(json 或 toon) | ❌ | json |
FLASHDUTY_BASE_URL | Flashduty API基础URL | ❌ | https://api.flashcat.cloud |
FLASHDUTY_LOG_FILE | 日志文件路径 | ❌ | stderr |
FLASHDUTY_ENABLE_COMMAND_LOGGING | 启用命令日志记录 | ❌ | false |
TZ | 日志时间戳的时区(例如。, Asia/Shanghai, America/New_York) | ❌ | 系统默认值(回退到 Asia/Shanghai 在没有时区数据的容器中) |
Docker示例:
docker run -i --rm \
-e FLASHDUTY_APP_KEY= \
-e FLASHDUTY_TOOLSETS="incidents,users,channels" \
-e FLASHDUTY_READ_ONLY=1 \
-e TZ=Asia/Shanghai \
registry.flashcat.cloud/public/flashduty-mcp-server注: 这TZ环境变量控制用于日志时间戳的时区。如果未设置,服务器将使用系统默认时区,或回退到Asia/Shanghai在没有时区数据的容器中(例如无发行版映像)。常见的时区值包括Asia/Shanghai,America/New_York,Europe/London,UTC等等。
2.通过命令行参数
如果直接从源代码构建并运行二进制文件,则可以使用命令行参数。
./flashduty-mcp-server stdio \
--app-key your_app_key_here \
--toolsets incidents,users,channels \
--read-only可用的命令行参数:
--app-key:闪光灯APP键(替代FLASHDUTY_APP_KEY环境变量)--toolsets:要启用的工具集列表,以逗号分隔--read-only:启用只读模式--output-format:工具结果的输出格式(json或toon)--base-url:Flashduty API基础URL--log-file:日志文件的路径--enable-command-logging:启用命令日志记录--export-translations:将翻译保存到JSON文件
注意:命令行参数优先于环境变量。对于工具集配置,如果两者都有FLASHDUTY_TOOLSETS环境变量和--toolsets如果设置了参数,则命令行参数具有优先级。
3.输出格式(TOON)
服务器支持 TOON(面向令牌的对象表示法) 工具结果的格式,这可以在使用LLM时显著减少令牌使用(30-50%)。
JSON 输出 (默认):
{"members":[{"person_id":1,"person_name":"Alice"},{"person_id":2,"person_name":"Bob"}],"total":2}TOON输出 (紧凑型):
members[2]{person_id,person_name}:
1,Alice
2,Bob
total: 2要启用TOON格式:
通过环境变量:
export FLASHDUTY_OUTPUT_FORMAT=toon通过命令行:
./flashduty-mcp-server stdio --output-format toon注: TOON格式对于具有统一字段的对象数组(例如,成员列表、事件列表)特别有效。大多数现代LLM可以自然地解析TOON格式。
4.i18n/替代说明(仅限本地)
覆盖工具描述的功能仅适用于本地部署。你可以通过创建一个 flashduty-mcp-server-config.json 文件或通过设置环境变量。
通过JSON文件:
创建 flashduty-mcp-server-config.json 在与二进制文件相同的目录中:
{
"TOOL_CREATE_INCIDENT_DESCRIPTION": "an alternative description",
"TOOL_LIST_TEAMS_DESCRIPTION": "List all teams in Flashduty account"
}通过环境变量:
export FLASHDUTY_MCP_TOOL_CREATE_INCIDENT_DESCRIPTION="an alternative description"5.日志和安全
服务器提供结构化日志记录和内置安全功能:
- 数据屏蔽:敏感信息,如
APP_KEY和Authorization日志中的标头会自动屏蔽,以防止意外的凭据泄漏。 - 日志截断:为了保持性能,日志中的大型请求/响应体会自动截断(默认2KB)。
- W3C跟踪上下文:支持W3C跟踪上下文(
traceparent)为了实现端到端的可观察性。跟踪ID会自动包含在日志中,以便轻松跟踪请求。
______________________________________________________________________
可用工具集
以下工具集可用(默认情况下都处于启用状态)。您还可以使用 all 启用所有工具集。
| 工具集 | 描述 | 工具 |
|---|---|---|
incidents | 事件生命周期管理 | 6 |
changes | 更改记录查询 | 1 |
status_page | 状态页管理 | 4 |
users | 成员和团队查询 | 2 |
channels | 渠道和升级规则 | 2 |
fields | 自定义字段定义 | 1 |
总计:16个工具
______________________________________________________________________
工具
incidents -事件生命周期管理(6个工具)
query_incidents-使用丰富的数据(时间线、警报、响应者)查询事件create_incident-创建新事件update_incident-更新事件(标题、描述、严重性、自定义字段)ack_incident-确认事件close_incident-关闭(解决)事件list_similar_incidents-查找类似的历史事件
changes -变更记录查询(1个工具)
query_changes-使用筛选器查询更改记录
status_page -状态页面管理(4个工具)
query_status_pages-查询具有完整配置的状态页面list_status_changes-在状态页面上列出更改事件create_status_incident-在状态页面上创建事件create_change_timeline-将时间线更新添加到状态更改中
users -成员和团队查询(2个工具)
query_members-使用可选筛选器查询成员query_teams-查询包含成员详细信息的团队
channels -渠道和升级规则(2个工具)
query_channels-查询具有丰富数据的渠道(团队和创建者姓名)query_escalation_rules-查询渠道的升级规则
fields -自定义字段定义(1个工具)
query_fields-查询自定义字段定义
______________________________________________________________________
图书馆使用情况
该模块导出的Go API当前应被视为不稳定,并可能发生中断更改。未来,我们可能会提供稳定;如果存在有价值的用例,请提交一个问题。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
