Speakeasy Logo
Skip to Content

AI & MCP

Choosing an MCP gateway: Gram vs Docker vs TrueFoundry vs Composio

Nolan Sullivan

Nolan Sullivan

February 15, 2026 - 12 min read

AI & MCP

“MCP gateway” has become an overloaded term. Search for one and you’ll find tools that do wildly different things: some route requests to MCP servers, some generate MCP servers from APIs, some provide hundreds of prebuilt integrations, and others focus on enterprise governance and compliance.

Rather than debating definitions, it helps to think about what job you need done:

  • Access prebuilt integrations: Connect to popular services like GitHub, Slack, or Salesforce through managed MCP toolkits.
  • Route and orchestrate requests: Direct incoming requests to the right MCP servers with load balancing and failover.
  • Enforce governance and compliance: Implement RBAC, audit logging, guardrails, and PII detection for regulated environments.
  • Manage authentication: Handle OAuth flows, API keys, and SSO across multiple MCP servers from a single control plane.

For a deeper look at gateway architectures and the broader market landscape, see What is an MCP gateway and do I need one?

Different tools excel at different jobs. We tested four MCP  gateway solutions to see how they stack up:

  • Gram  allows you to create MCP servers or connect to existing ones, and handles routing, authentication, and logging through an intuitive dashboard.
  • Composio  provides 500+ managed integrations for building MCP servers without maintaining individual connections.
  • TrueFoundry  delivers enterprise governance with RBAC, guardrails, and compliance controls.
  • Docker MCP Gateway  offers complete infrastructure control through container-based orchestration.

Other products exist, like MintMCP  and Runlayer , but we focused on solutions that offer hands-on testing without requiring enterprise sales calls.

Skip to the product evaluations or read on for our assessment criteria.

Assessment criteria

We assessed each product across the following categories:

  • Developer experience: Setup time, configuration complexity, documentation quality, and integration capabilities (prebuilt integrations, available connectors, and custom MCP servers)
  • Logging and monitoring: Observability through log output and query capabilities
  • Security and compliance: Authentication mechanisms (including OAuth, API keys, and SSO) and governance controls (covering RBAC, audit trails, and access restrictions)
  • Cost analysis: Total cost, combining hosting, platform fees, and token consumption

Composio: A library of integration tools

Composio provides over 500 managed integrations for building MCP servers without maintaining individual tool connections.

Developer experience

The Composio dashboard centers the Auth Configs tab for managing service credentials and the MCP Configs tab for creating MCP servers.

Composio dashboard showing Auth Configs and MCP Configs sections

The MCP Configs page provides two methods for creating MCP tools:

  • Using the legacy Dedicated MCP Server to select specific apps and manage context and authentication manually
  • Using Tool Router MCP to automate request optimization, authentication, logging, and permissions

Composio MCP configuration options showing Dedicated MCP server and Tool Router MCP

Start configuring a Tool Router MCP by selecting your toolkits. Toolkits bundle related MCP tools (such as Gmail , Slack , and GitHub ) with permission controls (such as read-only, destructive, idempotent, and open-world).

Composio toolkit selection with permission controls

To set up additional permission management at the session level, use the Composio SDK :

from composio import Composio composio = Composio() # Restrict session to specific toolkits session = composio.create( user_id="61d0acef-a337-430b-81a8-ccf12a9dc966", toolkits=["github", "gmail", "slack"] ) # Enable or disable specific tools session = composio.create( user_id="dc09f56f-588e-40f7-818c-5a3934f2c69a", toolkits={"enable": ["github", "gmail", "slack"]} ) session = composio.create( user_id="dc09f56f-588e-40f7-818c-5a3934f2c69a", toolkits={"disable": ["exa", "firecrawl"]} )

With Composio’s intuitive UI, you can set up an MCP server within minutes. The dashboard guides you through straightforward toolkit selection and basic permissions. The Composio SDK lets you configure session-level tool control and authentication flows.

While Composio provides a high number of managed integrations, its biggest drawback is that you can’t add custom MCP servers without contacting its team. If you have a proprietary API, for example, you have to wait for Composio to build an integration for you.

Security and compliance

Composio supports two authentication schemes: OAuth 2.0 and API keys. Most toolkits use OAuth 2.0, while services like Supabase  and Notion  rely on API keys.

Composio is optimized for chat workflows, although specific authentication flows differ by integration context. For example, chat-based agents provide connection links directly in conversation for the user to authenticate:

Composio chat-based authentication flow with connection link

Whereas applications using the Composio SDK generate redirect URLs for user authorization:

connection_request = session.authorize("github") print(connection_request.redirect_url) # https://connect.composio.dev/link/ln_abc123

The in-conversation authentication links work well when agents interact directly with users. However, the flow feels less natural for non-chat applications.

Composio handles permissions through toolkit selection and session-level controls. While these methods work for simple access management, Composio lacks the dedicated governance interfaces for RBAC rules and the granular access restrictions that TrueFoundry provides. You can’t define role-based policies or tool-level permissions.

Logging and monitoring

The Composio dashboard Logs tab displays detailed request and response data for each tool call.

Composio logging dashboard displaying tool call requests

Each log includes the complete request parameters and response bodies. While this makes debugging straightforward, it also exposes sensitive information, such as email contents and message previews.

Composio log details showing request parameters and response bodies

If you handle protected health data or operate under GDPR, these logs expose you to compliance violations. Contact Composio about its logging strategy before deploying to production.

Cost analysis

Composio pricing scales across three tiers:

  • The Free plan includes 20,000 tool calls per month and community support.
  • The Standard plan includes email support and 200,000 tool calls at $29 per month. You can purchase additional tool calls at $0.39 per 1,000 calls.
  • The Business plan includes Slack support, 2,000,000 tool calls at $228 per month, and a slightly discounted rate of $0.34 per 1,000 additional calls.

Composio pricing tiers

TrueFoundry: Enterprise-grade governance

TrueFoundry delivers advanced governance controls for teams operating in regulated industries that require compliance and audit capabilities.

Developer experience

TrueFoundry provides two methods for adding MCP servers.

TrueFoundry catalog of pre-configured MCP servers

TrueFoundry remote server configuration interface

TrueFoundry requires you to have an MCP server ready with auth credentials before you start. You can’t prototype quickly. This makes sense for enterprises with established infrastructure, but slows down teams validating product ideas.

Security and compliance

Authentication configuration varies by server type. TrueFoundry’s catalog servers include built-in OAuth flows, but remote servers require you to manually manage credentials through the authentication interface.

TrueFoundry provides extensive governance features beyond basic authentication, including:

TrueFoundry governance features including guardrails and access controls

The Guardrails configuration supports multiple providers for content filtering and compliance:

The platform’s comprehensive governance controls make it ideal for teams in regulated industries requiring strict SOC 2  or HIPAA  compliance. However, such governance complexity is overkill for public-facing products or small teams, where using Gram or Composio makes more sense.

Logging and monitoring

The TrueFoundry Monitor dashboard visualizes your routing, MCP, and guardrail metrics, including requests per second, request failure rates, budget consumption, and performance breakdowns.

TrueFoundry monitoring dashboard with routing and MCP metrics

You can also view your Request Traces to access a detailed execution history:

TrueFoundry request traces showing execution history

When you inspect an individual request trace, you see the complete input and output data. Like Composio, TrueFoundry’s logs contain PII; but unlike Composio, TrueFoundry protects you from compliance violations by letting you use guardrails to filter sensitive data before it reaches AI agents. You can also disable body logging entirely.

Cost analysis

TrueFoundry offers flexible payment plans:

  • The free Developer plan provides 50,000 requests per month, for up to three users.
  • The Pro plan provides 1,000,000 requests for up to 10 users, at $499 per month.
  • The Pro Plus plan provides 1,000,000 requests, more MCP tool calls, and advanced controls for up to 25 users, at $2999 per month.
  • Custom Enterprise plans provide over 10,000,000 requests per month, as well as HIPAA  and GDPR compliance, for unlimited users.

Self-hosted deployments cost $600-$1,000 per month in infrastructure. TrueFoundry is SOC 2  certified across all payment tiers.

Gram: The API-to-MCP server platform

Gram generates MCP servers from REST APIs  and handles gateway infrastructure automatically, allowing teams to focus on building products rather than managing routing and authentication.

Developer experience

Gram methods for creating MCP servers

Gram provides three primary services.

  • Connecting to pre-existing MCP servers: The Gram catalog includes both official and community-maintained MCP servers.

Gram catalog of community-maintained MCP servers

  • Creating custom MCP servers: Upload your OpenAPI specifications or write Gram Functions in TypeScript .

Gram custom server creation with OpenAPI specs or Gram Functions

  • Building direct chat experiences with MCP capabilities: The platform also deploys chat experiences that you can embed in applications.

Gram chat experiences for embedding in applications

After connecting to two or more MCP servers, you can organize tools from various sources into curated toolsets for specific use cases. For example, you can combine CRM and ticketing tools into a customer support toolset or combine Salesforce  and email tools into a sales toolset. Each toolset becomes a hosted MCP server with its own endpoint.

With its intuitive tool curation UX and ability to convert an OpenAPI document to an MCP server within minutes, Gram is the easiest MCP gateway to set up.

Security and compliance

Gram routes requests to toolsets, manages OAuth tokens, enforces access policies, and logs tool calls through its unified control plane.

How Gram handles authentication depends on the Visibility settings of each MCP server.

Gram visibility settings for private and public access modes

When you set a server to Private, only users with a Gram API key can access its tools. This is best suited to servers built for enterprises or internal teams.

{ "command": "npx", "args": [ "mcp-remote@0.1.25", "https://app.getgram.ai/mcp/rxxxxx", "--header", "Gram-Environment:${GRAM_ENVIRONMENT}", "--header", "Authorization:${GRAM_KEY}" ], "env": { "GRAM_ENVIRONMENT": "<your-value-here>", "GRAM_KEY": "<your-value-here>" } }

When you set a server to Public, any user with the URL can view its tools. However, users still need to authenticate themselves to use the tools. For example, if the MCP server requires user-specific variables (such as API URLs from OpenAPI documents), users must add environment variables containing their details during configuration.

{ "command": "npx", "args": ["mcp-remote@0.1.25", "https://app.getgram.ai/mcp/xxxxxx"] }

Logging and monitoring

The logging interface displays incoming requests in real time:

Gram logging interface showing real-time requests

Individual log entries show tool call details and responses:

Gram log entry details showing tool call and response

Unlike Composio or TrueFoundry, Gram logs capture request metadata without exposing request or response bodies. This protects you from compliance violations by default, so you don’t need to configure body logging controls or contact vendors about PHI exposure.

Cost analysis

Gram offers three pricing tiers:

  • The Free plan includes one MCP server, 14-day log retention, custom tool creation, and 1,000 tool calls per month.
  • The Pro plan includes three MCP servers, custom OAuth server configuration, and 5,000 tool calls for $29 per month.
  • Custom Enterprise plans include SSO, audit logs, and a self-hosted dataplane.

Gram pricing tiers

Docker MCP Gateway: Self-hosted container orchestration

Docker MCP Gateway provides complete infrastructure control through container-based MCP server orchestration. It’s best suited to teams already operating Docker-native infrastructure.

Developer experience

Docker MCP Gateway uses file-based configuration. You need to configure three components:

  • Store your credentials as environment variables in .env:

    # GitHub Operations GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here # Notion Workspace NOTION_API_KEY=secret_your_notion_token_here
  • Set up the infrastructure using service definitions in docker-compose.yml:

    services: mcp-gateway: image: docker/mcp-gateway:latest ports: - "8080:8080" command: - --transport=sse - --port=8080 - --catalog=/mcp/catalogs/docker-mcp.yaml volumes: - /var/run/docker.sock:/var/run/docker.sock - ./config:/mcp/catalogs
  • Catalog available servers in config/docker-mcp.yaml:

    version: 2 name: development-productivity servers: github: title: "GitHub Service" type: stdio image: node:18-alpine command: - npx - -y - "@modelcontextprotocol/server-github"

Developers familiar with Docker can set up the MCP gateway in 20-40 minutes. If you’re unfamiliar with container orchestration, you face a steep learning curve involving YAML syntax, Docker networking, and environment variable management. You may prefer solutions with UI-based setups that take minutes instead of hours.

Docker MCP Gateway supports any MCP server available as an npm  package or Docker image. Adding custom servers requires updating both Docker Compose  and the server catalog.

Docker’s documentation covers setup and architecture but overlooks session management, catalog schema validation, production deployment patterns, and the need for a systematic debugging guide.

Security and compliance

Because Docker MCP Gateway has no authentication layer, you’re responsible for building and maintaining security infrastructure through network isolation and per-server authentication:

  • Run MCP servers in a private Docker bridge network.
  • Manage server credentials for external services (such as GitHub tokens, Notion keys, Slack tokens) through environment variables.
  • Add external authentication to production deployments using reverse proxies (like Nginx  and Traefik ) or API gateways (like Kong  and AWS API Gateway ).

Logging and monitoring

Logging uses Docker’s native infrastructure:

# View all logs docker-compose logs -f # View specific server docker-compose logs -f github-server # Filter by timestamp docker-compose logs --since=2026-01-22T06:00:00

Gateway logs show configuration loading and request routing. Individual MCP server logs vary by npm package implementation.

Docker logs lack structured logging, request tracing, metrics collection, and audit trails. When an agent breaks in production, you can’t trace which tool call failed or why. Production deployments require integrating external observability tools (such as Sentry, ELK Stack, Prometheus and Grafana, or cloud monitoring services), which adds infrastructure complexity and cost.

Cost analysis

Docker MCP Gateway is open source with no platform fees. You can avoid the recurring costs that come with other solutions and invest in Docker infrastructure instead. However, you pay with DevOps time: YAML configuration, ongoing maintenance, and debugging when things break.

If you want to use Docker MCP Gateway, decide whether your team has the Docker expertise to manage its complexity or whether platform fees (starting at $29 per month for Gram or Composio) are worth the cost to buy back more productive time.

Final thoughts

The best MCP gateway depends on whether you’re building new MCP servers or managing existing ones.

Composio’s many integrations make it a good choice for managing existing servers, especially within chat workflows. But without the ability to add custom servers, it isn’t suited to anyone wanting to build.

TrueFoundry has a comparatively smaller catalog of prebuilt servers, but includes a remote configuration option that makes it suitable for both building and managing servers. The platform provides extensive governance and compliance controls, making it ideal for enterprises in regulated industries, but painful for everyone else.

Gram stands out as the easiest MCP gateway to use. In addition to supplying a catalog of pre-existing servers, it generates custom MCP servers from OpenAPI specs in minutes and provides Gram Functions for building servers with code. Similar to Composio, Gram lets you build chat experiences powered by MCP tools.

Also suited to both building and managing servers, Docker MCP Gateway provides complete infrastructure control at no cost. But with verbose YAML files, configuration quickly becomes complex. If you’re not already running everything in Docker, the setup pain is seldom worth it.

FeatureGramComposioTrueFoundryDocker MCP Gateway
Primary use caseGenerate servers from APIs500+ managed integrationsEnterprise governanceFull infrastructure control
Setup timeMinutes (API upload)Minutes (UI-based)Hours (requires MCP server & auth first)Hours (verbose YAML configs)
Setup experienceEasiest by farGood UI, intuitive dashboardPainful (auth config required upfront)Confusing for newcomers
Custom MCP servers✅ Gram Functions❌ Request from team✅ Remote servers✅ Any npm package
Prebuilt integrations200+ catalog500+ toolkitsLimited catalogCommunity packages
AuthenticationOAuth handled automaticallyOAuth & API keysOAuth, SSO, customManual per server
Governance/RBACBasic (toolset permissions)Session-levelAdvanced (guardrails, body hiding)None (DIY)
LoggingBasic (no PHI exposure)Detailed (exposes PHI & email content)Detailed (body logging optional)Docker logs only
DocumentationIntuitive UX, good docsGood docsComplex, lots of optionsCommunity-dependent
Best forBuilding products fastChat workflows onlyRegulated industriesDocker-native teams
PricingFair ($29/mo for 5K calls)$29/mo for 200K calls$499/mo (overkill for most)Free (infrastructure costs only)
Hidden costsNoneCan’t extend without waitingEnterprise-only featuresDevOps time, debugging
Decision factorChoose Gram (build fast)Choose Composio (chat workflows)Choose TrueFoundry (enterprise governance)Choose Docker (already using Docker)

Let a control plane handle governance and gateway features, so you can focus on building. Try Gram for free at getgram.ai .

Last updated on

Build with
confidence.

Ship what's next.