Stateless HTTP proxy that exposes any REST API as an MCP tool
Project description
MCPlex
A stateless HTTP proxy that exposes any REST API as an MCP tool — no SDK, no wrapper library, no per-connector code.
MCPlex sits between AI coding agents (Claude Code, Cursor, Codex) and your
backend REST APIs. Agents discover tools via the standard MCP tools/list
handshake and call them via tools/call. MCPlex translates those calls
into HTTP requests to your backend.
The key idea: connectors are YAML, not Python. Adding a new tool means adding a few lines of config — method, URL path, parameter mapping. The generic HTTP proxy handler does the rest.
What It's Meant to Do
Engineering teams build internal AI tools — incident responders, CI diagnosers, policy checkers, DORA metric dashboards. Each tool ships with its own UI or CLI. Adoption is low because engineers won't learn N different interfaces.
MCPlex changes the distribution model: one MCP server, all tools. Agents discover everything on startup. Engineers never leave their editor.
The repo includes 4 public connectors (ai-code-guardian,
ci-doctor,
sprint-intelligence,
ai-incident-commander)
as a concrete demonstration — 9 tools across 4 systems, all exposed
through a single /mcp endpoint.
What It Is Not
- Not an AI framework. MCPlex contains zero LLM calls, zero prompts, zero model dependencies. It is a pure HTTP proxy.
- Not an MCP SDK. MCPlex implements the MCP wire protocol directly. Backend tools never import an MCP library or add an MCP dependency.
- Not a replacement for backend APIs. MCPlex does not transform data or add business logic. It proxies calls to your existing REST endpoints.
Architecture
config.yaml
│
┌──────────▼──────────┐
│ Tool Registry │
│ name → route │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ HTTP Proxy Handler │
│ (generic — reads │
│ method, path, │
│ param_mapping │
│ from config) │
└────┬────┬────┬──────┘
│ │ │
┌─────▼┐ ┌▼───┐┌▼────┐
│ API A│ │API B││API C│
└──────┘ └────┘└─────┘
- On startup, MCPlex reads
config.yamland builds a tool registry. - Each
type: httpconnector generates an async proxy handler. - An agent connects and calls
tools/list— MCPlex returns the catalog. - The agent calls
tools/call— MCPlex maps MCP parameters to HTTP parameters and makes the request. - The backend response is returned as an MCP tool result.
Two transport modes, auto-detected by the Accept header:
| Accept header | Response format |
|---|---|
application/json |
JSON-RPC over HTTP POST |
text/event-stream |
Server-Sent Events (Streamable HTTP) |
Quick Start
pip install mcplex
# Copy and edit environment (for docker-compose)
cp .env.example .env
# Start with default config
mcplex serve --config config.yaml
Connect Claude Code: claude --mcp http://localhost:8000/mcp
Included Connectors
4 MIT-licensed public repos, wired as MCP tools via thin API adapters (see Integration Guide for the pattern):
| Connector | Repo | Tools |
|---|---|---|
| guardian | ai-code-guardian | guardian_check_policy, guardian_get_coverage |
| ci-agent | ci-doctor | ci_diagnose_failure, ci_get_pipeline_history |
| sprintsense | sprint-intelligence | dora_get_metrics, dora_get_trend |
| incident-cmdr | ai-incident-commander | incident_query_active, incident_query_history, incident_get_timeline |
Total: 9 MCP tools across 4 AI systems (3 real repos + 1 test-bench mock).
Docs
| Doc | Description |
|---|---|
| Integration Guide | How to connect repos via MCP API adapters |
| Specification | Architecture, transport, connector design |
| PRD | Product requirements and user stories |
| Sprint Plan (WBS) | Work breakdown and epics |
| Config Reference | YAML schema for connectors |
| E2E Test Plan & Results | Test plan, 9/9 results, 15 screenshots |
| Code Review | Internal code review |
Roadmap
Shipped (v0.3.0)
- Generic HTTP proxy connector (YAML-driven)
- Streamable HTTP + SSE auto-detect
- 4 public repo integrations
- Docker compose deployment
- 41 unit tests, 9 E2E tests passing
Next
- OSS readiness: issue templates, CODE_OF_CONDUCT, SECURITY.md
- GitHub Actions CI
- Contributing guide
- Claude Code demo recording
Future (v1.0.0)
- OAuth 2.0 / OIDC authorization
- Write tool approval flow
- Unified audit logging
- PyPI publish
- Rate limiting and config hot-reload
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcplex_backplane-0.3.0.tar.gz.
File metadata
- Download URL: mcplex_backplane-0.3.0.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fe2e0be7566e5c64f8acdd70948b5bb1786cb45505fbb45ba151c5063761f75
|
|
| MD5 |
c0082d9544d28b94bad909420dbb2e6a
|
|
| BLAKE2b-256 |
01038c401b652c46620aaa68bfef509a801d3d7fea436757013ab754fc5df674
|
File details
Details for the file mcplex_backplane-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mcplex_backplane-0.3.0-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37b2954ae7f0cf9fb095fa0916bf7dc57a1197d5cc2eaa6a5829e90f500c60ac
|
|
| MD5 |
c3e4febd9594980bacd3a67346d2762b
|
|
| BLAKE2b-256 |
56573d38d01f755e5b14cf78717e900e72fd912d546f0e31da8872c239462c30
|