Skip to main content
Open Source / MCP Tool

Porter

A unified MCP gateway that brings order to your tool chaos.

Available Now

Managing multiple MCP servers means juggling separate processes, colliding tool names, and no visibility into what's healthy and what's failing. Porter unifies them behind a single gateway with automatic namespacing and built-in health monitoring — so you can focus on what your tools do, not how they connect.

What Porter does.

One gateway. Every MCP server. Zero collisions.

Multi-Server Aggregation

Aggregate any number of external MCP servers behind a single unified endpoint. Manage lifecycle, restart on crash, and route calls transparently.

Tool Namespacing

Collision-free tool names via automatic slug:tool_name prefixing. No more silent overwrites when two servers expose the same tool.

Health Monitoring

Three-tier health model — healthy, degraded, unhealthy. Graceful degradation removes failing servers from the tool surface without crashing the gateway.

Multi-Transport

Connect via STDIO subprocesses, HTTP/SSE for remote servers, or Streamable HTTP for streaming responses. One gateway, every transport.

Hot-Reload

Edit your config and Porter picks up changes automatically — no restart required. Connected MCP clients are notified of the updated tool surface instantly.

Secure Config

Environment variables use ${VAR} reference syntax — secrets never appear in config files. Validation catches misconfigurations before any servers are spawned.

Secure by default.

MCP servers get access to your tools, your tokens, and your AI assistant's context. Porter treats that seriously.

No secrets in config

Environment variables must use $${VAR} reference syntax. Porter validates this at startup and rejects literal values — your tokens never end up committed to a repo.

Fail-fast validation

Config is validated before any server is spawned. Duplicate slugs, missing required fields, mixed transport types, and bare secrets are all caught immediately — not after half your servers are already running.

Namespace isolation

Every tool is prefixed with its server's slug. An AI assistant can't accidentally call the wrong server's tool because names that look similar in different servers are always distinct in Porter's namespace.

Unhealthy server quarantine

Servers that exceed a 50% error rate are automatically excluded from tool listings and blocked from receiving calls. Your AI assistant never sees tools from a server that can't reliably handle them.