MCP Server Proxy
A proxy server that connects to multiple MCP servers and provides a unified interface for tool access.
Features
- Connect to multiple MCP servers simultaneously
- Support for multiple configuration profiles
- Tool name prefixing with server names
- Run in either stdio or SSE mode
- Profile-based configuration management
Configuration
Create configuration files for each profile in the format config.<profile>.json. For example:
// config.developer.json
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
}
// config.personal.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/mirilale/Desktop"
]
}
}
}
Installation
npm install
Usage
Command Line Options
The server can be started with various command-line options:
# Start with default settings
node dist/server.js
# Start with a specific profile
node dist/server.js --profile developer
# or
node dist/server.js -p developer
# Start in SSE mode
node dist/server.js --mode sse
# or
node dist/server.js -m sse
# Start in SSE mode with custom port and host
node dist/server.js --mode sse --port 8080 --host 0.0.0.0
# Combine options
node dist/server.js --profile developer --mode sse --port 8080
Available options:
-
-p, --profile <name>: Specify which profile to use (defaults to "default") -
-m, --mode <mode>: Choose between "stdio" or "sse" mode (defaults to "stdio") -
--port <number>: Set the port for SSE mode (defaults to 3000) -
--host <host>: Set the host for SSE mode (defaults to "localhost")
Get help:
node dist/server.js --help
Tool Naming Convention
Tools are prefixed with their server name. For example:
- A tool named
read_filefrom thefilesystemserver becomesfilesystem_read_file - A tool named
get_podsfrom thekubernetesserver becomeskubernetes_get_pods
SSE Mode Endpoints
When running in SSE mode, the server exposes the following endpoints:
-
GET /sse: Establishes an SSE connection -
POST /messages: Handles tool requests (requiressessionIdquery parameter)
Example SSE client usage:
const eventSource = new EventSource("http://localhost:3000/sse");
eventSource.onmessage = (event) => {
console.log("Received:", event.data);
};
Error Handling
The server provides detailed error messages including:
- Profile loading errors
- Server connection failures
- Tool not found errors
- Server disconnection errors
All errors include the current profile name for better context.
Development
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode
npm run dev:stdio:developer
# or
npm run dev:sse:developer
# Run with mpc inspector
npm run inspect
License
MIT
相关推荐
I find academic articles and books for research and literature reviews.
Confidential guide on numerology and astrology, based of GG33 Public information
Advanced software engineer GPT that excels through nailing the basics.
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Take an adjectivised noun, and create images making it progressively more adjective!
Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.
L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.
Plateforme d'automatisation de workflow à code équitable avec des capacités d'IA natives. Combinez le bâtiment visuel avec du code personnalisé, de l'auto-hôte ou du cloud, 400+ intégrations.
Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX
🧑🚀 全世界最好的 LLM 资料总结 (数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Résumé des meilleures ressources LLM du monde.
Une liste organisée des serveurs de protocole de contexte de modèle (MCP)
Reviews
user_Cqkt3Jv7
As a loyal user of mcp-server-proxy, I can confidently say this project by amirilovic is a game-changer for server management. The seamless integration and robust performance truly stand out. It's evident that a lot of thought and effort went into its development. Highly recommended for anyone looking to streamline their server operations. Check it out on GitHub!