
PagerDuty MCP Server

2025.04.16
0
PythonPagerDuty API事件管理团队协作服务监控交流协作
PagerDuty MCP Server 是一个将 PagerDuty API 功能暴露给 LLMs(大型语言模型)的服务器。它设计用于编程方式使用,具有结构化的输入和输出。该服务器提供了一系列工具,用于与 PagerDuty API 交互,包括管理事件、服务、团队和用户等资源。
View on GitHub
Overview
基本能力
产品定位
PagerDuty MCP Server 是一个中间件服务器,旨在为 LLMs 提供与 PagerDuty API 交互的能力,简化对 PagerDuty 资源的管理和操作。
核心功能
- PagerDuty API 交互:提供对 PagerDuty 资源(如事件、服务、团队、用户)的编程访问。
- 结构化输入输出:所有 API 响应遵循一致的 JSON 格式,便于解析和处理。
- 错误处理:提供详细的错误信息,包括错误消息和代码。
- 参数验证:自动验证输入参数,确保符合 PagerDuty API 的要求。
- 速率限制和分页:自动处理 PagerDuty 的速率限制和分页,简化大规模数据获取。
- 用户上下文:支持基于当前用户上下文的自动过滤,简化权限管理。
适用场景
- 事件管理:查询和管理 PagerDuty 事件,包括活动事件和历史事件。
- 团队协作:管理团队和成员,查询团队成员的状态和职责。
- 服务监控:监控和管理 PagerDuty 服务,获取服务的状态和配置。
- 自动化工作流:集成到自动化工作流中,实现事件响应和通知的自动化。
工具列表
- incidents:管理 PagerDuty 事件,包括查询、创建和更新事件。
- services:管理 PagerDuty 服务,包括查询和更新服务配置。
- teams:管理 PagerDuty 团队,包括查询和更新团队成员。
- users:管理 PagerDuty 用户,包括查询用户信息和状态。
常见问题解答
- 如何设置 API 密钥?:通过环境变量
PAGERDUTY_API_KEY
设置。 - 如何处理错误?:检查返回的
error
对象,获取详细的错误消息和代码。 - 如何限制返回结果数量?:使用
limit
参数控制返回结果的数量。 - 如何查询特定时间范围内的事件?:使用
since
和until
参数指定时间范围。
使用教程
使用依赖
- Python 3.13 或更高版本:确保系统已安装 Python 3.13 或更高版本。
- PagerDuty API 密钥:获取有效的 PagerDuty API 密钥。
安装教程
从 PyPI 安装
pip install pagerduty-mcp-server
从源码安装
# 克隆仓库
git clone https://github.com/wpfleger96/pagerduty-mcp-server.git
cd pagerduty-mcp-server
# 安装依赖
brew install uv
uv sync
配置
设置 PagerDuty API 密钥环境变量:
export PAGERDUTY_API_KEY=your_api_key_here
使用方式
作为 Goose 扩展
{
"type": "stdio",
"enabled": true,
"args": [
"run",
"python",
"-m",
"pagerduty_mcp_server"
],
"commandInput": "uv run python -m pagerduty_mcp_server",
"timeout": 300,
"id": "pagerduty-mcp-server",
"name": "pagerduty-mcp-server",
"description": "pagerduty-mcp-server",
"env_keys": [
"PAGERDUTY_API_KEY"
],
"cmd": "uv"
}
作为独立服务器运行
uv run python -m pagerduty_mcp_server
调试方式
运行测试
uv run pytest
仅运行单元测试
uv run pytest -m unit
仅运行集成测试
uv run pytest -m integration
仅运行解析器测试
uv run pytest -m parsers
使用 MCP Inspector 调试服务器
npx @modelcontextprotocol/inspector uv run python -m pagerduty_mcp_server