Skip to main content
Glama

Toolport

CI Latest release License: MIT Discord Glama quality

Set up your MCP servers once. Use them in every AI client.

Toolport is a local gateway for MCP, the protocol that gives AI apps access to tools like GitHub, Slack, and databases. Connect your servers once, then share them across Claude, Cursor, Codex, VS Code, and other clients.

Download · Website & demo · Discord

Toolport on Linux with the Tokyo Night theme

Why Toolport?

  • Less context overhead. Agents search for tools when they need them instead of loading every tool definition up front. See the benchmarks.

  • One setup for every client. Add and authenticate each server once. Use profiles to choose which servers each client can access.

  • Keys stay local. Credentials live in your OS keychain, outside client configs.

  • Control over tool calls. Disable tools, require approval for destructive calls, and review activity in one place.

  • Shared agent rules. Write instructions once and apply them to supported clients, with a preview before changes are written.

Related MCP server: Proxima

Get started

  1. Download Toolport for Windows, macOS, or Linux.

  2. Add a server from the catalog, import an existing setup, or paste a server config.

  3. Authenticate the server, then open Clients and connect your AI apps.

Installers and release notes are also on GitHub Releases. For Linux desktop integration, see Toolport on Omarchy.

Documentation

Development

Requires Node.js and stable Rust, plus the platform dependencies described in Contributing.

npm ci
npm run build:gateway
npm run tauri dev

See Contributing for testing and build instructions.

Toolport Teams

Share server configuration and policies across a team while each member keeps their own credentials. Hosted and self-hosted options.

License

The desktop app and gateway are MIT licensed.

Available Tools

4 tools
toolport_call_toolA

Invoke a tool discovered via toolport_search_tools. Pass the tool's exact name (as returned by the search) and put ALL of that tool's parameters INSIDE the arguments object (matching its input schema) - not at the top level next to name. Never invent or guess an identifier (teamId, accountId, projectId, etc.): if a required value isn't known, first call a list or get tool on the SAME server to obtain it, then call this with the real value.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact tool name from toolport_search_tools.
argumentsNoArguments for the tool, per its input schema.

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It describes invocation but doesn't clarify side effects (read-only vs write), return value, or error behavior. Adequate but lacks depth for a call tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no fluff, purpose first, then structural detail, then caution. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple parameters and no output schema, the description covers usage and pitfalls. However, it omits return value (implied by sibling tools) could be slightly more explicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters, but description adds value by explaining the nesting of arguments and giving context about not inventing identifiers, which helps agent avoid common mistakes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it invokes a tool discovered via toolport_search_tools, with specific verb 'Invoke' and resource 'tool'. It distinguishes from sibling tools (toolport_search_tools, toolport_fetch_result, toolport_status) by its unique action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (after searching), how to structure arguments (inside `arguments` object), and what not to do (never invent identifiers). Provides fallback guidance to call list/get tools if needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolport_fetch_resultA

Read more of a large tool result that Toolport truncated. When a result is too big for context, Toolport returns the head plus a cursor in a [Toolport shaped this result] marker; call this with that cursor and the offset shown in the marker to page through the rest. Nothing was lost.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorYesThe cursor from the marker.
offsetYesCharacter offset to read from (shown in the marker).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool paginates through a truncated result, that nothing is lost, and how the marker works. Could mention behavior for invalid cursors, but overall transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, then usage, then reassurance. No unnecessary words. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description doesn't detail return format but implies it returns the next chunk. It covers the trigger and parameters adequately. Could specify what to expect on success or failure, but mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for both parameters, with descriptions already defining cursor and offset. The description adds context that the offset is shown in the marker, but this is minor. Baseline 3 is appropriate as the description adds marginal value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads more of a large tool result that was truncated, using a cursor and offset. It distinguishes itself from sibling tools like toolport_call_tool (calls a tool) and toolport_search_tools (searches tools).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use: when a result is too big and a marker is returned. It details the parameters (cursor and offset from the marker) and reassures that nothing was lost. No explicit exclusion of alternatives, but the context makes it clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolport_search_toolsA

Your single gateway to every connected MCP server and ALL their tools. Try this FIRST for ANY external action or data the user asks for - sending or listing email, deployments, payments, databases, repos, issues, files, web search, etc. Do NOT reach for an unrelated tool or tell the user a capability is unavailable until you have searched here; if the service is connected, its tool is here. Returns matching tools with their exact name, description, and input schema; call one with toolport_call_tool. Once a result matches what you need, call it - do NOT keep searching for a better one (the first result includes its full schema and is ready to call). Pass server (a name/prefix like "resend") to scope to one server, and pass an EMPTY query with server to list ALL of that server's tools. If the result says more tools matched than were shown, narrow with server or raise limit before concluding a capability is missing - many servers expose a generic API bridge (a single write/create tool), so search by capability, not just an exact operation name. toolport_status lists every server prefix and its tool count. Large input schemas may be omitted from broad results (flagged schemaOmitted) to keep responses small - search a tool's exact name to get its full schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results (default 25, up to 200).
queryYesKeywords describing the capability you need (e.g. "list emails", "create payment", "recent deployments"). Empty lists tools (use with `server`).
serverNoOptional: limit to this server, by name/prefix (e.g. "resend").

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses that large input schemas may be omitted (schemaOmitted) and suggests searching exact name for full schema. Also notes that many servers expose generic API bridges. Does not mention any side effects or auth needs, which is acceptable for a read-only search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is lengthy but every sentence provides valuable guidance. It front-loads the main purpose and then offers detailed strategies. Could be slightly more concise, but efficient given the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's role (search across multiple servers) and lack of output schema, the description is remarkably complete. Covers scoping, handling incomplete results, schema omission, and integration with sibling tools. Leaves no major gaps for an AI agent to misuse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but description adds extra: explains empty query with server to list all tools, gives usage examples ('list emails'), and clarifies limit range (default 25, up to 200). Adds value beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is the gateway to all MCP servers' tools, using verbs like 'search' and 'list'. It distinguishes itself from siblings (toolport_call_tool, toolport_status) by specifying its role as the discovery entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit directives: use this FIRST for any external action, do not assume capability missing until searched, once matched call it without further searching. Gives strategies like using server scope, empty query, or raising limit. Mentions sibling toolport_status for listing servers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolport_statusA

Report Toolport's status: the MCP servers enabled in the active profile, each server's tool count, and how many tokens (and dollars) lazy discovery has saved you so far.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It indicates a non-destructive read operation, but does not disclose any potential side effects, caching, rate limits, or performance characteristics. For a simple report tool, this is minimally adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the core purpose and efficiently enumerates the report contents with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description fully covers what the tool does and returns. It is complete for the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema is fully documented (100% schema description coverage). The description adds no parameter details, but none are needed. Baseline 4 for 0-parameter tools applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports Toolport's status, listing specific data points (MCP servers, tool counts, token/dollar savings). This distinguishes it from sibling tools (search, call, fetch) which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for obtaining status information, but it does not explicitly state when to use it versus alternatives or provide any exclusion criteria. It lacks clear usage guidance beyond the implicit context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.10.0
    • Addedtoolport_status
  2. 1 tool updatev1.9.6
    • Removedtoolport_status
  3. 4 tool updatesv1.5.0
    • First observedtoolport_call_tool
    • First observedtoolport_fetch_result
    • First observedtoolport_search_tools
    • First observedtoolport_status

TDQS

A4.5/5.0
Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: searching for tools, calling a tool, fetching truncated results, and reporting status. There is zero ambiguity in their roles.

Naming Consistency5/5

All tool names follow the consistent pattern `toolport_verb_noun` (call_tool, fetch_result, search_tools, status) using snake_case, making them predictable and easy to understand.

Tool Count5/5

Four tools is exactly right for a meta-server acting as a gateway: discovery, invocation, pagination handling, and status reporting. No tool feels excessive or missing.

Completeness5/5

The tool set covers the full lifecycle of working with external tools: search to discover, call to invoke, fetch to page through large results, and status to monitor. There are no apparent gaps for its stated purpose.

Maintenance

ActivityActive
ResponsivenessResponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    A local AI gateway that connects multiple AI providers (ChatGPT, Claude, Gemini, Perplexity) to your development environment via MCP tools, enabling coding, search, analysis, and more without API keys.
    18
    1,170
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server that connects AI coding agents (Claude Code, Codex, Cursor, etc.) on the same machine via a shared message bus, enabling them to chat, delegate tasks, and collaborate privately without cloud or internet.
    30
    17
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/btsouth/toolport'

If you have feedback or need assistance with the MCP directory API, please join our Discord server