Aegis
Aegis MCP Governance Registry
Aegis — это производственно-ориентированная эталонная реализация для управления MCP-инструментами с учётом тенантов. Она объединяет два намеренно ограниченных эталонных конечных точки Streamable HTTP с защищённой панелью реестра, результатами политик, короткоживущим потоком одобрения человеком и защищённым от несанкционированного доступа журналом аудита. Она не подключается к клиентским системам и не управляет ими.
Что можно продемонстрировать
Возможность | Реализация в этом репозитории |
Эталонные конечные точки MCP |
|
Обнаружение возможностей | Каждая конечная точка имеет внутренние метаданные возможностей по адресу |
Обеспечение тенанта и областей | Адаптер bearer-токена разрешает тенант, принципала и области перед каждым вызовом MCP-инструмента. |
Шлюз политик | Локальный оценщик политик обеспечивает соблюдение областей и ограничений полезной нагрузки. Установка |
Одобрение человеком |
|
Аудируемость | Действия политик, одобрений и выполнения редактируются, доступны только для добавления через поверхность приложения, изолированы по тенантам и связаны хеш-цепочкой. |
Консоль оператора | Аутентифицированные пользователи могут просматривать сервисы реестра, тенантов, политики, одобрения и журнал аудита. Администраторы могут проверять и включать/отключать эталонные сервисы и принимать решения об одобрении. |
Реализация согласует свою форму транспорта и обнаружения ресурсов со спецификациями MCP Streamable HTTP и авторизации.[1] [2] Её частные метаданные реестра являются внутренним расширением; они не представлены как публичный формат server.json реестра MCP.[3]
Related MCP server: Nura MCP Policy Interceptor
Локальная разработка
Вам понадобится Node.js 22+ и совместимая с MySQL база данных. Скопируйте значения окружения, необходимые для вашего хоста, установите зависимости и запустите приложение.
pnpm install
pnpm drizzle-kit generate
pnpm db:push
pnpm devКогда сервис запустится, посетите URL панели и войдите. Семенные записи создаются лениво при первом обращении к конечной точке управления или запросу панели к реестру. Эталонный интерфейс использует только детерминированные семенные данные, а не реальные клиентские системы.
Быстрый старт MCP
Во время локальной разработки демо-токены имеют точно следующую форму. Это адаптер для разработки, а не замена OAuth.
demo|northstar|demo:alice|project:read,incident:read,metrics:read,change:writeЧтобы подтвердить контракт конечной точки, запустите включённый смоук-тест после запуска сервиса.
pnpm exec node scripts/mcp-smoke.mjsЧтобы выполнить прямой вызов инструмента JSON-RPC:
curl -sS -X POST http://localhost:3000/mcp/read \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer demo|northstar|demo:alice|project:read' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: project.search' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"project.search","arguments":{"query":"telemetry"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}'Конечная точка записи следует тому же контракту по адресу /mcp/write, но change.create сначала создаст запись об одобрении. Одобрите её из консоли Aegis, затем отправьте идентичный вызов снова до истечения срока повышения прав.
Начальное развёртывание: TiDB Cloud + Render
Это рекомендуемый недорогой путь развёртывания для учебной или портфолио-среды. TiDB Cloud Starter совместим с MySQL и требует TLS для публичных подключений, а Render может разместить это Node-приложение как веб-сервис.[4] [5] Бесплатные сервисы Render могут переходить в спящий режим при простое, поэтому после бездействия первый визит может занять больше времени.[6]
A. Создайте и подключите TiDB Cloud
Создайте экземпляр Starter с лимитом расходов, установленным на 0. На странице экземпляра нажмите Connect в правом верхнем углу, оставьте выбранным Public, выберите General и сгенерируйте пароль. Держите пароль в секрете.
B. Создайте веб-сервис Render
После отправки этого репозитория на GitHub откройте панель Render. Нажмите + New в правом верхнем углу, выберите Web Service, нажмите Connect рядом с этим репозиторием и используйте следующие точные значения.
Поле формы Render | Значение |
Name |
|
Branch |
|
Language |
|
Build Command |
|
Start Command |
|
Instance Type |
|
Root Directory | Оставьте пустым |
C. Добавьте переменные окружения Render
В той же форме Render откройте Advanced. В разделе Environment Variables добавьте каждую строку ниже. Не помещайте никакие секретные значения в GitHub или на скриншот.
Ключ | Значение |
| URL TiDB в таком виде: |
|
|
|
|
|
|
| Недавно сгенерированный длинный случайный секрет. |
| Отдельный длинный пароль, который вы введёте на панели после развёртывания. |
|
|
URL базы данных является приватным. TiDB Cloud Starter требует TLS для публичного подключения, и конфигурация приложения TIDB_ENABLE_SSL=true включает его.[5]
Нажмите Create Web Service внизу формы. Render откроет страницу Events сервиса. Подождите, пока статус не станет Live, затем нажмите на отображаемую ссылку onrender.com. При первом посещении введите значение, которое вы установили для DASHBOARD_ACCESS_KEY, и нажмите Open dashboard.
D. Проверка
После открытия панели посетите Registry, Approvals и Audit ledger. Используйте смоук-тест с вашим URL Render только после того, как намеренно настроите реальный валидатор OAuth access-токенов для MCP-клиентов; демо-токены по умолчанию отключены.
Проверка и нагрузочный каркас
Запускайте тесты приложения перед каждым релизом.
pnpm check
pnpm test
pnpm exec node scripts/mcp-smoke.mjsНагрузочный каркас отправляет независимые JSON-RPC запросы, что подходит для проверки развёртывания без сохранения состояния Streamable HTTP за балансировщиком нагрузки. Начните со 100 запросов и 20 одновременных клиентов, затем повторите после масштабирования развёртывания до второго реплики и сравните задержку p50/p95 и частоту ошибок.
CONCURRENCY=20 REQUESTS=100 pnpm exec node scripts/load-test.mjsДля официального прогона на соответствие протоколу установите и выполните текущий официальный набор тестов соответствия MCP отдельно для /mcp/read и /mcp/write. Сохраняйте его версионированный вывод как доказательство релиза; смоук-скрипт этого репозитория намеренно узок и не претендует на замену этого набора.
Расширение платформы
Добавьте новый безопасный эталонный инструмент, вставив его запись в реестр и схему в defaultToolRows в server/governance.ts, расширив simulatedToolOutput, затем добавив тест и повторно запустив смоук-скрипт. Реальная интеграция должна находиться за идентификатором сервиса с минимальными привилегиями и возвращать только редактированные результаты.
Замените демо-адаптер bearer в server/mcp.ts на проверку JWT против вашего настроенного издателя или выполняйте проверку на API-шлюзе. Спецификация авторизации MCP ожидает, что HTTP-реализации, поддерживающие авторизацию, действуют как OAuth-ресурсные серверы и публикуют метаданные защищённых ресурсов.[2] Для производственного хранения аудита экспортируйте события, связанные хеш-цепочкой, в неизменяемое объектное хранилище или SIEM и ограничьте учётные данные базы данных, чтобы принципал сервиса не имел разрешения на обновление/удаление в auditEvents.
Ссылки
[1] Model Context Protocol — Streamable HTTP
[2] Model Context Protocol — Authorization
[3] Model Context Protocol — Registry overview
[4] TiDB Cloud — Select Your Plan
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
- FlicenseNot gradedqualityBmaintenanceMulti-tenant MCP server with OAuth 2.1 authorization, enabling tenant-scoped tool access and audit logging.
- AlicenseBqualityBmaintenanceA governance and policy enforcement gateway for MCP servers that provides hard guardrails, dynamic parameter bounds, human-in-the-loop approvals, and audit telemetry.2158MIT
- FlicenseNot gradedqualityCmaintenanceEnables approval-gated incident response workflows that gather evidence through read-only MCP tools, perform idempotent writes, and preserve a durable audit trail.1
- AlicenseNot gradedqualityBmaintenanceEnforces identity-based access control and audit logging for MCP servers, letting you grant fine-grained tool permissions to users and systems while failing secure by default.MIT
Related MCP Connectors
Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid
Remote MCP for A2A caller identity, scope policy, verdict receipts, and audit history.
Paid remote MCP for AI Studio Workspace approval gate MCP, structured receipts, audit logs, and revi
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/nithyajangam/MCP-Governance-Registry'
If you have feedback or need assistance with the MCP directory API, please join our Discord server