Information
MCP JSON-RPC 客户端和服务器示例
此仓库包含一个简单的、适合初学者的、受MCP启发的JSON-RPC客户端和服务器的JavaScript实现示例。该项目展示了使用Node.js内置模块而无需任何外部依赖的基本通信流程。
概述
服务器 (server.js):
监听TCP端口4000。
实现了两个JSON-RPC方法:
initialize: 返回一个基本的能力对象(宣传一个“echo”工具)。
echo: 回显客户端提供的参数。
客户端 (client.js):
连接到端口4000上的服务器。
发送一个initialize请求,然后发送一个echo请求。
记录从服务器收到的响应。
前提条件
在您的系统上安装了Node.js(推荐v10或更高版本)。
开始使用
通过Smithery安装
要通过Smithery自动为Claude Desktop安装MCP JSON-RPC 客户端和服务器示例:
npx -y @smithery/cli install @melvincarvalho/mcpjs --client claude
手动安装
克隆仓库:
git clone https://github.com/sandy-mount/mcpjs.git
cd mcp-jsonrpc-example
运行服务器:
打开一个终端窗口并运行:
node server.js
您应该会看到如下消息:
服务器正在监听端口4000
运行客户端:
打开另一个终端窗口并运行:
node client.js
客户端将连接到服务器,发送初始化和回显请求,并显示响应。
工作原理
服务器在端口4000上监听传入的TCP连接。当它接收到一个JSON-RPC消息(每个消息以换行符结束)时,它会处理请求:
对于initialize方法,它返回一个带有基本能力和服务器信息的JSON-RPC响应。
对于echo方法,它返回请求中发送的参数。
如果请求了一个未知的方法,它将以JSON-RPC错误响应。
客户端连接到服务器,发送一个JSON-RPC initialize请求,稍等片刻后发送一个echo请求。来自服务器的响应将打印到控制台。
文件
server.js — JSON-RPC服务器实现。
client.js — JSON-RPC客户端实现。
自定义
您可以通过以下方式扩展此示例:
向服务器添加更多的JSON-RPC方法。
实现额外的错误处理和日志记录。
尝试不同的传输协议或添加TLS支持。
许可证
本项目采用MIT许可证发布。详情请参阅LICENSE文件。
贡献
欢迎随时提出问题或提交改进和建议的拉取请求。
愉快地编码!