Skip to main content
Glama
melvincarvalho

MCP JSON-RPC Server

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

铁匠徽章

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

概述

  • 服务器( server.js ):

    • 侦听 TCP 端口 4000。

    • 实现两种 JSON-RPC 方法:

      • initialize :返回一个基本功能对象(宣传“echo”工具)。

      • echo :回显客户端提供的参数。

  • 客户端( client.js ):

    • 连接到服务器的端口 4000。

    • 发送initialize请求,然后发送echo请求。

    • 记录从服务器收到的响应。

Related MCP server: Echo MCP Server

先决条件

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

入门

通过 Smithery 安装

要通过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 许可证。详情请参阅LICENSE文件。

贡献

欢迎随时提出问题或提交改进或建议的请求。


编码愉快!

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A Node.js-based MCP server implementing JSON-RPC 2.0, allowing users to generate random US State and signature soup combinations through a fun and simple tool.
    1
    29 npm
    1
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    A simple demonstration MCP server that provides an echo tool and resource for learning how to build MCP servers. Serves as a starting point and template for creating custom MCP server implementations.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server designed for learning and experimentation. It provides a foundational setup for developers to build, run, and debug MCP server implementations using Node.js.
    -