Simplify MCP server usage by converting stdio servers to networked WebSocket servers for easier programmatic interaction
mcp-server-server is an innovative proof of concept MCP (Model Context Protocol) server designed to alleviate some of the common issues encountered with traditional MCP servers that use stdio (standard input/output) for communication. By converting these servers into WebSocket-based protocols, this solution aims to make integration easier and more scalable for AI applications.
This server introduces a critical enhancement by providing a uniform interface for a variety of AI applications through a robust standard protocol. It tackles the cumbersome process management issues associated with stdio-based servers, enabling simpler and more straightforward interactions between clients and underlying models or tools. This means that AI application developers can focus on enhancing their core functionality without having to cope with complex process management.
The architecture of mcp-server-server is meticulously designed to follow the Model Context Protocol (MCP) standards, ensuring seamless compatibility across different platforms and tools. It leverages WebSocket protocols for efficient communication between clients and servers, which significantly reduces latency and overhead compared to traditional stdio-based interfaces.
Below, we present the MCP protocol flow diagram illustrating the interaction between the AI application, the MCP client, and the mcp-server-server.
graph TD
A[AI Application] -->|MCP Client| B[MCP Server]
B --> C[Data Source/Tool]
style A fill:#e1f5fe
style C fill:#f3e5f5
One of the key strengths of mcp-server-server is its ability to integrate real-time data processing capabilities. For instance, an AI application built for financial analysis can leverage this server to fetch and analyze live stock price data from a variety of sources seamlessly.
Another critical use case involves secure access control in multi-tenant environments. By abstracting the process management behind an MCP server, it becomes easier to manage user-specific configurations without requiring each client application to handle these details directly.
To get started with mcp-server-server, follow these steps:
First, ensure you have Node.js and Bun installed on your machine. Then, clone the repository and install the necessary dependencies.
git clone https://github.com/modelcontextprotocol/mcp-server-server.git
cd mcp-server-server
bun install
The next step is to use the wrapper program provided by this repository. For example, you can convert the Puppeteer server via:
bun run mcp-server -p 3001 -- npx -y @modelcontextprotocol/server-puppeteer@latest
Once your WebSocket MCP server is running, you can interact with it using a clientside library like the one demonstrated below:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { WebSocketClientTransport } from "@modelcontextprotocol/sdk/client/websocket.js";
const transport = new WebSocketClientTransport(new URL("ws://localhost:3001"));
const client = new Client(
{
name: "example-client",
version: "1.0.0",
},
{
capabilities: {},
}
);
await client.connect(transport);
const tools = await client.listTools();
console.log(
"Tools:",
tools.tools.map((t) => t.name)
);
await client.close();
mcp-server-server enables seamless data integration for AI applications. By connecting to various databases, APIs, and data sources through a standardized protocol, developers can focus on building sophisticated analytics and insights without worrying about the underlying communication mechanisms.
This server also simplifies user management by abstracting away authentication processes. Developers can implement robust access controls using this MCP server as a central point for handling user sessions and permissions.
The mcp-server-server supports multiple MCP clients out of the box, including popular ones like Claude Desktop, Continue, Cursor, among others. This compatibility ensures that developers can leverage existing tools without making significant changes to their workflows.
| MCP Client | Resources | Tools | Prompts | Status |
|---|---|---|---|---|
| Claude Desktop | ✅ | ✅ | ✅ | Full Support |
| Continue | ✅ | ✅ | ✅ | Full Support |
| Cursor | ❌ | ✅ | ❌ | Tools Only |
mcp-server-server is designed to optimize both performance and scalability. It supports a wide range of tools and protocols, making it versatile for diverse applications.
Here's an example configuration snippet that demonstrates setting up an MCP server with specific environment variables.
{
"mcpServers": {
"[server-name)": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-[name]"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
For advanced configurations, developers can customize the server settings and security parameters. This includes adjusting timeouts, enabling additional logging features, and securing environment variables.
To enhance security, ensure that sensitive information such as API keys and secrets are stored securely using environment variables or other secure mechanisms.
Q: Can mcp-server-server be used with any MCP client?
Q: How can I optimize performance for my AI application using this server?
Q: What are the key benefits of using WebSocket over stdio for MCP servers?
Q: Can I use this server with any AI application or do I need specific tools?
Q: How do I secure my MCP client interactions using mcp-server-server?
If you're interested in contributing to the development of mcp-server-server, please refer to our contribution guidelines. We welcome community involvement to enhance this project and make it even more powerful for developers building robust AI applications.
git checkout -b feature-branch.git commit -m "Add some value"git push origin feature-branchFor more information on the Model Context Protocol (MCP) and related resources, visit ModelContextProtocol.io.
By leveraging mcp-server-server, developers can significantly streamline their AI application development process, focusing more on innovation and less on infrastructure management.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration