Skip to main content
mcpSource-backed
Microsoft MCP Gateway logo

Microsoft MCP Gateway

MIT-licensed Kubernetes gateway and management layer for MCP servers, with session-aware routing, adapter lifecycle APIs, tool registration, Entra ID role authorization, and optional agent/session preview resources.

by microsoft · submitted by oktofeesh1·added 2026-06-06·
Review first review before installing

Open the source and read safety notes before installing.

Citation facts

Source-backed facts for citing this resource, derived directly from the registry — also available as plain text for AI assistants.

Source URLs
https://github.com/microsoft/mcp-gateway/blob/main/README.md, https://github.com/microsoft/mcp-gateway
Brand
Microsoft MCP Gateway
Brand domain
microsoft.com
Brand asset source
brandfetch
Safety notes
Microsoft MCP Gateway can deploy, update, delete, and route MCP server adapters in Kubernetes through its management API., The dynamic `/mcp` tool router can route tool calls to registered tool servers, so tool definitions and execution endpoints must be reviewed before registration., Adapter and tool write access is limited to the creator or `mcp.admin`, while read access depends on creator, admin, and configured required roles., The optional agents and sessions subsystem is documented as preview and single-replica; built-in bash and file tools run in the gateway pod and are not a production sandbox., Proxying local stdio servers into remotely accessible services can expose local tools and workload identity permissions if access controls are too broad.
Privacy notes
The gateway may process bearer tokens, Entra ID role claims, adapter metadata, registered tool schemas, session IDs, MCP requests, tool arguments, tool results, logs, container image names, environment variables, and Kubernetes deployment status., Adapter logs and session streams can reveal prompts, tool inputs, tool outputs, upstream MCP responses, and internal service names., Workload identity, Azure resource access, Foundry settings, and MCP proxy environment variables can expose cloud permissions if logged or shared., Store tokens, role assignments, registry credentials, deployment payloads, and model provider settings in controlled secrets rather than committed examples.
Author
microsoft
Submitted by
oktofeesh1
Claim status
unclaimed
Last verified
2026-06-06

Decision playbook

Review trust signals before you adopt

Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.

Compare context
Selected

0

Current score

63

Baseline

Delta

No baseline selected

No major trust-signal divergence detected in the current selection.

Source and provenance checks

Needs review

Confirm ownership and provenance before trusting install instructions.

  • Source link availableRequired

    Open the canonical repository and verify ownership.

    Done
  • Source provenance statusRequired

    Marked as source-backed.

    Done
  • Metadata reviewed

    No reviewed flag detected in metadata.

    Pending

Safety and privacy checks

Complete

Validate risk disclosures before installation or API wiring.

  • Safety notes presentRequired

    Review the listed safety guidance before running commands.

    Done
  • Privacy notes presentRequired

    Review data handling notes before connecting accounts or secrets.

    Done
  • Trust level risk gateRequired

    Trust level does not block evaluation.

    Done

Package and install checks

Needs review

Check package metadata and artifact integrity signals.

  • Install payload available

    Install or copy payload is available for review.

    Done
  • Package verification flag

    No package verification flag provided.

    Pending
  • Checksum metadata

    No checksum provided for downloaded artifact.

    Pending

Compare-driven decision checks

Needs review

Use compare context to validate trade-offs before adoption.

  • Compare tray has multiple entries

    Add at least one more entry to compare trust differences.

    Pending
  • Baseline comparison available

    No baseline peer selected yet.

    Pending
  • Diverging trust signals identified

    No major trust-signal divergence found.

    Pending

Setup at a glance

CLI install

Copy-ready — paste the snippet to get started.

45 minutes

Adoption plan

Balanced adoption plan

Current risk score 24/100. Use staged verification before broader rollout.

Risk 24

Pre-adoption checks

Validate source and review signals before any execution.

  • Confirm source provenanceRequired

    Source URL/provenance metadata is present.

    Done
  • Confirm metadata review state

    No review metadata found; increase manual validation.

    Pending
  • Verify install payload

    Install/config payload exists and can be inspected.

    Done

Security checks

Confirm safety, privacy, and package integrity signals.

  • Review safety notesRequired

    Safety notes are present.

    Done
  • Review privacy notesRequired

    Privacy notes are present.

    Done
  • Verify package integrity metadata

    No package verification/checksum metadata.

    Pending

Rollout

Adopt in controlled steps based on the selected plan.

  • Run in isolated sandbox firstRequired

    Use a constrained sandbox and observe behavior across multiple tasks.

    Pending
  • Roll out graduallyRequired

    Roll out to a small cohort before wider usage.

    Pending
  • Set monitoring and fallback

    Define rollback path and monitor errors after adoption.

    Pending

Evidence readiness

Evidence readiness matrix · balanced

Missing required evidence: Metadata review. Risk score 31.

Risk 31

Source provenance

Present

Source repository/provenance is listed.

Required in this preset

Metadata review

Missing

Review metadata is missing.

Required in this preset

Safety notes

Present

Safety notes are present.

Required in this preset

Privacy notes

Present

Privacy notes are present.

Optional in this preset

Package integrity

Missing

Package integrity metadata is missing.

Optional in this preset

Install payload

Present

Install payload is available.

Required in this preset

Required gaps: Metadata review

Decision timeline

Decision timeline · balanced

Blocking gaps: Check metadata review status. Risk 28.

Risk 28

triage

Confirm source provenanceRequired

Source/provenance metadata is available.

Done

triage

Check metadata review statusRequired

Review metadata is missing.

Pending

verify

Review safety notesRequired

Safety notes are available.

Done

verify

Review privacy notes

Privacy notes are available.

Done

verify

Validate package integrity metadata

Package integrity metadata is missing.

Pending

rollout

Verify install payload and commandsRequired

Install payload is available.

Done

Blockers: Check metadata review status

Prerequisite readiness

Prerequisite readiness

5 prerequisites to line up before setup. Includes a review or approval gate.

0/5 ready
Install & runtime2Permissions & scopes2Review & approval145 minutes

Safety & privacy surface

Safety & privacy surface

5 safety and 4 privacy notes across 4 risk areas. Review closely: credentials & tokens, permissions & scopes, network access.

4 areas
  • SafetyGeneralMicrosoft MCP Gateway can deploy, update, delete, and route MCP server adapters in Kubernetes through its management API.
  • SafetyNetwork accessThe dynamic `/mcp` tool router can route tool calls to registered tool servers, so tool definitions and execution endpoints must be reviewed before registration.
  • SafetyPermissions & scopesAdapter and tool write access is limited to the creator or `mcp.admin`, while read access depends on creator, admin, and configured required roles.
  • SafetyCredentials & tokensThe optional agents and sessions subsystem is documented as preview and single-replica; built-in bash and file tools run in the gateway pod and are not a production sandbox.
  • SafetyPermissions & scopesProxying local stdio servers into remotely accessible services can expose local tools and workload identity permissions if access controls are too broad.
  • PrivacyCredentials & tokensThe gateway may process bearer tokens, Entra ID role claims, adapter metadata, registered tool schemas, session IDs, MCP requests, tool arguments, tool results, logs, container image names, environment variables, and Kubernetes deployment status.
  • PrivacyCredentials & tokensAdapter logs and session streams can reveal prompts, tool inputs, tool outputs, upstream MCP responses, and internal service names.
  • PrivacyPermissions & scopesWorkload identity, Azure resource access, Foundry settings, and MCP proxy environment variables can expose cloud permissions if logged or shared.
  • PrivacyCredentials & tokensStore tokens, role assignments, registry credentials, deployment payloads, and model provider settings in controlled secrets rather than committed examples.

Safety notes

  • Microsoft MCP Gateway can deploy, update, delete, and route MCP server adapters in Kubernetes through its management API.
  • The dynamic `/mcp` tool router can route tool calls to registered tool servers, so tool definitions and execution endpoints must be reviewed before registration.
  • Adapter and tool write access is limited to the creator or `mcp.admin`, while read access depends on creator, admin, and configured required roles.
  • The optional agents and sessions subsystem is documented as preview and single-replica; built-in bash and file tools run in the gateway pod and are not a production sandbox.
  • Proxying local stdio servers into remotely accessible services can expose local tools and workload identity permissions if access controls are too broad.

Privacy notes

  • The gateway may process bearer tokens, Entra ID role claims, adapter metadata, registered tool schemas, session IDs, MCP requests, tool arguments, tool results, logs, container image names, environment variables, and Kubernetes deployment status.
  • Adapter logs and session streams can reveal prompts, tool inputs, tool outputs, upstream MCP responses, and internal service names.
  • Workload identity, Azure resource access, Foundry settings, and MCP proxy environment variables can expose cloud permissions if logged or shared.
  • Store tokens, role assignments, registry credentials, deployment payloads, and model provider settings in controlled secrets rather than committed examples.

Prerequisites

  • Kubernetes cluster access with permission to deploy gateway, adapter, tool router, and sample MCP server workloads.
  • .NET 8 SDK, Docker Desktop, local registry, and Kubernetes enabled for the documented local deployment flow.
  • MCP server images built and pushed to the registry used by the gateway deployment.
  • Bearer authentication, Entra ID app roles, `mcp.admin`, and per-resource `requiredRoles` configured before exposing management APIs.
  • Deployment storage, Redis or session store settings, logs, and network routing reviewed before production use.

Schema details

Install type
cli
Troubleshooting
No
Source repository stats
Scope
Source repo
Collection metadata
Estimated setup
45 minutes
Difficulty
advanced
Full copyable content
kubectl port-forward -n adapter svc/mcpgateway-service 8000:8000

About this resource

Content

Microsoft MCP Gateway is an open-source reverse proxy and management layer for MCP servers in Kubernetes. It provides a data plane for routing streamable HTTP MCP traffic with session affinity, plus a control plane for deploying, updating, deleting, and inspecting MCP server adapters and registered tool servers.

The gateway can expose direct adapter routes such as /adapters/{name}/mcp and a dynamic /mcp tool router. The README also documents an optional preview agent/session layer that can run LLM-driven sessions on top of registered MCP tools when Azure AI Foundry settings are configured.

Source Review

These sources were reviewed on 2026-06-07. Prefer the live repository, README, Entra app-role guide, MCP proxy sample, OpenAPI contract, session routing source, and license file for current deployment, authorization, adapter management, tool registration, and routing behavior.

Features

  • Deploy and register MCP server adapters with the /adapters management API.
  • Route streamable HTTP MCP traffic through /adapters/{name}/mcp.
  • Preserve MCP session affinity when routing requests to adapter instances.
  • Register tool definitions and tool servers through the /tools API.
  • Route dynamic tool calls through the gateway-level /mcp tool router.
  • Inspect adapter and tool metadata, status, and running logs.
  • Use bearer authentication and Entra ID app roles for resource access control.
  • Proxy local stdio MCP servers or remote streamable HTTP MCP servers through the gateway.
  • Deploy gateway and sample workloads into Kubernetes with local or Azure-oriented manifests.
  • Optionally evaluate preview agents and sessions backed by registered MCP tools.

Installation

The README documents a local deployment flow that builds sample MCP server images, publishes the gateway and tool-router images, applies Kubernetes manifests, and port-forwards the gateway service:

kubectl apply -f deployment/k8s/local-deployment.yml
kubectl port-forward -n adapter svc/mcpgateway-service 8000:8000

Before applying the manifests, build and push the sample MCP server, gateway, and tool-router images to the registry used by the deployment. The repository also includes Azure deployment assets for cloud setup.

Create adapters through the management API with the image details and any required role values:

{
  "name": "sample-adapter",
  "imageName": "mcp-example",
  "imageVersion": "1.0.0",
  "requiredRoles": [
    "mcp.engineer"
  ]
}

The README documents two client-facing Streamable HTTP paths after the gateway is running. Direct adapter access uses /adapters/{name}/mcp, such as http://localhost:8000/adapters/mcp-example/mcp. The dynamic tool gateway router uses the stable http://localhost:8000/mcp endpoint and routes calls to registered tool servers.

Use Cases

  • Put a Kubernetes-native reverse proxy in front of multiple MCP server deployments.
  • Keep MCP session traffic pinned to the correct adapter instance.
  • Manage MCP adapter lifecycle with REST APIs instead of manually editing workloads.
  • Expose registered tool servers through one dynamic MCP tool router.
  • Gate adapter and tool access with Entra ID app roles and bearer tokens.
  • Bridge local stdio MCP servers into remotely accessible streamable HTTP services.
  • Proxy internal streamable HTTP MCP servers while centralizing access and logging.
  • Evaluate agent/session prototypes that call registered MCP tools in a controlled test environment.

Safety and Privacy

Microsoft MCP Gateway is infrastructure for deploying and routing other MCP servers. Limit who can call the management APIs because adapter and tool creation can deploy Kubernetes workloads, expose tool endpoints, and make logs available through gateway APIs. Configure mcp.admin, resource creators, and requiredRoles carefully before sharing the service.

The README labels the agents and sessions subsystem as preview and single-replica. Built-in bash and file tools run inside the gateway pod with regex denylist, timeout, output, and path limits; the docs explicitly say to replace them with a real sandbox before multi-tenant or production use.

Treat bearer tokens, role claims, adapter payloads, tool schemas, Foundry settings, workload identity permissions, MCP proxy environment variables, logs, session streams, prompts, arguments, and tool results as sensitive. Avoid registering untrusted MCP images or commands, and review Kubernetes RBAC, network policy, image provenance, and log retention before production use.

Duplicate Check

No microsoft/mcp-gateway source entry, Microsoft MCP Gateway entry, or matching source URL was found in content/mcp or the broader content directories. This entry uses the documented Streamable HTTP gateway endpoint and still requires the gateway deployment plus registered adapters or tools.

Source citations

Add this badge to your README

Show that Microsoft MCP Gateway is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.

Listed on HeyClaude
[![Listed on HeyClaude](https://heyclau.de/badge/mcp/microsoft-mcp-gateway.svg)](https://heyclau.de/entry/mcp/microsoft-mcp-gateway)

How it compares

Microsoft MCP Gateway side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.

Field

MIT-licensed Kubernetes gateway and management layer for MCP servers, with session-aware routing, adapter lifecycle APIs, tool registration, Entra ID role authorization, and optional agent/session preview resources.

Open dossier

Open-source AI gateway that can connect to downstream MCP servers and expose their aggregated tools through a single HTTP or SSE MCP endpoint for Claude Desktop, Cursor, and other MCP clients.

Open dossier

Docker's MCP CLI plugin and gateway for running catalog, OCI, registry, or local-file MCP servers in containers and exposing them to Claude, Cursor, VS Code, and other MCP clients through a shared gateway profile.

Open dossier

Docker-deployed MCP gateway that aggregates downstream MCP servers into namespaces, endpoints, SSE, Streamable HTTP, OpenAPI, auth, and rate limits.

Open dossier
Next steps
Trust
Review statusNot reviewedNot reviewedNot reviewedNot reviewed
Package trustPackage not verifiedPackage not verifiedPackage not verifiedPackage not verified
Source provenanceSource-backedSource-backedSource-backedSource-backed
Submitteroktofeesh1oktofeesh1oktofeesh1oktofeesh1
Install riskReview firstReview firstReview firstReview first
Notes Safety ✓ Privacy ✓ Safety ✓ Privacy ✓ Safety ✓ Privacy ✓ Safety ✓ Privacy ✓
BrandMicrosoft MCP Gateway logoMicrosoft MCP GatewayBifrost logoBifrostDocker MCP Gateway logoDocker MCP GatewayMetaMCP logoMetaMCP
Categorymcpmcpmcpmcp
SourceSource-backedSource-backedSource-backedSource-backed
Authormicrosoftmaximhqdockermetatool-ai
Added2026-06-062026-06-062026-06-062026-06-05
Platforms
Harness
Source repo
Safety notesMicrosoft MCP Gateway can deploy, update, delete, and route MCP server adapters in Kubernetes through its management API. The dynamic `/mcp` tool router can route tool calls to registered tool servers, so tool definitions and execution endpoints must be reviewed before registration. Adapter and tool write access is limited to the creator or `mcp.admin`, while read access depends on creator, admin, and configured required roles. The optional agents and sessions subsystem is documented as preview and single-replica; built-in bash and file tools run in the gateway pod and are not a production sandbox. Proxying local stdio servers into remotely accessible services can expose local tools and workload identity permissions if access controls are too broad.Bifrost can expose all selected downstream MCP tools through one `/mcp` gateway endpoint, so treat the endpoint like an access layer for every connected tool. The docs state that default LLM tool calls are suggestions until an explicit tool execution API call is made, but agent mode can enable configured automatic execution. Gateway-mode auto-approval is controlled by the external MCP host, such as Claude Desktop, Cursor, Cline, or a custom client, not by Bifrost's `tools_to_auto_execute` setting. Stdio connections spawn local commands inside the Bifrost runtime; Docker deployments need images that include the requested executables. Use virtual keys, per-tool allowlists, auth headers, OAuth, per-user credentials, and network controls to limit which clients can reach high-impact tools.Docker MCP Gateway can start and route multiple MCP servers, so each connected client inherits the permissions of every enabled server and tool. Container isolation reduces host exposure, but Docker Engine or Docker socket access is still highly privileged and should be limited to trusted users. The gateway supports tool allowlists, CPU limits, memory limits, network blocking, secret blocking, image signature verification, and interceptors; review defaults before production use. Catalog, profile, local-file, and registry references can change which servers run behind the gateway, especially when watch mode or shared profiles are enabled. Tool-call logging is enabled by default in the documented flags, so avoid routing secrets or sensitive payloads unless logging and retention are controlled.MetaMCP can start, aggregate, and expose multiple downstream MCP servers through a single managed endpoint. Public endpoints and public API keys can expose tool surfaces broadly if bootstrap settings or UI registration controls are left permissive. The README notes that APP_URL and CORS settings must match the URL used to access the service. Stdio-only clients generally need a proxy such as `mcp-proxy` to reach MetaMCP's remote endpoints. Rate limits, endpoint ownership, namespace visibility, OIDC, and registration controls should be configured before production use.
Privacy notesThe gateway may process bearer tokens, Entra ID role claims, adapter metadata, registered tool schemas, session IDs, MCP requests, tool arguments, tool results, logs, container image names, environment variables, and Kubernetes deployment status. Adapter logs and session streams can reveal prompts, tool inputs, tool outputs, upstream MCP responses, and internal service names. Workload identity, Azure resource access, Foundry settings, and MCP proxy environment variables can expose cloud permissions if logged or shared. Store tokens, role assignments, registry credentials, deployment payloads, and model provider settings in controlled secrets rather than committed examples.Bifrost may process provider prompts, model responses, MCP tool names, tool arguments, tool results, headers, virtual keys, OAuth tokens, per-user credentials, logs, traces, metrics, and downstream server metadata. Per-user auth stores credentials against a signed-in user, virtual key, or session identity; review credential lifecycle, revocation, and orphaned-session behavior. Logs, config stores, provider settings, MCP sessions, and gateway analytics can contain sensitive operational or user data. Keep real provider keys, virtual keys, OAuth secrets, MCP endpoint URLs, and upstream service credentials in environment variables or secret stores, not committed config.Docker MCP Gateway may process MCP server definitions, catalog entries, profile exports, local server files, secrets, OAuth tokens, tool names, tool arguments, tool outputs, logs, container metadata, and Docker Engine metadata. Secrets may come from Docker Desktop secrets or `.env` fallback files; keep those stores out of version control and restrict filesystem permissions. Tool outputs can include local files, API responses, credentials, account data, or infrastructure details depending on the enabled downstream MCP servers. Exported profiles and catalogs can reveal internal server names, image references, allowed tools, configuration values, and service endpoints.MetaMCP can receive prompts, tool names, tool arguments, resource data, downstream MCP responses, endpoint metadata, API keys, OAuth tokens, user identifiers, and logs. Downstream stdio server environment variables may include secrets that are resolved from the MetaMCP container environment. Postgres persistence, file logs, bootstrap configuration, API keys, namespace definitions, and endpoint settings may retain sensitive operational data. Do not commit real `.env` files, bootstrap passwords, API keys, OIDC secrets, downstream service credentials, or exported gateway configs.
Prerequisites
  • Kubernetes cluster access with permission to deploy gateway, adapter, tool router, and sample MCP server workloads.
  • .NET 8 SDK, Docker Desktop, local registry, and Kubernetes enabled for the documented local deployment flow.
  • MCP server images built and pushed to the registry used by the gateway deployment.
  • Bearer authentication, Entra ID app roles, `mcp.admin`, and per-resource `requiredRoles` configured before exposing management APIs.
  • Node.js with `npx`, Docker, or another supported Bifrost Gateway deployment path.
  • Bifrost Gateway version `v1.4.0-prerelease1` or newer for MCP gateway mode.
  • Downstream MCP server commands or HTTP/SSE endpoint URLs prepared before registering clients.
  • Provider API keys, virtual keys, gateway auth settings, and governance policies reviewed before sharing the endpoint.
  • Docker Desktop `4.59+` with the MCP Toolkit feature enabled, or the Docker MCP CLI plugin built and installed independently.
  • Docker Engine access for running containerized MCP servers and the gateway.
  • MCP server sources prepared from Docker MCP Catalog entries, OCI images, MCP Registry entries, or local YAML/JSON server files.
  • Profiles feature enabled when using `docker mcp profile` and profile-based gateway runs outside Docker Desktop.
  • Docker and Docker Compose available for the recommended deployment.
  • Postgres storage, app URL, CORS, bootstrap users, API keys, and registration settings reviewed before first start.
  • Downstream MCP server commands, environment variables, and secrets prepared for the MetaMCP container runtime.
  • [object Object]
Install
kubectl apply -f deployment/k8s/local-deployment.yml
npx -y @maximhq/bifrost
docker mcp gateway run
git clone https://github.com/metatool-ai/metamcp.git && cd metamcp && cp example.env .env && ${EDITOR:-vi} .env
Config
{
  "mcpServers": {
    "microsoft-mcp-gateway": {
      "url": "http://localhost:8000/mcp",
      "type": "http"
    }
  }
}
{
  "mcpServers": {
    "bifrost": {
      "url": "BIFROST_MCP_URL",
      "headers": {
        "Authorization": "Bearer ${BIFROST_VIRTUAL_KEY}"
      },
      "type": "http"
    }
  }
}
{
  "mcpServers": {
    "MCP_DOCKER": {
      "command": "docker",
      "args": [
        "mcp",
        "gateway",
        "run"
      ]
    }
  }
}
{
  "mcpServers": {
    "metamcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy",
        "--transport",
        "streamablehttp",
        "METAMCP_ENDPOINT_MCP_URL"
      ],
      "env": {
        "API_ACCESS_TOKEN": "${METAMCP_API_KEY}"
      }
    }
  }
}
Citations
ClaimUnclaimedUnclaimedUnclaimedUnclaimed
Open 4 picks in the interactive comparison tool

Related guides

Signals

Loading live community signals…

More like this, weekly

A short, calm digest of reviewed Claude resources. Unsubscribe any time.