Opsgenie MCP服务器
](https://badge.fury.io/js/opsgenie-mcp-server)  ](https://smithery.ai/server/@burakdirin/opsgenie-mcp-server)
提供全面Opsgenie警报管理功能的模型上下文协议(MCP)服务器。
特性
- 完成警报管理:列出、创建、确认和关闭警报
- 警报注释:添加和检索警报注释
- 警报日志:查看警报活动日志
- 自定义详细信息:向警报添加自定义属性
- 多种运输支持:stdio、HTTP和服务器发送事件(SSE)
- 使用TypeScript和官方MCP SDK构建
安装
通过Smithery安装
通过以下方式自动安装Claude Desktop的opsgenie mcp服务器 史密瑟里:
npx -y @smithery/cli install @burakdirin/opsgenie-mcp-server --client claude来自npm(推荐)
npm install -g opsgenie-mcp-server或者添加到您的项目中:
npm install opsgenie-mcp-server来源
git clone https://github.com/burakdirin/opsgenie-mcp-server.git
cd opsgenie-mcp-server
npm install
npm run build用法
运输选项
服务器支持多种传输协议,具有灵活的API密钥配置:
1.标准传输(默认)-用于桌面集成
使用环境变量:
export OPSGENIE_API_KEY="your-api-key-here"
npm run start:stdio
# or
node build/index.js --transport stdio使用CLI参数:
node build/index.js --transport stdio --api-key "your-api-key-here"2.HTTP传输-用于Web应用程序和托管部署
基本HTTP服务器:
# Start HTTP server (API key provided per-request)
npm run start:http
# or
node build/index.js --transport http --port 3000使用环境变量:
export OPSGENIE_API_KEY="your-api-key-here"
node build/index.js --transport http --port 3000HTTP API密钥配置:
使用HTTP传输时,客户端可以通过多种方法提供API密钥:
- 环境变量:
OPSGENIE_API_KEY=your-key - 自定义页眉:
X-Opsgenie-API-Key: your-key - 认证头:
Authorization: Bearer your-key - 查询参数:
?apiKey=your-key
HTTP端点:
- 现代客户:
POST http://localhost:3000/mcp - 传统客户:
GET http://localhost:3000/sse(服务器发送的事件)
3.海关港口
node build/index.js --transport http --port 8080 --api-key "your-api-key-here"命令行选项
opsgenie-mcp-server [options]
Options:
-V, --version output the version number
-t, --transport transport type (stdio|http) (default: "stdio")
-p, --port port number for HTTP transport (default: "3000")
-a, --api-key Opsgenie API key (can also use OPSGENIE_API_KEY env var)
-h, --help display help for command认证
Opsgenie MCP服务器支持多种方式来提供用于身份验证的API密钥:
选项1:环境变量(推荐)
export OPSGENIE_API_KEY="your-api-key-here"
opsgenie-mcp-server --transport stdio选项2:CLI参数
opsgenie-mcp-server --transport stdio --api-key "your-api-key-here"选项3:每个刀具参数(向后兼容)
当直接使用工具时,您仍然可以提供API密钥作为参数:
opsgenie_list_alerts: {"apiKey": "your-api-key-here"}所有Opsgenie API操作都需要API密钥。您可以从您的Opsgenie帐户获得一个:
- 转到Opsgenie设置→ API密钥管理
- 创建具有适当权限的新API密钥
- 使用此键
apiKey所有工具调用的参数
获取您的Opsgenie API密钥
- 登录Opsgenie首选 app.opsgenie.com
- 导航到“设置”:点击您的个人资料图标→ 设置
- API密钥管理:转至“API密钥管理”部分
- 创建新密钥:单击“创建API密钥”
- 设置权限:授予以下权限:
- 配置访问:读取、创建、更新、删除 - 警报:读取、创建、更新、删除 - 事件:读取、创建、更新、删除
- 复制密钥:安全地保存生成的API密钥
使用API密钥
通过改进API密钥处理,您现在有了几个选项:
选项1:通过环境变量全局设置(推荐)
export OPSGENIE_API_KEY="genie-api-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"然后在不指定API密钥的情况下使用工具:
- “列出我最近的Opsgenie警报”
- “为数据库连接失败创建高优先级警报”
- “在警告12345中添加一条注释,说明‘正在调查数据库连接问题’”
选项2:为每个工具提供API密钥(向后兼容)
- “使用API密钥genie-API-xxxxxxxxx-xxxx-xxxxx-xxxxxxxxxxxx列出警报”
- “使用API密钥genie-API-xxxxxxxxx-xxxx-xxxxx-xxxxxxxxxxxx创建警报”
选项3:使用托管服务器(用户提供自己的密钥) 用户使用API密钥配置客户端,所有工具无缝工作:
- “列出我最近的Opsgenie警报”(来自客户端配置的API密钥)
- “创建新的高优先级警报”(来自客户端配置的API密钥)
安全最佳实践
- 永远不要将API密钥提交到版本控制
- 安全存储API密钥(使用环境变量或安全保管库)
- 定期旋转API密钥
- 使用具有最低权限的API密钥
- 监控Opsgenie日志中的API密钥使用情况
安全
- 连接到Opsgenie API时,所有请求都使用HTTPS
- API密钥应安全存储,不得暴露在日志中
- 速率限制由API处理
可用工具
- opsgenie_list_alerts:列出来自Opsgenie的警报及其过滤选项
- opsgenie_create_alert:在Opsgenie中创建新警报
- opsgenie_acknowledge_allent:确认现有警报
- opsgenie_close_alert:关闭警报
- opsgenie_list_alert_notes:列出特定警报的注释
- opsgenie_add_note:在提醒中添加注释
- opsgenie_list_alert_logs:列出警报的活动日志
- opsgenie_add_details:向警报添加自定义详细信息/属性
所有工具都需要一个Opsgenie API密钥进行身份验证。
与Cursor IDE集成
要将此MCP服务器与Cursor IDE一起使用,您可以在本地配置它或连接到托管实例:
本地安装配置
方法1:使用环境变量(推荐)
- 将API密钥设置为环境变量:
export OPSGENIE_API_KEY="your-api-key-here"- 在游标设置中配置:
{
"mcpServers": {
"opsgenie-mcp-server": {
"command": "npx",
"args": ["-y", "opsgenie-mcp-server", "--transport", "stdio"],
"env": {
"OPSGENIE_API_KEY": "your-api-key-here"
}
}
}
}方法2:使用CLI参数
{
"mcpServers": {
"opsgenie-mcp-server": {
"command": "npx",
"args": [
"-y",
"opsgenie-mcp-server",
"--transport", "stdio",
"--api-key", "your-api-key-here"
]
}
}
}托管服务器配置
连接到托管MCP服务器(HTTP传输)时,您可以通过各种方法提供API密钥:
选项1:环境变量
{
"mcpServers": {
"opsgenie-hosted": {
"url": "https://your-server.com/mcp",
"env": {
"OPSGENIE_API_KEY": "your-api-key-here"
}
}
}
}选项2:自定义标题
{
"mcpServers": {
"opsgenie-hosted": {
"url": "https://your-server.com/mcp",
"headers": {
"X-Opsgenie-API-Key": "your-api-key-here"
}
}
}
}选项3:授权标头
{
"mcpServers": {
"opsgenie-hosted": {
"url": "https://your-server.com/mcp",
"headers": {
"Authorization": "Bearer your-api-key-here"
}
}
}
}选项4:查询参数
{
"mcpServers": {
"opsgenie-hosted": {
"url": "https://your-server.com/mcp?apiKey=your-api-key-here"
}
}
}配置文件位置
macOS/Linux: ~/.cursor/mcp.json 视窗: %USERPROFILE%\.cursor\mcp.json
验证
配置后:
- 重新启动游标IDE
- MCP服务器应出现在光标设置的MCP选项卡中
- 您可以通过要求Cursor的AI助手列出Opsgenie警报来验证它是否正常工作
测试提示示例:
- “列出我最近的Opsgenie警报”
- “在Opsgenie中创建数据库连接失败的新警报”
- “显示警报ID 12345的注释”
部署为托管服务
您可以将此MCP服务器部署为托管服务,以允许多个用户使用自己的Opsgenie API密钥进行连接:
Docker部署
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["node", "build/index.js", "--transport", "http", "--port", "3000"]docker build -t opsgenie-mcp-server .
docker run -p 3000:3000 opsgenie-mcp-serverVercel部署
创建一个 vercel.json 文件:
{
"functions": {
"api/mcp.js": {
"runtime": "nodejs18.x"
}
},
"routes": [
{
"src": "/mcp",
"dest": "/api/mcp.js"
}
]
}部署:
vercel deploy铁路部署
创建一个 railway.toml 文件:
[build]
builder = "NIXPACKS"
[deploy]
startCommand = "npm start"
healthcheckPath = "/health"
healthcheckTimeout = 300
restartPolicyType = "ON_FAILURE"
restartPolicyMaxRetries = 10托管服务器的客户端配置
部署后,用户可以通过配置其MCP客户端连接到您的托管服务器:
Claude桌面配置:
{
"mcpServers": {
"opsgenie": {
"url": "https://your-domain.com/mcp",
"headers": {
"X-Opsgenie-API-Key": "user-specific-api-key"
}
}
}
}光标IDE配置:
{
"mcpServers": {
"opsgenie": {
"url": "https://your-domain.com/mcp",
"env": {
"OPSGENIE_API_KEY": "user-specific-api-key"
}
}
}
}这种方法允许您托管多个用户可以连接的单个实例,每个用户都有自己的Opsgenie凭据。
发展
- 使用TypeScript构建
- 使用官方MCP SDK
- 支持现代ES模块
