事故io-mcp服务器
用于与incident.io API集成的MCP(模型上下文协议)服务器。该服务器通过Claude和其他兼容MCP的AI助手提供事件管理、用户查找和工作流自动化工具。
⚠️ 安全警告
🚨 不要在开放的互联网上运行此服务器🚨
此MCP服务器提供 无身份验证 在其工具API上。任何可以访问服务器的人都可以:
- 列出组织中的所有事件
- 查看敏感事件详细信息
- 创建新事件
- 访问用户信息
- 查看组织数据(严重程度、状态)
安全使用:
- ✅ 仅在localhost/127.0.0.0.1上运行
- ✅ 在本地开发环境中使用
- ✅ 在正确的身份验证/VPN后部署
- ❌ 切勿直接接触互联网
- ❌ 在没有适当网络安全的情况下,切勿在公共云实例上运行
此服务器仅适用于本地开发和安全、经过身份验证的环境。
特性
- 事件管理:列出、查看和创建事件
- 用户查找:搜索并列出组织用户
- 元数据访问:获取事件严重程度和状态
- 安全认证:带有意外的承载令牌身份验证.io API
- 综合测试:具有异步支持的完整测试套件
- 容器运行时灵活性:自动检测和支持Docker和Podman
认证
此MCP服务器使用 承载令牌身份验证 API事件。所有API请求都包含 Authorization: Bearer 用于安全身份验证的标头。
服务器支持多种安全方法来提供API密钥,并自动从加载环境变量 .env 文件,以方便开发。
快速开始
先决条件
- 容器运行时:Docker或Podman(自动检测)
- 编排:docker compose或podman compose
- 制造:通常预装在macOS/Linux上
- API密钥:incident.io API密钥
开发环境设置
- 克隆存储库:
git clone git@github.com:ianchesal/incident-io-mcp-server.git
cd incident-io-mcp-server- 检查容器运行时并构建:
make runtime-info # See which runtime is detected (docker/podman)
make build # Build all containers> 备注Makefile会自动检测您是否安装了Docker或Podman,并使用相应的命令。如果两者都可用,Podman比Docker更受欢迎。
- 安全地配置您的incident.io API密钥:
首先,从 incident.io仪表板.
🔐 安全配置选项(选择一个):
选项A:环境变量(建议用于生产)
export INCIDENT_IO_API_KEY="your_incident_io_api_key_here"选项B:.env文件(建议用于开发)
# Copy the example file and edit with your API key
cp .env.example .env
# Then edit .env with your actual API key选项C:运行时环境变量
# Set the API key when running the server
INCIDENT_IO_API_KEY="your_api_key" python -m src.incident_io_mcp.server⚠️ 安全最佳实践:
- 永远不要将API密钥提交到版本控制 - 在生产环境中使用环境变量 - 定期旋转API键 - 使用最小特权原则 -只使用所需的权限创建API密钥 - 安全存储API密钥 使用贵组织的秘密管理系统
运行MCP服务器
选项1:运行MCP服务器(推荐):
make up选项2:在分离模式下运行:
make up-d选项3:使用自定义环境运行:
INCIDENT_IO_API_KEY=your_api_key make up服务器将启动并监听MCP连接。然后,您可以将其连接到Claude Desktop或其他兼容MCP的客户端。
开发工作流程
启动开发环境:
make dev开放式开发shell:
make shell在容器内运行命令:
# Inside the development container
python -m src.incident_io_mcp.server # Run the server
pytest # Run tests
python -c "import src.incident_io_mcp.server; print('Import successful')" # Test imports停止开发容器:
make down-dev运行测试
运行所有测试:
make test运行覆盖率测试:
make test-cov运行特定测试文件:
make test-file FILE=test_server.py在开发容器中交互式运行测试:
make dev
make shell
# Inside container:
pytest -v调试
访问日志:
make logs # Show logs
make logs-f # Follow logs交互式调试:
# Start development environment and open shell
make dev
make shell
# Inside container - run with debugger
python -m pdb -m src.incident_io_mcp.server可用的生成命令
跑 make help 查看所有可用命令:
make help核心命令:
make runtime-info-显示检测到的容器运行时(docker/podman)make build-构建所有容器make up-启动MCP服务器make up-d-以分离模式启动MCP服务器make dev-启动开发环境make shell-开放式开发shell
测试和质量:
make test-运行所有测试make test-cov-使用覆盖率报告运行测试make test-file FILE=test_server.py-运行特定的测试文件make typecheck-使用mypy运行类型检查make lint-使用flake8运行代码lintingmake security-与土匪和安全人员一起进行安全检查
公用设施:
make logs-查看服务器日志make logs-f-跟踪服务器日志make down-停止所有服务make down-dev-停止开发配置文件make clean-停止并移除所有容器make clean-deep-深度清理:删除所有容器、映像、卷并构建缓存
