Toolport MCP

A local MCP gateway: set servers up once and use them in Claude Code, Codex, Cursor and other agents, with keys in the OS keychain

  • 239 ★ on the repository
  • Last commit
  • MIT
MCP serverOfficial

Broad access

Why this level

  • Calls of every connected MCP server pass through the gateway, including GitHub, databases and payments
  • The keys for those servers sit in the OS keychain and the gateway uses them on your behalf
  • With HTTP mode bound to a non-loopback address the gateway is reachable over the network, so a token is mandatory
All reasons and checks

btsouth/toolport

Install

Manual install

"$HOME/.local/bin/toolport-gateway" --http 8765

Headless mode: first set `TOOLPORT_REGISTRY`, `TOOLPORT_DATA_DIR` and `TOOLPORT_HTTP_TOKEN`. Without `--http` the binary works as a stdio MCP server.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Calls of every connected MCP server pass through the gateway, including GitHub, databases and payments
  • The keys for those servers sit in the OS keychain and the gateway uses them on your behalf
  • With HTTP mode bound to a non-loopback address the gateway is reachable over the network, so a token is mandatory

This is third-party code. Review the repository files before installing.

What it does

Toolport is a free desktop app and a local `toolport-gateway` for MCP. You add a server once from the catalog, import ones you already have or paste a configuration, and Toolport finds the agents on the machine and gives each a single Toolport entry. Access sets decide which servers each agent can reach. API keys move out of plain-text configs into the operating system keychain. The agent sees a few meta-tools instead of hundreds of definitions: `toolport_search_tools` finds the right one by meaning, `toolport_call_tool` calls it, `toolport_status` shows the servers, and `toolport_run_script` runs one JavaScript orchestration on the gateway side for multi-step work. Toolport pins tool definitions and flags changes (for example, an approved tool whose description was rewritten) and hidden instructions in descriptions and results. The default Ask mode holds destructive calls for your approval, while Strict also quarantines changed tools and blocks detected injection. Every call lands in the Activity log. Without the desktop app, the gateway runs as `toolport-gateway --http 8765` with an access token, or as a stdio MCP server for a client that launches it.

Who it is for. Developers who keep a dozen MCP servers across several agents and are tired of duplicating settings and keys across configurations.

Good fit when

  • The same GitHub and Linear servers are configured separately in Claude Code, Cursor and VS Code, and a fix is needed in one place
  • MCP API keys sit in plain-text configs and have to move into the OS keychain
  • The agent receives hundreds of tool definitions on every request and context runs out fast
  • You want a log of all tool calls and destructive ones held until you confirm
  • Open WebUI or n8n must reach MCP servers through one protected HTTP and OpenAPI address

Not a fit when

  • One MCP server in one agent is connected: a gateway adds a layer that will not pay off
  • You need a gateway in Docker containers with an image catalog: the catalog has Docker MCP Gateway for that
  • You need a gateway that lives entirely on a server and collects servers behind one address with authorization: the catalog has MetaMCP

Example request

Find the Linear issue-creation tool through Toolport and create a task "Update dependencies"

MCP

Transport
stdio, http
Authentication
key is optional

Environment variables

TOOLPORT_HTTP_TOKEN secret
Token for the `--http` mode; required when binding to a non-loopback address
TOOLPORT_REGISTRY
Path to `registry.json` with the server list for headless mode
TOOLPORT_DATA_DIR
Folder for logs, caches and gateway state

Limitations

Approval prompts for destructive calls are shown by the desktop app, and on a server without it the safety policy is chosen up front. The agent plugin launches an already installed `toolport-gateway`, so the app must be opened once and Node.js is required. Syncing servers between computers is part of the paid Pro plan. Building the gateway from source on Linux requires stable Rust and Git, and a client the app has already connected should not also get the plugin: that creates two Toolport entries.

How to disable. Disconnect the client in the app's Clients view or remove the `toolport` entry from the agent's MCP configuration. Full removal of the app is described in `docs/uninstall.md`. Servers and keys in the OS keychain remain until you delete them in the app.

FAQ

How do I connect Toolport to Claude Code?

Install the app, add servers, open the Clients view and connect Claude Code, then restart the client once so it picks up the Toolport entry. Or install the agent plugin from `packaging/agent-plugin/toolport`: it launches the already installed gateway.

How does Ask differ from Strict?

Ask, the default, holds destructive calls for your approval. Strict also quarantines tools whose descriptions changed and blocks injection detected in descriptions and results.

How do I run the gateway without the app?

Set `TOOLPORT_REGISTRY` and `TOOLPORT_HTTP_TOKEN` and run `toolport-gateway --http 8765`. MCP clients use `/mcp`, while `/openapi.json` and `POST /{tool}` serve Open WebUI, n8n and LibreChat. Binding to a non-loopback address without a token is not allowed.

How much context does the gateway save?

For agents that send every tool definition on every request, the search meta-tools can cut input tokens several times over. Claude Code, Codex and Cursor already defer tools, so in Auto mode they get the full list, up to 800 tools for Claude Code. Measurements are in `BENCHMARK.md`.

Do keys travel to other computers?

No. Server sync in the Pro plan carries the settings, and secrets stay on each machine.

Discussion

No questions or reviews yet.

A single Rust gateway between an agent and all its MCP servers: the client sees 9 to 17 meta-tools and finds the rest on demand.

MCP serverBroad access84Repository stars

A CLI for any MCP server: list and call tools, resources and prompts, run mock and proxy modes, guard access and manage agent configs

CLIExtended access1.6KRepository stars

A universal MCP CLI client from Apify: persistent sessions, OAuth, JSON output for scripts and shell access to any MCP server for agents

CLIBroad access1.1KRepository stars

The mcpl CLI searches tools across several MCP servers and calls them from the terminal, with OAuth sign-in done by a human

CLIExtended access206Repository stars

A zero-dependency Python CLI: one catalog of MCP servers and skills for every agent, with only a compact index in context

CLIBroad access429Repository stars

An MCP bridge: a single run_python tool runs code in a container and calls your MCP servers

MCP serverBroad access343Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Toolport (this card)yeskey is optional239
Docker MCP Gatewayyesnot required1,631runs servers from the Docker catalog in isolated containers, while Toolport works with servers on your machine and keeps keys in the OS keychain
MetaMCPnoAPI key2,762a self-hosted gateway that collects servers behind one address with authorization, while Toolport installs as a desktop app with per-agent access sets

README in short

The README calls Toolport a free desktop app and local gateway for MCP, lists five advantages, three getting-started steps, documentation links and a section for teams. Installers are on the website and in GitHub releases, and Arch has a pacman repository.

README badge

Report a problem