mcp-server-server

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 接口实现更好的可编程性

注意

目前仍在开发中,未完全解决多用户配置问题。