Назад в блог

MCP Registry: как собрать распределённые MCP-серверы в управляемый реестр

Без реестра MCP расползаются. Что хранит registry (6 полей), lifecycle из 5 этапов и защита от rogue registration через mTLS/OIDC.

Иллюстрация к материалу: MCP Registry: как собрать распределённые MCP-серверы в управляемый реестр

Каждый новый MCP появляется за день, а владелец теряется за неделю. Без реестра — shadow MCP: инструмент с прод-доступом без approve, версионирования и аудита. Registry делает инвентарь явным, а доступ — управляемым.

Почему без реестра — хаос

Три симптома: нет владельца (кто approve scope?), нет версии (что изменилось в tools/list?), нет lifecycle (кто отзовёт?). Wiz в 2026 прямо требует enforce mTLS for service-to-service, OIDC with audience/scope for user flows чтобы отсечь rogue registration. Без registry gateway не знает кому доверять.

Что хранит registry: 6 полей

  • Identitymcp_server_id, CN из X.509 или client_id OIDC, подпись/SBOM.
  • Owner — команда + человек (RACI), контакт для approve.
  • Version — semver + tools/list snapshot + changelog.
  • Scope — tool allowlist, audience, data classification (PII/secret).
  • Transport — endpoint, mTLS cert, OIDC issuer, network policy.
  • Lifecycle statedraft → approved → deployed → deprecated → retired + approved_by.

Без любого поля — это не реестр, а список ссылок.

Lifecycle из 5 этапов

  1. Register — команда заводит сервер с манифестом (tools, scope, endpoint), проходит lint (нет * scope).
  2. Approve — владелец данных и security дают подпись (двойной approve для прод-БД).
  3. Version — каждое изменение tools/list — новая версия с diff, без silent update.
  4. Deploy — gateway подтягивает approved версию, публикует tools/list через filtered discovery.
  5. Retire — revoke cert/token, retiredFrom, каскад revocation на AEBA, аудит «кто последний вызывал».

Между 3 и 4 — verify-codenik-site-подобный гейт: verify-registry-sync.

Защита от rogue registration

  • service-to-service — только mTLS с CA из registry;
  • user-facing — OIDC с aud/scope валидацией;
  • requestCert: true, rejectUnauthorized: true на прокси или passthrough;
  • любой register без подписи — draft, не deployed.

Так shadow MCP не попадает в прод — ему нечем аутентифицироваться.

Связь с AEBA revocation

Registry — Trust Registry из AEBA draft. При policy_violation или malicious_behaviour registry публикует revocation (specific_type:mcp_tool с revokedFrom), consumer (SIEM, gateway) блочит события. Каскад по delegation chain — отзыв родителя отзывает все его инструменты.

Где Codenik

Codenik — это MCP Registry + Gateway в одном: единый каталог с владельцами и версиями, approve workflow, filtered discovery (tools/list только approved), mTLS/OIDC на входе, versioned Cedar-политики на каждый tools/call и audit с registry_version. Добавить MCP — один register в registry, а не правка конфигов агентов.

Короткий вывод

Registry превращает MCP из набора ссылок в управляемый актив. Заведите 6 полей, 5 этапов и mTLS/OIDC на входе — и каждый новый MCP будет с владельцем, а не с долгом.

Источники и дальнейшее чтение