mcp-server-server
服务器的MCP Server。
概述
MCP-Server-Server 是一个概念验证项目,允许您通过网络方式(而非标准输入输出)启动和管理多个 MCP 服务器,解决了传统 MCP 服务器使用中的进程管理和配置困难。
为什么需要它
传统 MCP 服务器使用标准输入输出(stdio)作为传输机制,导致:
- 每个客户端都需要管理多个进程
- 多用户环境下配置和管理复杂
快速开始
1. 将 stdio MCP 服务器转换为 WebSocket 服务器
bun run mcp-server -p 3001 -- npx -y @modelcontextprotocol/server-puppeteer@latest
2. 与 WebSocket MCP 服务器交互
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.map((t) => t.name));
await client.close();
3. 运行示例客户端
bun run mcp-server-wrapper-client
# 或
bun run src/mcp-server-wrapper/example-client/example-client.ts
输出示例:
工具: [ "puppeteer_navigate", "puppeteer_screenshot", "puppeteer_click", "puppeteer_fill", "puppeteer_evaluate" ]
下一步开发
未来计划:创建单一 MCP 服务器,能够为特定的 MCP 服务器和用户配置启动服务,进一步简化管理流程。