#8080th of 128 in MCP servers for developers
mcp-gateway-registry
Authenticated gateway and registry for MCP servers, A2A agents and skills
- Stars
- 1k
- License
- Apache-2.0
- Last commit
- Nov 2026
- Last release
- Nov 2026
- Language
- Python
597 on 22 Apr 20261,048 on 11 Nov 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
An nginx reverse proxy (data plane) paired with a FastAPI registry (control plane) that inventories MCP servers, A2A agents, skills and custom entity types, and routes calls through one OAuth-authenticated entry point. It integrates identity providers such as Keycloak, Entra ID, Okta, Auth0, Cognito and PingFederate, and stores state in MongoDB or DocumentDB. Deploys via Docker Compose, Amazon ECS (Terraform) or Amazon EKS (Helm).
Who it is for: Platform and security teams governing MCP servers and agents org-wide
Strengths
- Per-user egress auth (3LO, OBO) keeps third-party SaaS tokens off laptops
- Supports six identity providers, with scope-based access control and audit logging
- Semantic and lexical search for tool discovery; virtual MCP servers aggregate backends
- Helm charts, Terraform for ECS, Compose and prebuilt images provided
Weaknesses
- Needs MongoDB or DocumentDB plus an identity provider; heavy for a single developer
- Deployment guides and tooling center on AWS (EC2, ECS, EKS)
- Telemetry is on by default; disable with MCP_TELEMETRY_DISABLED=1
- Recent releases carry breaking changes, e.g. tools wildcard scope semantics in 1.37.0
What it needs
- no GPU
- Docker + Compose
- Needs MongoDB or DocumentDB, Identity provider (Keycloak, Entra ID, Okta, Auth0, Cognito or PingFederate), nginx
- Models: OpenAI, Amazon Bedrock, OpenAI-compatible endpoints
- port 80
What changed
“A wildcard tool grant no longer grants every MCP method. A scope with tools: [""] now grants every tool for tools/call and no other method. A custom scope that relied on the old behavior for a method…”
“server/discover and notifications/ are allowed for any scope that grants access to the server; resources/read, prompts/list and prompts/get join the default method set.”
“NGINXDISABLEAPIAUTHREQUEST=true takes effect again. The flag had done nothing since the nginx templates drifted from the text the generator searched for, so nginx kept authrequest on /api/ whatever t…”
“Keycloak OBO refuses an exchanged token issued for a different user, and checks the realm JWKS URL before it sends the gateway's client secret (#1957)”
“Helm installs with bundled Keycloak must adopt keycloak-client-secret before the first upgrade. The stack chart now renders this Secret itself (#1784). Older chart versions had the setup-keycloak Job…”
“The auth server requires the nginx marker before minting the registry API token, and checks the marker's characters at startup, Helm render and Terraform plan (#1959)”
From the release notes. No flag means the note does not say so, not that the upgrade is safe.
Also in MCP servers for developers
See all 128| Rank | Project | Score |
|---|---|---|
| 1 | gitnexusCode knowledge graph exposed to coding agents through MCP tools | 97 out of 100 |
| 2 | codegraphLocal code knowledge graph that coding agents query over MCP | 95 out of 100 |
| 3 | playwright-mcpMCP server that lets LLMs drive a browser through Playwright accessibility snapshots | 93 out of 100 |
| #4 | code-review-graphLocal Tree-sitter code graph that gives coding assistants review context over MCP | 92 out of 100 |
| #5 | fastmcpPython framework for building MCP servers, clients, and interactive apps | 92 out of 100 |