mcpField
W
webhook

webhook

本地服务
github.com/rog0x开发工具032 周前更新

关于 webhook

为 AI Agent 提供 Webhook 管理与测试工具的 MCP 服务,支持发送请求、校验签名、生成测试载荷、诊断请求及计算重试计划。

主要功能

  1. 01发送带自定义请求头和正文的 Webhook
  2. 02验证 Stripe、GitHub 和 Slack 签名
  3. 03生成指定服务事件的测试载荷
  4. 04分析请求并检查签名、时间戳和正文
  5. 05计算带退避和抖动的重试计划

适用场景

  1. 01向目标 URL 发送 Webhook 并查看请求结果
  2. 02验证来自 Stripe、GitHub 或 Slack 的签名
  3. 03生成测试事件载荷以调试接收端
  4. 04检查请求问题并规划失败后的重试

MCP 相关

作为 MCP 服务,向 MCP 客户端暴露 Webhook 发送、签名验证、载荷生成、请求诊断和重试计划工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"rog0x-webhook": {
"command": "npx",
"args": [
"-y",
"@rog0x/mcp-webhook-tools"
]
}
}
}
启动命令npx -y @rog0x/mcp-webhook-tools

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

安装包
npm@rog0x/mcp-webhook-tools1.0.2

工具

5

收录的工具列表 · 更新于 3 周前

参数类型必填说明
urlstring是接收 webhook 的目标 URL
bodystring是请求正文(通常为 JSON 字符串)
methodenum否HTTP 方法(默认值:POST)GET | POST | PUT | PATCH | DELETE
headersobject否以键值对形式指定的自定义 HTTP 标头
timeout_msnumber否请求超时时间,单位为毫秒(默认值:10000)
max_retriesnumber否失败时的最大重试次数(默认值:0)
content_typestring否Content-Type 标头(默认值:application/json)
base_delay_msnumber否重试间隔的基础延迟(毫秒,默认值:1000)

详细介绍

mcp-webhook-tools

基于 Model Context Protocol 构建的 Webhook 管理和测试工具,供 AI Agent 使用。

工具

webhook_send

向任意 URL 发送 Webhook 负载,并支持自定义标头、正文和内容类型。支持通过指数退避和抖动自动重试。返回详细的尝试记录,包括状态码、耗时和错误。

webhook_validate

使用 HMAC-SHA256 或 HMAC-SHA1 验证 Webhook 签名。内置以下模式:

  • Stripe — t=TIMESTAMP,v1=SIGNATURE 格式,并支持时间戳容差
  • GitHub — sha256=SIGNATURE 或 sha1=SIGNATURE 格式
  • Slack — 使用 v0=SIGNATURE 格式和 v0:timestamp:body 签名方案

使用时间安全比较来防止时序攻击。

webhook_generate_payload

生成逼真的 Webhook 负载用于测试。支持的事件:

服务事件
Stripepayment_intent.succeeded
GitHubpush、pull_request
Slackmessage

每个负载都包含随机 ID、当前时间戳和建议的标头。使用 overrides 参数自定义特定字段。

webhook_debug

端到端分析 Webhook 请求:

  • 解析并分类标头(content-type、签名、时间戳、投递 ID、自定义标头)
  • 验证请求正文(大小、JSON 有效性、编码)
  • 自动检测提供方(Stripe、GitHub、Slack)
  • 如果提供了密钥,则验证签名
  • 检查时间戳是否足够新(默认阈值为 300s)
  • 报告发现的所有问题
webhook_retry_schedule

使用指数退避计算重试计划。显示每次尝试的延迟时间、累计耗时和计划的 ISO 时间戳。可配置基础延迟、最大延迟上限、乘数和抖动。

设置

npm install
npm run build

MCP 配置

添加到 MCP 客户端配置中:

{
  "mcpServers": {
    "webhook-tools": {
      "command": "node",
      "args": ["path/to/mcp-webhook-tools/dist/index.js"]
    }
  }
}

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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