Nominal MCP Server
Nominal MCP Server
一个用于 Nominal 硬件测试平台的 MCP 服务器。无需离开编辑器,即可从 Claude Code、Cursor 或任何 MCP 客户端拉取测试数据、检查遥测通道、运行分析并写回结果。
实现 MCP 2026-07-28(当前修订版),并向后兼容 2025-11-25、2025-06-18、2025-03-26 和 2024-11-05。
10 tools · 467 API operations reachable · 2,992 tokens of tools/list · OAuth 2.1快速开始
目前还没有公共实例在运行。 大约两分钟即可部署你自己的实例—— 它在 Cloudflare 的免费套餐上运行得很轻松。
部署它
git clone https://github.com/elirapport1/nominal-mcp && cd nominal-mcp && npm ci
npx wrangler login
npx wrangler kv namespace create OAUTH_KV # paste the id into wrangler.toml
openssl rand -base64 32 | npx wrangler secret put TOKEN_SECRET
openssl rand -base64 32 | npx wrangler secret put HANDLE_SECRET
npx wrangler deploy连接到它
claude mcp add --transport http nominal https://<your-worker>.workers.dev/mcp浏览器窗口会打开。粘贴你自己的 Nominal API 密钥(Nominal 应用 → 设置 → API 密钥)。 该密钥会被加密成一个限定于此服务器的访问令牌,并且永远不会以明文存储。 对 Nominal 的每个请求都使用你的凭据发出,因此连接所能看到的内容绝不会超过你账户本身所能看到的范围。
或者通过 stdio 运行它
NOMINAL_API_KEY=<key> \
NOMINAL_MCP_URL=https://<your-worker>.workers.dev/mcp \
npx github:elirapport1/nominal-mcp(直接从仓库运行——没有发布到 npm,所以直接使用
npx nominal-mcp 无法解析。)
如果你的 Nominal 不是 GovCloud 部署,还需要设置 NOMINAL_BASE_URL——
商业版是 https://api.nominal.io/api,并且接受 *.nominal.io 下的私有云和本地部署主机。
根据 MCP 认证规范,stdio 服务器从环境变量中读取凭据,而不是运行 OAuth 流程。不会向磁盘写入任何内容。
Related MCP server: Apollo Universal MCP Server
你可以要求什么
“找到发动机 A 上最近一次热试车运行,并告诉我燃烧室压力是否曾超过 900 psi。”
“比较第 14 次和第 15 次运行之间的阀门指令延迟。”
“在此次运行的 T+4.2s 处标记一个事件,并将其标注为
anomaly。”
工具
Tool | 功能 |
| 搜索资产、运行、数据集、工作簿、检查清单、事件、视频 |
| 将 |
| 按时间窗口列出某个资产的运行,最新的在前 |
| 运行/数据集上的通道,包含单位、类型、标签 |
| 最多 10 个通道的统计信息 + 抽稀后的轨迹 |
| 对某个通道计算一个聚合值,在服务端完成 |
| 全分辨率数据的预签名 URL |
| 创建事件、评论或运行元数据 |
| 按关键字查找 467 个 API 操作中的任意一个 |
| 执行其中一个操作,并对照其真实签名进行验证 |
此外还有 nominal:// 下的资源,以及四个工作流提示词(investigate_anomaly、compare_runs、summarize_run、preflight_check)。
三个值得了解的设计决策
467 个操作,10 个工具。 Nominal 的 API 在 57 个服务中拥有 467 个端点。如果将它们作为工具模式暴露出来,在你输入任何内容之前,tools/list 就会消耗大约 163,000 个 token。相反,nominal_api_search 返回操作描述符,nominal_api_call 执行它们,因此你每实际查找一个操作只需支付约 120 个 token。tools/list 保持固定在 2,992 个 token,并且可以公开缓存。
没有任何工具会返回数据集。 单次运行可能包含数 GB 的时间序列。nominal_query_channels 返回统计信息,以及一条抽稀为最多 200 个桶的最小/最大/均值轨迹,外加一个签名句柄。批量数据通过预签名 URL 传出,绝不会进入上下文窗口。
你的凭据,而不是我们的。 没有服务账户。OAuth 流程将你的 Nominal API 密钥绑定到一个加密的、绑定受众的、一小时内有效的访问令牌中。Nominal 自身的授权是唯一的执行层——MCP 服务器绝不会扩大访问范围,也绝不会实现并行的权限模型。
文档
SPEC.md — 实现规范:协议决策、工具设计、认证 模型、限制、威胁模型,以及有意省略的内容
docs/SPEC-original.md — 原始设计简报,留作 记录;SPEC.md §0 说明了测量在哪些地方改变了它
开发
npm ci
npm run typecheck
npm test # 115 unit + conformance tests
npm run budget # fails if tools/list exceeds 3,000 tokens
npm run test:fuzz # adversarial suite
npm run dev # wrangler dev测试
Layer | 覆盖内容 |
| 加密、时代检测、钳位、抽稀、句柄、目录策略 |
| 该服务器拥有的每个 MCP |
| RFC 9728/8414/8707/9207/7636、PKCE、DCR、令牌伪造 |
| 六个生成器、七个不变量、可设定种子且可重放 |
验证边界: 协议、认证、限制和目录策略层已完全覆盖。tier-1 工具的 Nominal 侧请求编码是从生成的 nominal-api Conjure 客户端派生而来,并针对桩(stub)进行了测试,而不是针对真实的 Nominal 部署——参见 SPEC.md §9.3。如果你有密钥,一条命令即可弥补这一差距。
模糊测试器每 20 分钟针对真实部署运行一次(.github/workflows/fuzz.yml)。生成器覆盖 JSON-RPC 结构、协议/时代矩阵、工具参数、目录操作 ID、认证伪造以及提示注入/SSRF 载荷。不变量:绝不出现 5xx,始终是有效的 JSON-RPC,绝不反射秘密或堆栈跟踪,resultType 仅在现代协议中存在,延迟和大小有界,且任何内部操作都不会执行。失败时会使用种子提交一个问题,以便精确重放。
部署你自己的
npx wrangler kv namespace create OAUTH_KV # put the id in wrangler.toml
npx wrangler secret put TOKEN_SECRET # AES-GCM key material
npx wrangler secret put HANDLE_SECRET # HMAC key for result handles
npx wrangler deploy对于 CI 部署,请设置 CLOUDFLARE_API_TOKEN 和 CLOUDFLARE_ACCOUNT_ID 密钥,以及 DEPLOY_URL 仓库变量。
容量
对扩展至关重要的设计特性:一次工具调用不会写入任何存储。
访问令牌是自包含的加密信封,而不是指向会话存储的指针,因此验证一个令牌只需一次解密和几次比较——热路径上无需读取 KV。速率限制使用 Cloudflare 的边缘绑定,同样不会写入任何内容。唯一的 KV 写入发生在 OAuth 授权期间:每个用户每次登录大约三次,此后不再有。
这意味着请求量受你的 Workers 请求限制约束,而不是存储配额;一个部署可供使用的人数受每日新增登录数约束,而不是受使用强度约束。
第一个实现并非如此。速率限制器在 KV 中计数请求——每个请求一次读取和一次写入——在 Cloudflare 的免费套餐上,这会导致服务器在每天大约一千个请求后停止。请查看你套餐的当前限制,但大致情况是:现有用户的高强度使用几乎免费,只有新用户接入才会触及存储。
/health 会报告当前生效的是哪个速率限制器(binding 还是 isolate-fallback),如果部署静默回退,部署冒烟测试将失败。
端点
Path | |
| MCP 端点(Streamable HTTP) |
| RFC 9728 |
| RFC 8414 |
| OAuth 2.1 |
| 存活检查 |
许可证
MIT
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
- AlicenseAqualityCmaintenanceEnables AI agents to programmatically inspect, test, and validate other MCP servers by exposing MCP Workbench capabilities as structured tools. It supports automated test spec generation, execution, and detailed failure analysis to ensure server reliability.410Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables access to Apollo's tools and services through a standardized MCP interface, compatible with MCP-compliant clients.1MIT
- AlicenseCqualityBmaintenanceProvides an MCP-native operational interface for diagnostics, explainability, regression checks, and operational memory on data-system internals like PostgreSQL and Databricks toy engines.47MIT
- AlicenseAqualityDmaintenanceEnables test execution and management through MCP clients, allowing retrieval of projects, listing tests, executing tests with browser selection, and monitoring results.623MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Remote MCP for Gemini upgrade evals, prompt regressions, output diffs, and eval receipts.
Autopilot MCP server for GEO analyses, reports, content, audits, memories and agents.
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/elirapport1/nominal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server