
mcp-server-server

2025.01.09
0
TypeScriptMCP服务器管理网络通信优化开发效率
该mcp-server-server是一个概念验证的MCP服务器,旨在简化MCP服务器的使用和管理。它通过将传统的stdio通信方式转换为基于网络的websocket通信,使得MCP服务器可以像普通服务器一样通过网络进行交互,从而避免了进程管理的复杂性和基础设施问题。
View on GitHub
Overview
基本能力
产品定位
该服务旨在简化MCP服务器的使用和管理,通过提供一种更高效的通信机制来替代传统的stdio方式。
核心功能
- 转换stdio MCP服务器为websocket MCP服务器:将现有的MCP服务器通过websocket暴露出来,便于网络交互。
- 程序化交互:允许开发者通过网络与MCP服务器进行交互,无需直接管理进程。
- 工具列表展示:可以列出可用的工具及其功能。
适用场景
- 多用户环境:在需要为不同用户配置不同MCP服务器的场景下,简化管理和操作。
- 开发效率提升:开发者可以通过网络直接与MCP服务器交互,无需处理进程管理的复杂性。
工具列表
- puppeteer_navigate:用于浏览器导航。
- puppeteer_screenshot:用于截取浏览器屏幕。
- puppeteer_click:用于模拟点击操作。
- puppeteer_fill:用于填充表单。
- puppeteer_evaluate:用于执行浏览器中的JavaScript代码。
常见问题解答
- 为什么需要转换stdio MCP服务器为websocket MCP服务器?
- 传统的stdio方式需要每个MCP客户端管理进程,增加了复杂性和基础设施负担。
- 如何与MCP服务器进行程序化交互?
- 使用提供的SDK和websocket通信机制,开发者可以轻松地与MCP服务器进行交互。
使用教程
使用依赖
- 确保已安装Bun运行时环境。
安装教程
- 克隆仓库并进入项目目录。
- 运行以下命令启动MCP服务器:
zsh bun run mcp-server -p 3001 -- npx -y @modelcontextprotocol/server-puppeteer@latest
调试方式
- 使用提供的示例客户端代码进行调试: ```typescript 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();
2. 运行客户端代码并检查输出:
zsh
bun run src/mcp-server-wrapper/example-client/example-client.ts
```
许可证
None