mcpField
W
WardenPoint

WardenPoint

本地服务
wardenpoint.com云与基础设施011 周前更新

关于 WardenPoint

WardenPoint 的 MCP 服务让 Agent 通过账户自身的 OpenAPI 描述配置联系人、通知规则、升级策略和排班。工具定义随安装版本动态读取,并可按名称筛选。

主要功能

  1. 01管理联系人、群组和通知规则
  2. 02配置升级策略与值班排班
  3. 03设置告警来源与路由规则
  4. 04按 OpenAPI 描述生成工具
  5. 05筛选提供给 Agent 的工具

适用场景

  1. 01配置值班人员和升级流程
  2. 02调整告警来源及通知路由
  3. 03让 Agent 解读现有账户配置

MCP 相关

这是一个通过 stdio 提供工具的 MCP 服务。它从 WardenPoint 安装实例的 OpenAPI 描述生成工具,并调用该实例的 API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wardenpoint-wardenpoint": {
"command": "npx",
"args": [
"-y",
"@wardenpoint/mcp-server"
],
"env": {
"WARDENPOINT_BASE_URL": "<WARDENPOINT_BASE_URL>",
"WARDENPOINT_API_TOKEN": "<WARDENPOINT_API_TOKEN>",
"WARDENPOINT_TIMEOUT_MS": "<WARDENPOINT_TIMEOUT_MS>",
"WARDENPOINT_ALLOW_INSECURE_TLS": "<WARDENPOINT_ALLOW_INSECURE_TLS>"
}
}
}
}
启动命令npx -y @wardenpoint/mcp-server
需要配置的环境变量
WARDENPOINT_BASE_URLOrigin of your WardenPoint installation, without a trailing slash and without /api/v1 — e.g. https://wardenpoint.com. The server reads the API description from it at startup, so the tools always match the version you actually run.
WARDENPOINT_API_TOKEN密钥A company API key from Dashboard → Integrations → API keys. Abilities are chosen when you issue it; read-only is a good place to start. Not needed for --list-tools.
WARDENPOINT_TIMEOUT_MSPer-request timeout in milliseconds. Defaults to 30000.
WARDENPOINT_ALLOW_INSECURE_TLSSet to 1 to skip certificate verification. Development stands only — never against production.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@wardenpoint/mcp-server0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

WardenPoint MCP 服务

一个 MCP 服务,可让 Agent 配置 WardenPoint 账户——收件人、联系人、群组、 通知规则、升级策略、值班安排、告警来源集成、路由规则和电话服务—— 而无需任何人打开仪表板。

它通过 stdio 通信,并为你所用安装版本的 OpenAPI 描述中的每项操作 提供一个工具。

{
  "mcpServers": {
    "wardenpoint": {
      "command": "npx",
      "args": ["-y", "@wardenpoint/mcp-server"],
      "env": {
        "WARDENPOINT_BASE_URL": "https://wardenpoint.com",
        "WARDENPOINT_API_TOKEN": "acb_xxxxxxxx.xxxxxxxx"
      }
    }
  }
}

安装到此为止。你的 MCP 客户端会按需启动该服务; 会话之间不会有任何进程运行。

本服务存在的唯一准则

这里不会维护第二份 API 契约。

每项工具——它的名称、文本、参数、参数描述、枚举值和范围,以及它能返回的响应—— 都会在启动时从你正在配置的安装实例所提供的 OpenAPI 描述中读取(GET {WARDENPOINT_BASE_URL}/docs)。本软件包不会复述 API 的任何内容。

这是有意为之,也正因如此,工具不会悄然偏离实际 API:

  • 安装实例新增的端点会在服务下次启动时显示为工具——无需升级软件包;
  • 上游改写描述时,Agent 的指令也会随之改写;
  • 未被描述的操作对 Agent 不可见,这是正确的失败方式,也是 --spec-report 存在的原因。

软件包内附带的描述,只会反映发布软件包时的现状,而 Agent 实际连接的是你运行的实例。 出于同样的原因,这里没有离线回退:此处的每项工具都是对该安装实例的 HTTP 调用; 如果无法连接,完整的工具列表也只会列出无法执行的操作。

要求

Node 20 或更高版本。无需构建步骤,也没有原生模块。

环境变量

变量必需说明
WARDENPOINT_BASE_URL是安装实例的源地址——末尾不要加斜杠,也不要加 /api/v1 后缀。描述中包含完整路径。
WARDENPOINT_API_TOKEN调用时需要Dashboard → Integrations → API keys 中的公司 API 密钥。通过 X-API-Key 发送。运行 --list-tools 或 --spec-report 时不需要。
WARDENPOINT_ALLOW_INSECURE_TLS否1 会禁用证书验证。仅限开发环境——绝不可用于生产环境。
WARDENPOINT_TIMEOUT_MS否每次请求的超时时间,默认值为 30000。
WARDENPOINT_TOOLS否用逗号分隔的模式,用于限制可用工具,例如 recipients,groups 或 v1_schedules_*。未设置时,提供所有工具。
WARDENPOINT_OPENAPI_PATH否从本地文件读取描述,而非从安装实例读取。适用于基于尚未部署的描述进行开发。

每次启动时都会从环境中读取令牌,本软件包绝不会将其写入任何位置。

密钥允许执行的操作

签发密钥时会选择其权限,缺少权限时,403 错误会指出具体缺少哪项:

  • config.read — 读取全部配置。适合从这里开始:Agent 可以解释他人创建的账户配置,但不会做任何更改。
  • config.write — 创建、更新、删除。
  • notifications.send / notifications.read — 触发告警并查看告警。

任何权限都无法读取密钥。 权限体系中没有这种权限,因此不可能误授。API 只会报告凭据是否已设置以及是否验证通过——绝不会返回凭据值。

工具列表的成本

每个工具定义都会在用户说话之前发送给模型,因此无论对话是否涉及 WardenPoint,这部分开销都会产生。完整的 89 个工具集约占 64k 个 token——在 200k 的上下文窗口中,占了三分之一。

服务会在启动时打印这个数值,让这项开销清晰可见:

wardenpoint-mcp-server: 89 tools (~63k tokens of context; narrow it with WARDENPOINT_TOOLS) from …

如果某个会话只会用到产品的一部分功能,可以明确指定:

"env": { "WARDENPOINT_TOOLS": "recipients,groups,schedules" }

这样同一次运行就会减少到少数几个工具和几千个 token。匹配模式针对工具名称(v1_recipients_store),也支持 *。如果不设置,就会启用所有工具,这是安全的默认值:某个工具悄然消失,看起来就像产品缺少了某项能力。

运行

npx -y @wardenpoint/mcp-server --list-tools     # every tool, with its arguments
npx -y @wardenpoint/mcp-server --spec-report    # gaps in the description itself

两种方式都会访问 WARDENPOINT_BASE_URL 来获取描述;都不需要令牌。不带参数时,进程会通过标准输入输出流使用 MCP,设计用途是由客户端启动,而不是手动启动。

两种凭据,以及它们为何不能互换

  • API 密钥(WARDENPOINT_API_TOKEN)——用于标识你的身份。每个配置工具都会使用它。
  • 集成密钥——用于证明特定警报来源的 Webhook 是真实的。有两个工具会将它作为参数接受;它不会从环境中读取,也不会在此处存储。

此服务刻意无法执行的操作

设置账户时有两个步骤需要人在屏幕前操作,而且这是有意为之:

  • 扫描 Telegram 二维码。
  • 输入服务提供商密钥。

对于每个步骤,Agent 都会请求安装程序生成一次性链接,将链接展示给用户,并轮询操作结果。用户会在自己的登录状态下打开控制面板中的该链接,并自行输入值。如果要求 Agent 在对话中转发密钥,Agent 会拒绝——这正是设置该链接的目的。

错误会原样传达给 Agent

API 会花费不少精力说明拒绝原因——缺少了哪项能力、哪个字段未通过验证、为何没有任何内容进入发送队列。此服务会完整传递响应正文,无论成功还是失败,因为 Agent 只能依靠这些文本来修复自身。

许可证

MIT。请参阅 LICENSE。

问题反馈和贡献:https://github.com/WardenPoint/wardenpoint-mcp。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。