mcpField
A
AnyHook

AnyHook

远程服务
anyhook.net开发工具01 周前更新

关于 AnyHook

AnyHook 是面向需要管理 Webhook 集成的 Agent 和开发者的 MCP 服务,提供事件检查与重放,以及签名载荷测试和应用管理。

主要功能

  1. 01列出应用并创建 Webhook 端点
  2. 02检查并筛选传入事件
  3. 03重放单个或失败的投递
  4. 04生成签名测试载荷
  5. 05验证 Webhook 签名
  6. 06列出支持的提供方

适用场景

  1. 01排查生产环境中未送达的事件
  2. 02重试失败的 Webhook 投递
  3. 03用签名载荷测试本地处理程序
  4. 04检查签名被拒的原因

MCP 相关

它将 AnyHook 应用、事件、重放、模拟、验证和提供方操作作为 MCP 工具提供。可在本地运行,也可连接托管端点 https://anyhook.net/mcp。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://anyhook.net/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmanyhook-mcp0.4.0

工具

12
参数类型必填说明
dataobject否要深度合并到 fixture 中的可选字段。
eventstring是事件名称(例如 Stripe 的 'payment_intent.succeeded')。
secretstring否签名密钥。若未设置,则使用各 provider 对应的确定性默认值。
providerenum是要模拟的 webhook provider。stripe | github | slack
targetUrlstring否如果设置了此项,则将生成的请求 POST 到此 URL 并返回响应。

详细介绍

anyhook-mcp

一个 MCP 服务,让 AI Agent 能查看 Webhook、检查事件、重放投递、模拟带签名的负载以及创建应用。专为 45-second AI handler 工作流设计。

Apache 2.0 · npm i -g anyhook-mcp


已有 AnyHook 账号?

连接托管端点,无需运行任何程序:将 https://anyhook.net/mcp 添加到 Claude Code、claude.ai、Codex 或 VS Code,然后通过浏览器登录,无需复制密钥。 各应用的操作步骤见:https://anyhook.net/mcp。

尚无账号(本地模式)

启动时无需 API 密钥:

claude mcp add anyhook -- npx -y anyhook-mcp

然后让你的 Agent 运行 anyhook_quickstart,它会立即创建一个免费的中继端点和 API 密钥(无需注册),并自动连接到此 MCP 会话。 所有账号工具(事件、重放、应用)都可立即使用。响应中包含一个 claim_url,用于永久保留端点;如果不认领,端点将在 7 天后过期。 这是一个新端点,并非你已有的账号。

功能

将此 MCP 服务添加到 Claude Desktop / Cursor / Claude Code 后,你的 Agent 可以:

  • anyhook_apps_list,查看 AnyHook 账号中的所有应用及其入站 URL
  • anyhook_apps_create,根据提示词创建新应用
  • anyhook_connect,提供 Stripe 密钥或 GitHub 令牌:Webhook 会在服务提供方注册,并从第一个事件起验证签名(不会存储密钥)
  • anyhook_events,列出近期事件,并按应用 / 状态筛选
  • anyhook_inspect,获取单个事件的请求头、正文和签名状态
  • anyhook_replay,将已存储事件重新发送到其目标地址(不计入月度配额,但受每日重放次数限制;因配额而暂存的事件会被视为新事件)
  • anyhook_undelivered,列出未能送达任何目标地址的事件
  • anyhook_replay_failed,批量重放某个应用的所有失败事件
  • anyhook_mock,生成带签名的 Stripe / GitHub / Slack 负载,用于本地处理程序测试
  • anyhook_verify,使用你的密钥验证任何传入签名
  • anyhook_providers,列出 AnyHook 支持的所有 Webhook 服务提供方

应用提供的入站 URL 可接收 Webhook POST 请求,也会自动响应服务提供方的设置握手:即使应用尚未配置,Meta 的 GET 请求只要携带 hub.mode=subscribe,该 URL 就会回传其 hub.challenge,因此可先在 Meta App Dashboard 中注册该 URL,之后再完成连接。

两种模式:

模式适用情况可用功能
remote已设置 ANYHOOK_API_KEY上述所有工具均可使用,并直接连接你的 AnyHook 账号
local未设置 API 密钥服务提供方工具包(mock / verify / providers)以及可模拟事件的内存存储。适合在注册前试用。

快速开始

npm install -g anyhook-mcp
# or run without installing
npx -y anyhook-mcp

从 https://anyhook.net/dashboard/settings 获取 API 密钥。密钥以 ahk_live_ 开头。


在 Claude Desktop 中安装

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "anyhook": {
      "command": "npx",
      "args": ["-y", "anyhook-mcp"],
      "env": {
        "ANYHOOK_API_KEY": "ahk_live_xxxxxxxx"
      }
    }
  }
}

重启 Claude Desktop。工具会显示在锤子图标下。


在 Cursor 中安装

打开 Settings → MCP → Add new MCP server。或者编辑 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "anyhook": {
      "command": "npx",
      "args": ["-y", "anyhook-mcp"],
      "env": {
        "ANYHOOK_API_KEY": "ahk_live_xxxxxxxx"
      }
    }
  }
}

在 Claude Code 中安装

claude mcp add anyhook -e ANYHOOK_API_KEY=ahk_live_xxxxxxxx -- npx -y anyhook-mcp

或者将相同的 mcpServers 条目添加到项目的 .mcp.json 中。


远程端点(无需本地进程)

同一服务托管在 https://anyhook.net/mcp(可流式传输的 HTTP, 无状态)。Claude Code、claude.ai、Codex 和 VS Code 可通过浏览器(OAuth)登录,无需复制密钥:https://anyhook.net/mcp 提供了 各应用的操作步骤。其他客户端需使用控制面板中的密钥,并发送 Authorization: Bearer ahk_live_...:

{ "mcpServers": { "anyhook": { "url": "https://anyhook.net/mcp", "headers": { "Authorization": "Bearer ahk_live_..." } } } }

该端点不提供 anyhook_quickstart:此工具仅在本地模式下可用。


仅本地模式(无需账号)

跳过环境变量:

{
  "mcpServers": {
    "anyhook": {
      "command": "npx",
      "args": ["-y", "anyhook-mcp"]
    }
  }
}

Agent 可使用 anyhook_mock、anyhook_verify、anyhook_providers、anyhook_simulate、anyhook_events(针对内存存储)和 anyhook_inspect(针对内存存储)。适用于本地开发期间的流程,例如“为我生成一个已签名的 Stripe payment_intent.succeeded 事件,并将其 POST 到 localhost:3000”。


对话示例

排查故障端点:

“显示过去一小时内 stripe-prod 应用的未送达事件,然后重新发送。”

Agent 调用 anyhook_undelivered,然后对每个事件调用 anyhook_replay,并直接展示响应。

为新的集成创建应用:

“创建一个名为 replicate-video-jobs 的新 AnyHook 应用,来源为 generic,将其指向 https://my-app.vercel.app/api/replicate-callback。”

调用 anyhook_apps_create,并返回你可以粘贴到 Replicate 的入站 URL。

检查签名验证失败:

“这是 AnyHook 拒绝的 Stripe 入站负载。请使用密钥 whsec_xxx 手动验证签名。”

调用 anyhook_verify,并传入提供的标头、请求体和密钥,返回 valid: false 以及失败原因。

为本地测试模拟 Webhook:

“生成一个 Stripe payment_intent.succeeded 事件,并将其 POST 到 http://localhost:3000/api/webhooks/stripe。”

调用 anyhook_mock 并设置 targetUrl;返回已发送的请求以及你的处理程序的响应。


环境变量

变量必需默认值用途
ANYHOOK_API_KEY远程模式必需-来自 https://anyhook.net/dashboard/settings 的 ahk_live_*
ANYHOOK_API_BASE否https://anyhook.net覆盖可自托管 AnyHook 部署的地址

为什么这很有意思

AI Agent 一直无法了解自身的 Webhook 基础设施。它们可以编写集成代码,但一旦生产环境中的事件出现异常,它们就无法查看,只能由你告诉它们发生了什么。借助这个 MCP 服务,Claude / Cursor 可以读取实际事件日志、重新发送投递、调试签名验证失败,甚至创建新应用。它打通了编写 Webhook 代码与实际运维之间的闭环。


许可证

Apache-2.0 © AnyHook

评论

支持 Markdown

第一次接触 MCP?

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

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