Nominal MCP Server
Nominal MCP Server
Сервер MCP для аппаратной тестовой платформы Nominal. Получайте данные испытаний, просматривайте телеметрические каналы, запускайте анализ и записывайте результаты обратно — из 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Откроется окно браузера. Вставьте свой собственный API-ключ Nominal (приложение 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, а хосты private-cloud и on-prem под *.nominal.io принимаются.
Согласно спецификации аутентификации MCP, stdio-серверы читают учётные данные из окружения, а не выполняют поток OAuth. Ничего не записывается на диск.
Related MCP server: Apollo Universal MCP Server
Что можно спросить
«Найди последний огневой прогон на двигателе A и скажи, превышало ли давление в камере 900 psi.»
«Сравни задержку команды клапана между прогоном 14 и прогоном 15.»
«Отметь событие на этом прогоне в момент T+4.2s и пометь его как
anomaly.»
Инструменты
Tool | Что делает |
| Поиск активов, прогонов, наборов данных, рабочих книг, чек-листов, событий, видео |
| Разрешение |
| Прогоны для актива, сначала новые, с временным окном |
| Каналы на прогоне/наборе данных с единицей измерения, типом, тегами |
| Статистика + децимированный трейс для до 10 каналов |
| Один агрегат по каналу, вычисляемый на стороне сервера |
| Presigned URL для данных полного разрешения |
| Создание событий, комментариев или метаданных прогона |
| Поиск любой из 467 операций API по ключевому слову |
| Выполнение одной операции с проверкой по её реальной сигнатуре |
Плюс ресурсы в nominal:// и четыре промпта рабочих процессов (investigate_anomaly, compare_runs, summarize_run, preflight_check).
Три проектных решения, о которых стоит знать
467 операций, 10 инструментов. API Nominal насчитывает 467 эндпоинтов в 57 сервисах. Если бы они были представлены как схемы инструментов, это стоило бы примерно 163 000 токенов в tools/list ещё до того, как вы что-то ввели. Вместо этого nominal_api_search возвращает дескрипторы операций, а nominal_api_call выполняет их, так что вы платите ~120 токенов за каждую операцию, которую действительно ищете. tools/list остаётся фиксированным на 2 992 токенах и публично кэшируется.
Ни один инструмент никогда не возвращает набор данных. Один прогон может содержать гигабайты временных рядов. nominal_query_channels возвращает статистику плюс трейс min/max/mean, децимированный максимум в 200 корзин, и подписанный дескриптор. Массовые данные передаются через presigned URL, который никогда не попадает в контекстное окно.
Ваши учётные данные, не наши. Здесь нет сервисного аккаунта. Поток OAuth связывает ваш API-ключ Nominal с зашифрованным, ограниченным аудиторией токеном доступа сроком на один час. Собственная авторизация 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Тестирование
Уровень | Что покрывает |
| криптография, определение эры, ограничения, децимация, дескрипторы, политика каталога |
| по одному тесту на каждый MCP |
| RFC 9728/8414/8707/9207/7636, PKCE, DCR, подделка токенов |
| шесть генераторов, семь инвариантов, с сидом и воспроизводимые |
Граница верификации: уровни протокола, аутентификации, лимитов и политики каталога полностью покрыты. Кодирование запросов на стороне Nominal для инструментов tier-1 было получено из сгенерированного Conjure-клиента nominal-api и протестировано против заглушки, а не против живого развёртывания Nominal — см. SPEC.md §9.3. Если у вас есть ключ, одна команда закрывает этот пробел.
Фаззер запускается каждые 20 минут против живого развёртывания (.github/workflows/fuzz.yml). Генераторы покрывают структуру JSON-RPC, матрицу протокол/эра, аргументы инструментов, идентификаторы операций каталога, подделку аутентификации и payload-ы prompt-injection/SSRF. Инварианты: никогда не 5xx, всегда валидный JSON-RPC, никогда не отражает секрет или стек-трейс, resultType присутствует тогда и только тогда, когда эра современная, ограниченные задержка и размер, и ни одна внутренняя операция никогда не выполняется. При сбое создаётся issue с сидом для точного воспроизведения.
Развёртывание собственного сервера
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 на горячем пути. Ограничение скорости использует edge-привязку Cloudflare, которая тоже ничего не пишет. Единственные записи в KV происходят во время авторизации OAuth: примерно три на пользователя при каждом входе и ни одной после.
Это означает, что объём запросов ограничен лимитом запросов Workers, а не квотой хранилища, а число людей, которые могут использовать развёртывание, ограничено новыми входами в день, а не интенсивностью их использования.
В первой реализации это было не так. Ограничитель скорости подсчитывал запросы в KV — одно чтение и одна запись на запрос — что на бесплатном тарифе Cloudflare остановило бы сервер примерно после тысячи запросов в день. Проверьте текущие лимиты вашего тарифа, но суть такова: интенсивное использование существующим пользователем почти бесплатно, и только онбординг касается хранилища.
/health сообщает, какой ограничитель скорости активен (binding или isolate-fallback), и смоук-тест развёртывания завершается ошибкой, если развёртывание молча откатывается.
Эндпоинты
Путь | |
| Эндпоинт 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