PagerDuty MCP Server

PagerDuty MCP Server

site icon
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 资源的管理和操作。

核心功能

  1. PagerDuty API 交互:提供对 PagerDuty 资源(如事件、服务、团队、用户)的编程访问。
  2. 结构化输入输出:所有 API 响应遵循一致的 JSON 格式,便于解析和处理。
  3. 错误处理:提供详细的错误信息,包括错误消息和代码。
  4. 参数验证:自动验证输入参数,确保符合 PagerDuty API 的要求。
  5. 速率限制和分页:自动处理 PagerDuty 的速率限制和分页,简化大规模数据获取。
  6. 用户上下文:支持基于当前用户上下文的自动过滤,简化权限管理。

适用场景

  1. 事件管理:查询和管理 PagerDuty 事件,包括活动事件和历史事件。
  2. 团队协作:管理团队和成员,查询团队成员的状态和职责。
  3. 服务监控:监控和管理 PagerDuty 服务,获取服务的状态和配置。
  4. 自动化工作流:集成到自动化工作流中,实现事件响应和通知的自动化。

工具列表

  1. incidents:管理 PagerDuty 事件,包括查询、创建和更新事件。
  2. services:管理 PagerDuty 服务,包括查询和更新服务配置。
  3. teams:管理 PagerDuty 团队,包括查询和更新团队成员。
  4. users:管理 PagerDuty 用户,包括查询用户信息和状态。

常见问题解答

  1. 如何设置 API 密钥?:通过环境变量 PAGERDUTY_API_KEY 设置。
  2. 如何处理错误?:检查返回的 error 对象,获取详细的错误消息和代码。
  3. 如何限制返回结果数量?:使用 limit 参数控制返回结果的数量。
  4. 如何查询特定时间范围内的事件?:使用 sinceuntil 参数指定时间范围。

使用教程

使用依赖

  1. Python 3.13 或更高版本:确保系统已安装 Python 3.13 或更高版本。
  2. 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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。