mcp-server-server
镜像源
简介
MCP-Server-Server 是一个概念验证项目,允许您通过网络(而非标准输入输出)使用 MCP 服务器,解决传统 MCP 服务器使用中的进程管理问题。
快速开始
1. 将 stdio MCP 服务器转换为 websocket 服务器
bun run mcp-server -p 3001 -- npx -y @modelcontextprotocol/server-puppeteer@latest
2. 通过编程方式与 MCP 服务器交互
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { WebSocketClientTransport } from "@modelcontextprotocol/sdk/client/websocket.js";
// 创建 WebSocket 传输
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 服务器管理单独的进程
- 简化多用户环境下的服务器配置
- 通过标准 WebSocket 接口实现更好的可编程性
注意
目前仍在开发中,未完全解决多用户配置问题。