mcp-server-server

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 服务器和用户配置启动服务,进一步简化管理流程。