MCP JSON-RPC客户端和服务器示例
](https://smithery.ai/server/@melvincarvalho/mcpjs)
此存储库包含一个简单的、初学者友好的示例,展示了一个用JavaScript实现的受MCP启发的JSON-RPC客户端和服务器。该项目使用Node.js的内置模块演示了一个基本的通信流,没有任何外部依赖关系。
概述
- 服务器(
server.js):
- 侦听TCP端口4000。 - 实现两个JSON-RPC方法: - initialize:返回一个基本功能对象(宣传“echo”工具)。 - echo:返回客户端提供的参数。
- 客户(
client.js):
- 连接到端口4000上的服务器。 - 发送 initialize 请求之后是 echo 请求。 - 记录从服务器收到的响应。
先决条件
- 安装在您的系统上(建议使用v10或更高版本)。
入门指南
通过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您应该看到这样的消息:
Server listening on port 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许可证获得许可。请参阅 许可证 文件以获取详细信息。
贡献
请随时打开问题或提交带有改进或建议的pull请求。
______________________________________________________________________
编码愉快!
