Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-0nelist all my connected backend servers and their current status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-0ne
One MCP server to rule them all.
A standalone MCP Gateway that multiplexes N backend MCP servers behind a single endpoint. Connect your MCP client once, manage backends dynamically at runtime.
MCP Client ──(HTTP)──> mcp-0ne (:8150)
│
┌───────────────┼───────────────┐
│ │ │
(HTTP client) (stdio spawn) (stdio spawn)
│ │ │
HTTP MCP stdio MCP stdio MCP
server server serverQuickstart
# Install
pip install -e .
# Start with empty backends
python -m mcp_0ne.server
# Verify
curl http://127.0.0.1:8150/healthConnect Claude Code
Add to your .mcp.json:
{
"mcpServers": {
"0ne": {
"type": "http",
"url": "http://127.0.0.1:8150/mcp"
}
}
}Add Backends
Via MCP tool (from Claude Code)
Call 0ne__add:
{
"id": "myapp",
"type": "http",
"prefix": "myapp",
"url": "http://127.0.0.1:8100/mcp",
"description": "My App MCP Server"
}Via REST API
curl -X POST http://127.0.0.1:8150/api/backends/myapp \
-H "Content-Type: application/json" \
-d '{"type":"http","prefix":"myapp","url":"http://127.0.0.1:8100/mcp"}'Via config file
Edit backends.json:
{
"backends": {
"myapp": {
"type": "http",
"url": "http://127.0.0.1:8100/mcp",
"prefix": "myapp",
"enabled": true,
"description": "My App MCP Server"
}
},
"settings": {
"separator": "__",
"lazy_connect": true,
"tool_cache_ttl": 60,
"log_level": "info"
}
}Backend Types
HTTP
Connects to an existing MCP server over HTTP JSON-RPC 2.0.
Field | Required | Description |
| yes |
|
| yes | Tool namespace prefix |
| yes | MCP endpoint URL |
| no | Health check URL |
| no | Request timeout (default: 30s) |
| no | Human-readable description |
| no | Auto-connect (default: true) |
Stdio
Spawns a subprocess and communicates via MCP SDK stdio transport.
Field | Required | Description |
| yes |
|
| yes | Tool namespace prefix |
| yes | Executable path |
| no | Command arguments |
| no | Environment variables |
| no | Operation timeout (default: 60s) |
| no | Human-readable description |
| no | Auto-connect (default: true) |
Admin Tools
Available as MCP tools (prefix 0ne__):
Tool | Description |
| List all backends with state and tool counts |
| Health check all backends with latency |
| Register a new backend at runtime |
| Disconnect and unregister a backend |
| Enable a disabled backend |
| Disable a backend without removing it |
| Force reconnect and re-enumerate tools |
REST API
Method | Path | Description |
|
| List all backends |
|
| Add a new backend |
|
| Remove a backend |
|
| Update backend config |
|
| Reconnect and refresh |
Environment Variables
Variable | Default | Description |
|
| Server bind address |
|
| Server port |
|
| Config file path |
|
| Log level |
Tool Namespacing
Tools from backends are exposed with a namespace prefix:
{prefix}__{original_tool_name}For example, a backend with prefix myapp exposing a tool search becomes myapp__search. The separator __ is configurable in settings.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.