Explore MCProxy features for flexible cross-server communication in Model Context Protocol architecture
MCProxy is an experimental project designed to serve as a universal adapter for Model Context Protocol (MCP) clients and servers. It introduces new features and functionalities into the workflow between MCP Clients and Servers, making it easier to integrate and manage various AI applications that support MCP protocols. MCProxy bridges gaps in MCP implementations, enabling enhanced interaction and communication among different MCP entities. By serving as both an MCP client and server simultaneously, MCProxy facilitates seamless integration across a wide range of AI tools.
MCProxy offers several core features and capabilities that enhance the functionality of MCP clients and servers:
MCProxy can log all messages exchanged between an MCP Client and multiple servers, providing detailed traceability for debugging and auditing purposes. Users can configure what data to log (requests, responses, errors) and where the logs should be stored.
By aggregating capabilities from different MCP Servers, MCProxy ensures that users have a unified view of all available functionalities provided by multiple servers in one application.
MCProxy allows selective access to specific capabilities by blocking certain ones. This feature is useful for compliance and security reasons, ensuring that only necessary services are exposed to the client.
In environments with numerous MCP Servers, name collisions can occur. MCProxy can resolve these issues by renaming conflicting capabilities, making it easier for clients to interact with specific servers without ambiguity.
MCProxy supports real-time content updates as messages pass through the adapter. This ensures that clients receive the most current data and information available from the servers they connect to.
The internal architecture of MCProxy consists of several components that work together to provide its core features:
Handles communication with MCP Clients, managing requests and responses between them and the connected MCP Servers. It ensures efficient data transfer and error handling.
Manages a list of connected MCP Servers and handles their communication. It includes mechanisms for routing messages based on specific configurations or client requests.
Provides basic features that are always available, such as logging and content updates. These functionalities can be enabled or disabled according to the client's preferences.
Manages external modules that extend MCProxy’s capabilities. External modules provide extra-features and can be configured independently to enhance specific aspects of the integration process.
The core component, Dispatcher, is responsible for forwarding messages between MCP Clients and Servers while applying internal features and calling appropriate external modules based on their functionality.
To get started using MCProxy as an MCP Server:
git clone https://github.com/LaurentAjdnik/mcproxy.git
cd mcproxy
config.json
file to include details about connected MCP Servers and desired configurations.npx mcp-server
Imagine a scenario where an AI application, such as Claude Desktop or Continue, needs to connect to various data sources for real-time processing. MCProxy acts as the intermediary, aggregating data from multiple APIs into a cohesive workflow, ensuring seamless interaction between different tools.
Consider a situation where an AI application is running on Cursor and requires access to specialized tools from other MCP Servers. MCProxy seamlessly routes requests and responses, allowing the app to perform complex tasks using resources from multiple servers while maintaining security and compliance.
MCProxy supports integration with various MCP clients, including Claude Desktop, Continue, and Cursor:
MCP Client | Resources | Tools | Prompts |
---|---|---|---|
Claude Desktop | ✅ | ✅ | ✅ |
Continue | ✅ | ✅ | ✅ |
Cursor | ❌ | ✅ | ❌ |
Here’s an example of how to configure MCProxy to connect with various MCP Servers:
{
"mcpServers": {
"claude-desktop-host": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-claude-desktop"],
"env": {
"API_KEY": "your-api-key"
}
},
"continue-server": {
"command": "start",
"path": "./server/continue.js",
"env": {
"OTHER_API": "api.example.com"
}
}
}
}
MCProxy is designed to be versatile and compatible with a wide array of MCP clients, tools, resources, and prompts. Its performance and compatibility matrix ensures that users can leverage the full potential of both their AI applications and the servers they connect to.
Users can fine-tune MCProxy’s behavior based on specific needs:
A1: Yes, MCProxy supports multiple MCP clients including Claude Desktop, Continue, and Cursor. Ensure your configuration aligns with the compatibility matrix.
A2: MCProxy renames conflicting capabilities to prevent ambiguity, making interactions more straightforward for MCP Clients.
A3: Absolutely! You can configure logging settings within your config.json
file to control which types of messages are logged and where they are stored.
A4: Yes, MCProxy supports security measures such as capability blocking and custom environment configurations. Ensure proper API key handling and secure configuration practices.
A5: Integrate your external modules by configuring their details in the config.json
file. These modules can extend or modify the behavior of MCProxy according to specific needs.
MCProxy is open-source and welcomes contributions from developers looking to enhance its functionality. Here’s how you can get involved:
By following these steps and integrating MCProxy into your workflow, you can significantly enhance the functionality of your AI applications while ensuring robust and flexible communication with various MCP servers.
Learn to connect to MCP servers over HTTP with Python SDK using SSE for efficient protocol communication
Next-generation MCP server enhances documentation analysis with AI-powered neural processing and multi-language support
Python MCP client for testing servers avoid message limits and customize with API key
Analyze search intent with MCP API for SEO insights and keyword categorization
Learn how to use MCProto Ruby gem to create and chain MCP servers for custom solutions
AI Vision MCP Server offers AI-powered visual analysis, screenshots, and report generation for MCP-compatible AI assistants