这是一个用 GoLang 实现的 incident.io 的 MCP(模型上下文协议)服务器,提供了与 incident.io API 交互的全面工具。按照行业标准的 Go 项目布局模式构建。
⚠️ 公平警告! ⚠️
本仓库主要由我们的首席营销官和一位有进取心的解决方案工程师使用可疑的编码实践但无可否认的热情构建。未经支持且风险自负!🚀
# 克隆仓库
git clone https://github.com/incident-io/incidentio-mcp-golang.git
cd incidentio-mcp-golang
# 设置环境
cp .env.example .env
# 编辑 .env 并添加你的 incident.io API 密钥
# 构建并运行
go build -o bin/mcp-server ./cmd/mcp-server
./start-mcp-server.sh
在你的 Claude Desktop 配置中添加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"incidentio": {
"command": "/path/to/incidentio-mcp-golang/start-mcp-server.sh",
"env": {
"INCIDENT_IO_API_KEY": "your-api-key"
}
}
}
}
或者,如果你希望在 Docker 中运行一切:
{
"mcpServers": {
"incidentio": {
"command": "docker-compose",
"args": ["-f", "/path/to/docker-compose.yml", "run", "--rm", "-T", "mcp-server"],
"env": {
"INCIDENT_IO_API_KEY": "your-api-key"
}
}
}
}
list_incidents - 列出事件,可选过滤条件get_incident - 获取特定事件的详细信息create_incident - 创建新事件update_incident - 更新现有事件close_incident - 按照正确的工作流程关闭事件create_incident_update - 向事件发布状态更新list_follow_ups - 列出跟进,可选过滤条件get_follow_up - 获取特定跟进的详细信息list_alerts - 列出告警,可选过滤条件get_alert - 获取特定告警的详细信息list_incident_alerts - 列出事件和告警之间的连接create_alert_event - 创建告警事件list_alert_routes - 列出和管理告警路由list_workflows - 列出可用工作流get_workflow - 获取工作流详细信息update_workflow - 更新工作流配置list_users - 列出组织用户list_available_incident_roles - 列出可用事件角色assign_incident_role - 为用户分配角色list_catalog_types - 列出可用目录类型list_catalog_entries - 列出目录条目update_catalog_entry - 更新目录条目list_custom_fields - 列出所有自定义字段get_custom_field - 获取特定自定义字段的详细信息search_custom_fields - 按名称或类型搜索自定义字段create_custom_field - 创建新的自定义字段update_custom_field - 更新自定义字段配置delete_custom_field - 删除自定义字段list_custom_field_options - 列出所有自定义字段选项create_custom_field_option - 向选择字段添加新选项# 通过 Claude 或其他 MCP 客户端
"显示所有活跃事件"
"创建一个名为 '数据库性能下降' 的新事件,严重程度高"
"列出事件 INC-123 的告警"
"将 John Doe 分配为事件 INC-456 的负责人"
"更新支付服务目录条目,添加新的团队信息"
"显示在 incident.io 中配置的所有自定义字段"
"搜索与 '优先级' 相关的自定义字段"
"创建一个新的名为 '根本原因' 的单选自定义字段"
此项目遵循行业标准的 Go 项目布局:
├── cmd/mcp-server/ # 主应用程序入口点
├── internal/
│ ├── client/ # incident.io API 客户端(HTTP 层)
│ ├── handlers/ # MCP 协议处理器(适配层)
│ └── server/ # MCP 服务器编排
├── pkg/mcp/ # 公共 MCP 类型
└── docs/ # 文档
设计理念:
internal/client: 用于 incident.io 的纯 HTTP API 客户端 - 可重用、可测试internal/handlers: MCP 协议适配器 - 将 MCP 请求转换为 API 调用internal/server: 负责编排处理器并管理协议的 MCP 服务器incident_id 作为参数名称通过设置环境变量启用调试日志:
export MCP_DEBUG=1
export INCIDENT_IO_DEBUG=1
./start-mcp-server.sh
欢迎贡献!请参阅我们的 开发指南 以获取关于设置、测试和贡献指南的详细信息。
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。