modelscope·@wpfleger96/pagerduty-mcp-server
一个将PagerDuty API功能暴露给具有结构化输入和输出的大型语言模型(LLMs)的服务器,能够实现对事件、服务、团队和用户的管理。
一个将 PagerDuty API 功能暴露给 LLM 的服务器。该服务器旨在以编程方式使用,具有结构化的输入和输出。
<a href="https://glama.ai/mcp/servers/@wpfleger96/pagerduty-mcp-server"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@wpfleger96/pagerduty-mcp-server/badge" alt="PagerDuty Server MCP 服务器" /> </a>PagerDuty MCP 服务器提供了一组与 PagerDuty API 交互的工具。这些工具设计为由 LLM 使用,以便对 PagerDuty 资源(如事件、服务、团队和用户)执行各种操作。
pip install pagerduty-mcp-server
# Clone the repository
git clone https://github.com/wpfleger96/pagerduty-mcp-server.git
cd pagerduty-mcp-server
# Install dependencies
brew install uv
uv sync
PagerDuty MCP 服务器需要在环境中设置 PagerDuty API 密钥:
PAGERDUTY_API_KEY=your_api_key_here
{
"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
所有 API 响应都遵循一致的格式:
{
"metadata": {
"count": <int>, // Number of results
"description": "<str>" // A short summary of the results
},
<resource_type>: [ // Always pluralized for consistency, even if one result is returned
{
...
},
...
],
"error": { // Only present if there's an error
"message": "<str>", // Human-readable error description
"code": "<str>" // Machine-readable error code
}
}
当发生错误时,响应将包含以下结构的错误对象:
{
"metadata": {
"count": 0,
"description": "Error occurred while processing request"
},
"error": {
"message": "Invalid user ID provided",
"code": "INVALID_USER_ID"
}
}
常见的错误场景包括:
statuses、team_ids)必须包含有效值None 或空字符串list_incidents 中的 statuses,只有 triggered、acknowledged 和 resolved 是有效值urgency,只有 high 和 low 是有效值limit 参数可用于限制列表操作返回的结果数量limit 参数可用于控制列表操作返回的结果数量from pagerduty_mcp_server import incidents
from pagerduty_mcp_server.utils import RESPONSE_LIMIT
# List all incidents (including resolved) for the current user's teams
incidents_list = incidents.list_incidents()
# List only active incidents
active_incidents = incidents.list_incidents(statuses=['triggered', 'acknowledged'])
# List incidents for specific services
service_incidents = incidents.list_incidents(service_ids=['SERVICE-1', 'SERVICE-2'])
# List incidents for specific teams
team_incidents = incidents.list_incidents(team_ids=['TEAM-1', 'TEAM-2'])
# List incidents within a date range
date_range_incidents = incidents.list_incidents(
since='2024-03-01T00:00:00Z',
until='2024-03-14T23:59:59Z'
)
# List incidents with a limit on the number of results
limited_incidents = incidents.list_incidents(limit=10)
# List incidents with the default limit
default_limit_incidents = incidents.list_incidents(limit=RESPONSE_LIMIT)
许多函数接受一个 current_user_context 参数(默认为 True),该参数会根据此上下文自动过滤结果。当 current_user_context 为 True 时,不能使用某些过滤参数,因为它们会与自动过滤冲突:
current_user_context=True 时使用 user_idscurrent_user_context=True 时使用 team_ids 和 service_idscurrent_user_context=True 时使用 team_idscurrent_user_context=True 时使用 team_idscurrent_user_context=True 时使用 user_idsschedule_ids 来按特定时间表过滤请注意,大多数测试需要实际连接到PagerDuty API,因此在运行完整的测试套件之前,您需要在环境中设置 PAGERDUTY_API_KEY。
uv run pytest
仅运行单元测试(即不需要在环境中设置 PAGERDUTY_API_KEY 的测试):
uv run pytest -m unit
仅运行集成测试:
uv run pytest -m integration
仅运行解析器测试:
uv run pytest -m parsers
仅运行与特定子模块相关的测试:
uv run pytest -m <client|escalation_policies|...>
npx @modelcontextprotocol/inspector uv run python -m pagerduty_mcp_server
本项目使用Conventional Commits进行自动化发布。提交消息决定了版本号的增加方式:
feat: → 次要版本 (1.0.0 → 1.1.0)fix: → 修订版本 (1.0.0 → 1.0.1)BREAKING CHANGE: → 主要版本 (1.0.0 → 2.0.0)CHANGELOG.md、GitHub 发布和 PyPI 包都会自动更新。
工具文档 - 关于可用工具的详细信息,包括参数、返回类型和示例查询
一种用于 Grafana 的模型上下文协议(MCP)服务器。 这为您提供了对 Grafana 实例及其周边生态系统的访问。
通过可配置的MCP服务器,启用管理Jenkins操作的功能,例如列出作业、触发构建和检查构建状态。
模型上下文协议(MCP)Jenkins集成是一种开源实现,它根据Anthropic的MCP规范将Jenkins与人工智能语言模型桥接起来。该项目在保持数据隐私和安全的同时,实现了与Jenkins工具的安全、基于上下文的人工智能交互。
通过标准化的Model Context Protocol接口提供对Prometheus指标和查询的访问,允许AI助手执行PromQL查询并分析指标数据。
通过 Model Context Protocol 服务器为 Vue 应用提供应用洞察,公开组件树、状态、路由和 Pinia 数据。
# 翻译 一个通过模型上下文协议提供访问Google Search Console数据的服务器,允许用户检索和分析具有自定义维度和报告周期的搜索分析数据。