mcp-host-canary
MCP Host Canary
创建一个一次性的远程 MCP 服务器,将其连接到 Claude、ChatGPT、Cursor 或其他托管主机,并获取一份关于它实际到达的最后一个协议边界的安全回执。
运行一个 30 分钟的金丝雀测试——无需注册或安装 · 查看一份已定稿的示例回执
瀑布流演示

MCP Host Canary 创建一个已知的测试服务器,并且只记录它观察到的协议边界。它区分以下情况:未识别到任何 MCP 流量、不完整的 manifest 响应、返回了工具列表但没有哨兵调用、以及有调用请求但没有注册的回调执行。它仅在现代发现或旧版初始化实际到达时才记录它们。它不会根据未收到的事件推断成功。
MCP Inspector 和 MCPJam 连接服务器进行直接调试。MCP Host Canary 记录已知测试服务器从 Claude、ChatGPT、Cursor 或其他主机观察到的最后一个协议边界。
不保留任何令牌、提示词、请求体、工具参数、IP 地址或原始 User-Agent 字符串。
一份已定稿的回执设计为仅在其一次性端点关闭后才可共享:
profile limits
status finalized
last observed tools/call.executed
tools listed 258
called tool sentinel_257查看一份完整的隐私安全 Markdown 回执。它是一个受控的本地示例,不是托管主机的证据。
从匹配的症状开始:Claude 已连接但工具未显示、已连接但没有工具调用、有 tools/list 但没有 tools/call、258 个工具边界、或 MCP Inspector 与 MCP Host Canary 的对比。
为正常路径创建一个
baseline运行,或为 258 个工具边界创建一个limits运行。仅将临时 MCP URL 提供给你正在测试的托管主机;按照 Claude、ChatGPT 或 Cursor 设置指南 操作。
观察服务器观察到的瀑布流,然后定稿并导出安全回执。
要贡献独立的托管主机观察结果,请遵循安全回执贡献路径。
这是一个实验性的、免费的、单实例试点——不是 MCP 一致性测试套件、安全扫描器、代理或生产网关。重启或免费实例暂停会删除活动运行和回执。
Related MCP server: Local Model Workers MCP
它观察什么
每次运行有两种配置之一:
baseline:三个紧凑的、零输入的工具,用于正常的发现和调用路径。limits:258 个工具,包括位于排序边界的sentinel_257和一个具有 16,385 字节描述的模式边界夹具。
瀑布流只包含观察到的无认证 MCP 事实。它覆盖两个协议时代,而不是要求一个通用序列:
2026-07-28: server/discover? (optional)
2025-11-25 and earlier: initialize.request -> initialize.response -> initialized
tools/list.request -> tools/list.response
tools/call.request -> tools/call.executedMCP 2026-07-28 移除了 initialize / initialized 握手,现代客户端不要求调用 server/discover。较早的修订版本使用握手路径。在可用时,根据观察到的协议版本来解释缺失的发现或初始化;两者都不是现代 tools/list 或 tools/call 观察的先决条件。
请求回执和实际回调执行是分开的观察。只有在 manifest 响应成功生成后才记录工具数量。
初始托管主机证据
初始 limits 运行到达了两个不同的服务器观察边界:Claude Web 获取了 258 个工具的 manifest 但没有哨兵回调;ChatGPT Developer 模式到达了实际的 sentinel_257 回调执行。尝试次数并不一致,因此这些是边界案例说明——不是正面比较的比率、兼容性等级或对主机内部原因的断言。
阅读托管主机边界证据页面了解范围和限制。其机器可读源 managed-host-observations.v1.json 是一个规范化的少量样本摘要,不是一组重建的回执。
托管主机 | 配置 | 保留的操作者协议 | 服务器观察结果 |
Claude Web |
| 直接 ×1;间接 ×1;阴性 ≥1(未保留确切阴性次数) |
|
ChatGPT Developer 模式 |
| 直接 ×3;间接 ×3;阴性 ≥1(未保留确切阴性次数) |
|
Claude Web |
| 显式 |
|
ChatGPT Developer 模式 |
| 未保留确切的 |
|
阴性对照在两次 baseline 运行中都使回调计数保持不变,但其确切的重复次数未被保留。不要根据这四行历史数据计算主机成功率。
复现主机边界
创建一个新的
baseline运行,并使用 Claude、ChatGPT 或 Cursor 设置指南 连接其一次性 URL。在三个新的主机对话中,每个提示词恰好发送一次:直接——
Call canary_ping exactly once and return only its tool result.;间接——Use the connected MCP server to retrieve its fixed canary value without naming a tool yourself. Return only that value.;阴性——Do not use any MCP tool. Reply with exactly: control-only。在每个提示词之后记录回调计数增量。直接或间接增量记录主机调度;阴性增量应保持为零。这些是观察结果,不是通过/失败等级。
对于排序边界,创建一个单独的
limits运行并使用该运行的新一次性 URL 连接主机,并在一个新对话中发送一次:Call sentinel_257 exactly once and return only its tool result.定稿每次运行并导出其安全回执。定稿会禁用一次性 MCP 端点。
相同的精确提示词在运行创建后可作为实时 UI 中的复制操作使用。
如果金丝雀测试产生了可复现的边界,请使用安全支持工单模板或托管主机回执表单。如果它节省了调试时间,请给仓库加星标,以便其他 MCP 开发者能找到它。切勿包含实时能力 URL 或仅所有者可访问的回执 URL。
本地快速开始
使用 Node.js 22.x。
npm ci
npm run typecheck
npm test
npm run build
npm start打开 http://127.0.0.1:4317。本地非生产配置使用仅限开发环境的会话密钥;生产环境在没有显式密钥和 HTTPS 公共 URL 的情况下拒绝启动。
在服务器仍在运行时,从另一个终端使用官方 MCP 客户端执行两个受控的本地运行:
npm run demo演示在一次运行中列出并调用最终的哨兵,然后在另一次运行中列出工具并停止。这验证了回执差异,而不声称与托管主机兼容。
部署隔离试点
Blueprint 会在新加坡创建一个免费实例,生成一个 256 位会话密钥,运行完整的验证构建,并保持自动部署禁用。它使用与公共测试版相同的 30 分钟、50 次运行、仅内存的试点边界。免费计算实例不保证 $0 工作区账单:超出包含带宽或构建管道配额的使用量在启用计费后可能会被收费。在部署前请查看 Render 的免费实例限制、检查工作区使用量,并配置构建管道支出限制。冷启动或重启可能会清除活动运行和回执。
API
所有 /api/* 运行操作都隔离到签名的匿名浏览器会话中。其他所有者收到与缺失运行相同的 404。只有高熵的 /mcp/:id 能力 URL 可以在没有该会话的情况下有意使用。
方法 | 路径 | 用途 | |
|
| 签发或刷新匿名会话 | |
|
| 结束浏览器会话 | |
|
| 创建 `{ "profile": "baseline" | "limits" }` |
|
| 列出当前所有者的运行 | |
|
| 读取仅所有者可访问的运行;支持 | |
| `/api/tests/:id/receipt?format=json | markdown` | 导出安全回执 |
|
| 禁用 MCP 访问并冻结回执 | |
|
| 立即撤销并删除运行 | |
|
| 进程健康 | |
|
| 就绪状态 |
浏览器有条件地轮询最多三个选定的活动运行。当标签页隐藏或运行已定稿或过期时,轮询停止,错误使用指数退避。
试点边界
运行存在于单个进程中,最多 30 分钟后过期。
部署、重启或免费实例暂停会删除活动运行和回执。
最多 50 个活动运行,每个所有者 3 个,每个所有者每小时创建 6 次,全局每小时创建 60 次。
MCP 流量按运行限制;
tools/list有更严格的限制,limits 夹具有一个四次请求的执行信号量。容量压力返回
429或503并带有Retry-After;现有运行永远不会被驱逐以接纳新运行。/api/*请求体限制为 2 KiB,/mcp/*请求体限制为 64 KiB,JSON-RPC 批处理在应用处理前限制为 16 个条目。MCP 订阅和 OAuth 有意缺席。工具是只读的、幂等的,并带有无认证兼容性元数据进行通告。
结果显示此服务器观察到的最后一个边界。它们无法确定封闭主机内部的根本原因。
有关保留字段,请参阅 PRIVACY.md;有关能力 URL 和报告指南,请参阅 SECURITY.md。
生产配置
预期的试点形态是 HTTPS 后面的一个 Node 22.x 进程。在生产环境中:
使用
CANARY_BIND_HOST绑定到0.0.0.0;从
RENDER_EXTERNAL_URL派生公共基础 URL 和允许的主机,或设置服务器支持的显式公共 URL;将
CANARY_SESSION_SECRET设置为至少 32 字节的随机生成值;可选地将
CANARY_INDEXNOW_KEY设置为单独的、随机生成的 8-128 字符 ASCII 字母、数字或连字符值,以公开/<key>.txt用于手动 IndexNow 所有权验证;将 TTL 设置为
1800000毫秒,最大测试数设置为50;保持自动部署禁用,以便源代码推送不会静默清除正在运行的测试。
切勿提交会话密钥或 IndexNow 密钥。仅复制 .env.example 用于本地配置。密钥文件未列在 robots.txt 或站点地图中,此服务不会自动提交 URL。仅当同源公共页面被添加、更新、重定向或删除时,才通知 IndexNow。
命令
npm run typecheck
npm test
npm run build
npm start
npm run demo
npm audit --audit-level=low验证门
本地测试是必要的,但还不够。试点仅在最多七天内满足以下条件时继续:
两个独立的托管主机产生不同的回执;
五名独立开发人员从自己的主机完成一次运行;
两张回执用于真实的支持工单或 GitHub issue;并且
密钥不保留检查持续通过。
如果托管主机连接失败、证据需要保留密钥、用户主要请求代理或自动修复,或者官方工具提供相同的托管主机证据流程,则项目不会扩展。只有在试点证据证明有必要时,才会进行付费托管和版本化发布。
许可证
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceLocal MCP servers that give Claude Code access to other tools mid-session.GPL 3.0
- AlicenseNot gradedqualityAmaintenanceA local MCP server that lets Claude Code and Codex delegate repository exploration and test proposals to a remote LM Studio model, while enforcing security boundaries by keeping all repository access read-only and never applying patches or running commands remotely.1,0621MIT
- AlicenseAqualityBmaintenanceLocal MCP server that lets Claude Code delegate bounded, read-only tasks to external AI models (Codex, Grok, local OpenAI-compatible servers) via CLIProxyAPI.6MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for safely continuing long Claude Code sessions by cleaning transcripts, removing runtime noise, and generating verified resumable sessions with rollback support.MIT
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,
A paid remote MCP for AI agent browser MCP session, built to return verdicts, receipts, usage logs,
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sjh9714/mcp-host-canary'
If you have feedback or need assistance with the MCP directory API, please join our Discord server