JSON-RPC通信示例

一个基于Node.js的简单JSON-RPC客户端和服务器实现示例,用于演示基本的通信流程。

  • by melvincarvalho
  • JavaScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 melvincarvalho/mcpjs

使用说明

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

此存储库包含一个简单的、初学者友好的示例,展示了一个用JavaScript实现的受MCP启发的JSON-RPC客户端和服务器。该项目使用Node.js的内置模块演示了一个基本的通信流,没有任何外部依赖关系。

概述

  • 服务器(server.js):

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

    • 连接到端口4000上的服务器。
    • 发送 initialize 请求之后是 echo 请求。
    • 记录从服务器收到的响应。

先决条件

  • Node.js 安装在您的系统上(建议使用v10或更高版本)。

入门指南

通过Smithery安装

通过以下方式自动安装Claude Desktop的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
    

    您应该看到这样的消息:

    Server listening on port 4000
    
  3. 运行客户端:

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

    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请求。


编码愉快!