返回市场
麦普杰斯

麦普杰斯

作者:melvincarvalho3 星标更新:2025-02-02

项目介绍

MCP JSON-RPC 客户端和服务端示例

smithery 徽章

此仓库包含一个简单的、适合初学者的MCP启发的JSON-RPC客户端和服务端实现示例,使用JavaScript编写。该项目展示了如何使用Node.js内置模块进行基本通信流程演示,无需任何外部依赖。

概览

  • 服务端(server.js):

    • 监听TCP端口4000。
    • 实现两个JSON-RPC方法:
      • initialize:返回一个基本功能对象(宣传一个“回声”工具)。
      • echo:返回客户端提供的参数。
  • 客户端(client.js):

    • 连接到端口4000的服务端。
    • 发送一个initialize请求,然后发送一个echo请求。
    • 记录从服务端接收到的响应。

预备条件

  • 在您的系统上安装了Node.js(推荐版本10或更高)。

开始使用

通过Smithery安装

要通过Smithery自动安装MCP JSON-RPC客户端和服务端示例:

npx -y @smithery/cli install @melvincarvalho/mcpjs --client claude

手动安装

  1. 克隆仓库:

    git clone https://github.com/sandy-mount/mcpjs.git
    cd mcp-jsonrpc-example
    
  2. 运行服务端:

    打开一个终端窗口并运行:

    node server.js
    

    您应该会看到类似的消息:

    服务端正在监听端口4000
    
  3. 运行客户端:

    打开另一个终端窗口并运行:

    node client.js
    

    客户端将连接到服务端,发送初始化和回声请求,并显示响应。

工作原理

  • 服务端监听端口4000上的传入TCP连接。当它接收到一个以换行符结尾的JSON-RPC消息时,它会处理该请求:

    • 对于initialize方法,它返回一个带有基本功能和服务端信息的JSON-RPC响应。
    • 对于echo方法,它返回在请求中发送的参数。
    • 如果请求了一个未知的方法,它会返回一个JSON-RPC错误。
  • 客户端连接到服务端,发送一个JSON-RPC初始化请求,等待一段时间后,再发送一个回声请求。服务端的响应会被打印到控制台。

文件

  • server.js — JSON-RPC服务端实现。
  • client.js — JSON-RPC客户端实现。

自定义

您可以扩展此示例,例如:

  • 向服务端添加更多的JSON-RPC方法。
  • 实现额外的错误处理和日志记录。
  • 尝试不同的传输协议或添加TLS支持。

许可证

本项目采用MIT许可证。详情见LICENSE文件。

贡献

欢迎提出问题或提交改进和建议的拉取请求。


祝您编码愉快!