Aegis
Aegis MCP 거버넌스 레지스트리
Aegis는 테넌트 인식 MCP 도구를 관리하기 위한 프로덕션 지향 참조 구현입니다. 의도적으로 범위를 제한한 두 개의 Streamable HTTP 참조 엔드포인트와 보안 레지스트리 대시보드, 정책 결과, 단기 인간 승인 흐름, 변조 방지 감사 원장을 결합합니다. 고객 시스템에 연결하거나 운영하지 않습니다.
시연할 수 있는 기능
기능 | 이 저장소의 구현 |
참조 MCP 엔드포인트 |
|
기능 검색 | 각 엔드포인트는 |
테넌트 및 범위 강제 | 베어러 토큰 어댑터가 모든 MCP 도구 호출 전에 테넌트, 주체 및 범위를 확인합니다. |
정책 게이트 | 로컬 정책 평가기가 범위와 페이로드 상한을 강제합니다. |
인간 승인 |
|
감사 가능성 | 정책, 승인 및 실행 활동은 수정(redaction) 처리되고, 애플리케이션 표면을 통해서만 추가 전용이며, 테넌트별로 격리되고, 해시 체인으로 연결됩니다. |
운영자 콘솔 | 인증된 사용자는 레지스트리 서비스, 테넌트, 정책, 승인 및 감사 원장을 검사할 수 있습니다. 관리자는 참조 서비스를 검증하고 활성화/비활성화하며 승인 결정을 내릴 수 있습니다. |
이 구현은 전송 및 리소스 검색 형태를 MCP Streamable HTTP 및 권한 부여 사양에 맞춥니다.[1] [2] 비공개 레지스트리 메타데이터는 내부 확장이며 공개 MCP 레지스트리 server.json 형식으로 제시되지 않습니다.[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 생성 및 연결
지출 한도를 0으로 설정한 Starter 인스턴스를 생성하세요. 인스턴스 페이지에서 오른쪽 상단의 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나 스크린샷에 넣지 마세요.
키 | 값 |
| 다음 형태의 TiDB URL: |
|
|
|
|
|
|
| 새로 생성된 긴 임의 비밀번호. |
| 배포 후 대시보드에 입력할 별도의 긴 비밀번호. |
|
|
데이터베이스 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를 방문하세요. MCP 클라이언트용 실제 OAuth 액세스 토큰 검증기를 의도적으로 구성한 후에만 Render URL로 스모크 테스트를 사용하세요. 데모 토큰은 기본적으로 비활성화되어 있습니다.
검증 및 부하 스캐폴드
모든 릴리스 전에 애플리케이션 테스트를 실행하세요.
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 모두에 대해 실행하세요. 버전이 지정된 출력을 릴리스 증거로 보관하세요. 이 저장소의 스모크 스크립트는 의도적으로 범위가 좁으며 해당 스위트를 대체한다고 주장하지 않습니다.
플랫폼 확장
server/governance.ts의 defaultToolRows에 레지스트리 레코드와 스키마를 삽입하고, simulatedToolOutput을 확장한 다음, 테스트를 추가하고 스모크 스크립트를 다시 실행하여 새 안전한 참조 도구를 추가하세요. 실제 통합은 최소 권한 서비스 ID 뒤에 있어야 하며 수정된 결과만 반환해야 합니다.
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