mcporter-bridge
Expose your local MCPorter registry as one stable MCP server for coding clients.
mcporter-bridge is a small FastMCP server that turns your existing mcporter setup into a single, reusable entry point for clients like Codex, Claude Code, Cline, and Cursor.
Why
If you use multiple coding clients, your MCP setup usually fragments fast:
- Codex has one config format
- Claude Code has another
- Cline and Cursor add their own
mcporteralready knows your real server registry, auth state, and runtime
mcporter-bridge keeps mcporter as the source of truth and gives clients one stable MCP server instead of another pile of duplicated configs.
What It Does
- Reads your local
mcporterregistry at runtime - Lists configured MCP servers and their health
- Inspects a specific server and its tool schemas
- Calls any tool on any configured server through
mcporter - Optionally exposes local
agent-reachdiagnostics as helper tools
This is not a transport proxy and not an enterprise gateway. It is a local-first bridge for client integration.
Tools
mcporter_list_serversmcporter_get_servermcporter_inspect_servermcporter_call_toolmcporter_config_doctormcporter_versionagent_reach_doctoragent_reach_watchagent_reach_version
All tools return structured output with:
oktimed_outcommandtimeout_msreturncodestdoutstderrparsed_json
Install
pip
pip install mcporter-bridge
pipx
pipx install mcporter-bridge
After installation, you get two commands:
mcporter-bridgeto run the MCP servermcporter-bridge-configto generate or install client snippets
local development
git clone https://github.com/Citrus086/mcporter-bridge.git
cd mcporter-bridge
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Requirements
mcporterinstalled and available onPATH- at least one configured MCP server in your local
mcporterregistry
Optional:
agent-reachinstalled if you want theagent_reach_*tools
Quick Check
mcporter-bridge
In another shell:
mcporter list --stdio "python3 -m mcporter_bridge" --json
Client Setup
Ready-made templates live in examples/.
Codex
Add this to ~/.codex/config.toml:
[mcp_servers.mcporter-bridge]
type = "stdio"
command = "python3"
args = ["-m", "mcporter_bridge"]
startup_timeout_ms = 30000
Or install it automatically:
mcporter-bridge-config install --client codex
Notes:
- OpenAI’s docs confirm that Codex reads MCP config from
~/.codex/config.tomlusing themcp_servers.<name>structure for MCP servers. - The stdio form here is also verified locally with
codex mcp add --help, which acceptscodex mcp add <name> -- <command...>for stdio servers.
Claude Code / Claude Desktop
Add this to your MCP config:
{
"mcpServers": {
"mcporter-bridge": {
"command": "python3",
"args": ["-m", "mcporter_bridge"]
}
}
}
Automatic install using the default ~/.claude.json path:
mcporter-bridge-config install --client claude
Notes:
- Anthropic’s Claude Code docs confirm that user-scoped MCP servers live in
~/.claude.json. - The same docs show project-scoped servers stored in
.mcp.jsonat the project root. - The documented JSON shape uses
mcpServerswithcommand,args, andenvfor stdio servers.
Cline
Use the same stdio shape:
{
"mcpServers": {
"mcporter-bridge": {
"command": "python3",
"args": ["-m", "mcporter_bridge"]
}
}
}
Generate snippets:
mcporter-bridge-config snippet --client cline
Write to an explicit config path:
mcporter-bridge-config install --client cline --config-path /path/to/mcp.json
Notes:
- Cline’s docs confirm that MCP settings are stored in
cline_mcp_settings.json. - For local stdio servers, the documented JSON shape uses
mcpServerswithcommand,args,env,alwaysAllow, anddisabled. - Cline’s docs use
typefor remote transport config such asstreamableHttp, but not in the local stdio example, so the bridge does not emittypefor Cline.
Cursor
Cursor uses mcp.json with mcpServers, and for stdio servers the bridge emits type: "stdio" explicitly.
Global config example:
{
"mcpServers": {
"mcporter-bridge": {
"type": "stdio",
"command": "python3",
"args": ["-m", "mcporter_bridge"]
}
}
}
Install into the default global path:
mcporter-bridge-config install --client cursor
Or write to an explicit config path:
mcporter-bridge-config install --client cursor --config-path /path/to/mcp.json
Config Helper
Print a snippet:
mcporter-bridge-config snippet --client codex
Customize the launcher:
mcporter-bridge-config snippet \
--client claude \
--python-command /opt/homebrew/bin/python3.13 \
--module-name mcporter_bridge
Install directly into a config file:
mcporter-bridge-config install --client codex
mcporter-bridge-config install --client claude
When an existing config file is updated, the helper writes a sibling backup with a .bak suffix first.
Example Prompts
- "List the MCP servers available through mcporter."
- "Inspect the xiaohongshu server and show its tools."
- "Call
check_login_statusonxiaohongshu." - "Run Agent Reach doctor."
Environment Variables
MCPORTER_BRIDGE_MCPORTER_BIN: override themcporterbinary pathMCPORTER_BRIDGE_AGENT_REACH_BIN: override theagent-reachbinary pathMCPORTER_BRIDGE_MAX_OUTPUT_CHARS: cap captured stdout/stderr length
Roadmap
- higher-level convenience tools for common MCPs
- optional tool allowlists / denylists
- more client-specific path discovery
- richer auth and diagnostics helpers
License
MIT
Metadata
Release files for mcporter-bridge 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcporter_bridge-0.1.0.tar.gz | 11.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcporter_bridge-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.7 kB
Release files / mcporter_bridge-0.1.0.tar.gz
| Download URL | mcporter_bridge-0.1.0.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f1cb41b09da1a3a14816f59f315b850e6cbd39c28dfa1c893c57a7b71dbe71b
|
|
BLAKE2b-256 checksum How to use checksums |
b09b5eb6cc018db04c3d66437459f5ebdeab9f71982c8f6d4732013c417e64ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.
Transparency logRelease files / mcporter_bridge-0.1.0-py3-none-any.whl
| Download URL | mcporter_bridge-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1df55f7021e06ff2f38363ef15466a3a33e98244f39f87d362de86c9ed3e234e
|
|
BLAKE2b-256 checksum How to use checksums |
56b59140250b1e28fa7b75cacbf8eaf3280ec26845adbc941ef43cffd329b5ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.
Transparency logSecurity for mcporter-bridge 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for mcporter_bridge-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.