Server facts
MCP Proxy Server
Project
- Author
- TBXark
- Repository
- github.com/TBXark/mcp-proxy
- Website
- tbxark.github.io/mcp-proxy/
- License
- MIT
- Category
- MCP Gateways & Proxies
Tech
- Runtime / language
- goGo
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 737
- Last commit
- Data as of
Tags
- Aggregation
- Go
- Http
- Mcp Proxy
- Sse
Overview
MCP Proxy Server is an aggregation layer for installations that need several MCP servers reachable through one HTTP entrypoint. Instead of treating each backend as a separate client connection, the proxy combines their tools, prompts, and resources. It can connect to stdio, SSE, and streamable HTTP backends, and serve clients using SSE or streamable HTTP. This makes it relevant when local process-based integrations and network-accessible services need to participate in a common MCP access layer. The implementation uses Go and carries an MIT license.
The README documents source builds, installation through Go, and a Docker image. That image includes support for launching backend servers through npx and uvx. Docker examples either mount a local JSON configuration or supply a remote configuration URL. The supplied configuration facts also illustrate per-server settings, authentication-token options, and a tool filter. Those examples are configuration evidence, not a promise of particular upstream services being present in every deployment. Similarly, the structured GitHub tool catalog in the input represents a configured backend rather than native GitHub functionality implemented by the proxy. Actual exposed tools depend on the selected servers and filters. The README links to fuller endpoint and authentication documentation, but does not reproduce it. A hosted configuration converter is available for adapting Claude configurations, while deployment remains controlled by the proxy's own configuration file.
Install & configure
Requirements
- Go and make for the documented source build
- A JSON configuration describing the proxy and backends
- Required runtimes or connectivity for chosen backend servers
./build/mcp-proxy --config path/to/config.jsonRun make build in the cloned repository first, then replace the configuration path. The README also offers Go installation and Docker. Serving supports SSE or streamable HTTP; the exact client URL depends on deployment configuration. Listed GitHub tools are backend examples, and the sample blocks create_or_update_file.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Claude Desktop setup guideConfig file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Cursor setup guideConfig file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the VS Code setup guideConfig file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Windsurf setup guideConfig file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Claude Code setup guideExamples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository tool metadata. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| create_or_update_file | Configured GitHub backend: create or replace one repository file. |
| search_repositories | Configured GitHub backend: find repositories. |
| create_repository | Configured GitHub backend: create a repository. |
| get_file_contents | Configured GitHub backend: read repository files or directories. |
| push_files | Configured GitHub backend: commit several file changes together. |
| create_issue | Configured GitHub backend: open an issue. |
| create_pull_request | Configured GitHub backend: open a pull request. |
| fork_repository | Configured GitHub backend: fork a repository. |
| create_branch | Configured GitHub backend: add a repository branch. |
| list_commits | Configured GitHub backend: inspect branch commits. |
| list_issues | Configured GitHub backend: list issues with filters. |
| update_issue | Configured GitHub backend: change an issue. |
| add_issue_comment | Configured GitHub backend: comment on an issue. |
| search_code | Configured GitHub backend: search repository code. |
| search_issues | Configured GitHub backend: search issues and pull requests. |
| search_users | Configured GitHub backend: find GitHub users. |
| get_issue | Configured GitHub backend: inspect an issue. |
| get_pull_request | Configured GitHub backend: inspect a pull request. |
| list_pull_requests | Configured GitHub backend: list and filter pull requests. |
| create_pull_request_review | Configured GitHub backend: submit a pull-request review. |
| merge_pull_request | Configured GitHub backend: merge a pull request. |
| get_pull_request_files | Configured GitHub backend: list changed files in a pull request. |
| get_pull_request_status | Configured GitHub backend: inspect combined pull-request check status. |
| update_pull_request_branch | Configured GitHub backend: update a branch from its base. |
| get_pull_request_comments | Configured GitHub backend: read review comments. |
| get_pull_request_reviews | Configured GitHub backend: list pull-request reviews. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Present several MCP backends through one HTTP access point.
- Combine local stdio integrations with remote MCP services.
- Deploy a configured aggregation gateway in Docker.
- Apply a configured tool filter to a backend tool surface.
Strengths
- Aggregates tools, prompts, and resources rather than tools alone.
- Connects to three documented backend transport types.
- Docker image includes npx and uvx support.
Limitations
- Requires a configuration file describing the backends.
- Available tools depend on configured servers and filters.
- Detailed endpoints and authentication instructions are not reproduced in the supplied README.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.