关于 Watchdog
Watchdog 是供 Agent 使用的 MCP 服务,可检查 Solana 程序、EVM 合约、依赖项和公开代码库。检查通过 x402 付费,并可设置单次及进程预算;结果是检查而非审计。
主要功能
- 01检查 Solana 程序升级权限
- 02查看 EVM 合约控制权
- 03检查锁文件或包列表中的安全公告
- 04扫描公开的 Rust/Anchor 或 Solidity 代码库
- 05监控程序、合约或锁文件变更
- 06设置付款上限并查看支出
适用场景
- 01签署前确认谁能替换 Solana 程序
- 02存入资金前查看合约升级控制权
- 03添加依赖项前检查安全公告
- 04发布前扫描公开代码库
MCP 相关
向 MCP 客户端提供安全检查、扫描、监控和钱包状态工具。适用调用通过 x402 以 USDC 付费。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y watchdog-mcpWATCHDOG_SOLANA_PRIVATE_KEY密钥Base58 key of a dedicated Solana wallet holding a little USDC, to pay Solana Watchdog calls. Optional.WATCHDOG_EVM_PRIVATE_KEY密钥Hex key of a dedicated Base wallet holding a little USDC, to pay EVM Watchdog calls. Optional.WATCHDOG_BUDGET_USDMaximum total spend per server process, in USD. Default 5.WATCHDOG_MAX_PER_CALL_USDMaximum single payment, in USD. Default 1.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
8收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| programId | string | 是 | 程序地址,base58 格式 |
详细介绍
watchdog-mcp
面向 Solana Watchdog 和 EVM Watchdog 的 MCP 服务。它为 Agent 提供所需的安全检查,让 Agent 在做出决定时及时检查:在签署程序前、批准合约前、添加依赖前。每次付费调用仅需几美分的 USDC,并会通过 x402 从你提供的钱包中自动付款,且受你设置的限额约束。
结果是检查,不是审计。
工具
| 工具 | 用途 | 价格 |
|---|---|---|
solana_program_authority | 在签署 Solana 程序前:谁可以替换其代码(单个密钥、带阈值和时间锁的 Squads 多签、DAO、不可变)、最近一次部署、已验证构建、security.txt | $0.05(Solana) |
evm_contract_control | 在 Base / Robinhood Chain 上批准或存入资金前:代理类型、当前实现、谁控制升级和所有权(密钥、Safe、时间锁)、Sourcify 验证 | $0.05(Base) |
dependency_advisories | 在添加依赖前:检查磁盘上的 Cargo.lock、package-lock.json 或 yarn.lock,或依赖包列表中的安全公告 | $0.01 |
scan_repo | 在发布前:全面扫描公开的 GitHub 仓库(Rust/Anchor 或 Solidity) | $0.50 |
get_scan_report | 扫描状态和报告 | 免费 |
watch_create | 当程序、合约或锁文件发生变化时,通过签名 webhook 接收为期 30 天的提醒 | $0.90 |
watch_status | 查看监控事件,或取消监控 | 免费 |
watchdog_wallet | 查看已设置的钱包、限额和支出情况 | 免费 |
不持有程序或合约的地址不会收费。只有在依赖检查得出结果后,才会结算费用。
安装
Claude Code:
claude mcp add watchdog \
-e WATCHDOG_SOLANA_PRIVATE_KEY=<base58 key of a Solana wallet holding a little USDC> \
-e WATCHDOG_EVM_PRIVATE_KEY=<hex key of a Base wallet holding a little USDC> \
-- npx -y watchdog-mcp
Claude Desktop、Cursor 和其他客户端(mcpServers JSON):
{
"mcpServers": {
"watchdog": {
"command": "npx",
"args": ["-y", "watchdog-mcp"],
"env": {
"WATCHDOG_SOLANA_PRIVATE_KEY": "…",
"WATCHDOG_EVM_PRIVATE_KEY": "…",
"WATCHDOG_BUDGET_USD": "5"
}
}
}
}
从本仓库克隆后,运行 scripts/add-to-claude-code.sh 即可自动完成 Claude Code 的配置步骤:脚本会从剪贴板读取 Solana 密钥,在不打印密钥的情况下进行检查,并注册 MCP 服务。
两把密钥都是可选的。如果未提供某条链的密钥,该链的工具会返回价格和付款方式,而不是检查结果。
请使用专用钱包,其中只存放你愿意用于支付检查费用的资金。无需 SOL 或 ETH:x402 结算方会支付网络费用。
配置
| 变量 | 默认值 | |
|---|---|---|
WATCHDOG_SOLANA_PRIVATE_KEY | 无 | Solana 钱包,base58 格式(与 Phantom 导出的格式相同) |
WATCHDOG_EVM_PRIVATE_KEY | 无 | Base 钱包,十六进制格式 |
WATCHDOG_MAX_PER_CALL_USD | 1 | 拒绝任何超过此金额的单笔付款 |
WATCHDOG_BUDGET_USD | 5 | 拒绝超出此服务器进程累计预算的付款 |
WATCHDOG_SOLANA_RPC_URL | 公共主网 | 用于构建 Solana 付款的 RPC |
钱包保护措施
每笔付款在签署前都会经过检查:
- 付款必须发送至该服务的 Watchdog 商户钱包,使用 USDC,并在预期网络上进行。若 MCP 服务要求将款项支付至其他地址,付款将被拒绝;
- 付款金额必须低于单次调用限额和剩余会话预算;
- 扫描和监控访问令牌只会发送回签发该令牌的 Watchdog。
密钥绝不会出现在工具输出或错误信息中,即使密钥格式错误或属于错误的链也不例外。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。