返回市场
MCP服务器演示版

MCP服务器演示版

作者:etrex2 星标更新:2025-08-10

项目介绍

MCP 服务器展示

英文版

此项目用于练习目的的模型上下文协议(MCP)服务器。实现的主要目的是学习和理解 MCP 的运行原理。

目的

该项目的主要目标是:

  • 学习 MCP 协议的基本概念
  • 理解 MCP 服务器的操作机制
  • 实现一个简单的 MCP 服务器以加深理解

环境需求

环境需求:

  • Ruby
  • Node.js 和 npm(用于 MCP 检查器)

集成 Claude

集成 Claude 的步骤如下:

  1. 将此项目复制或下载到本地。
  2. 修改 Claude 的设置文件,添加以下 JSON 结构:
{
  "mcpServers": {
    "mcp_server_demo": {
      "command": "ruby",
      "args": [
        "<path_to_repository>/demo.rb"
      ]
    }
  }
}

注意:请将 <path_to_repository> 替换为你本地项目的绝对路径。

  1. 重启 Claude 应用新的设置。

测试方法

1. 使用 MCP 检查器

  1. 安装 MCP 检查器:
npm install -g @modelcontextprotocol/inspector
  1. 使用检查器运行服务器:
npx @modelcontextprotocol/inspector ruby simple_server.rb
npx @modelcontextprotocol/inspector ruby demo.rb
npx @modelcontextprotocol/inspector ruby server_with_fast_mcp.rb

2. STDIO 测试

MCP 服务器使用标准输入/输出(STDIO)进行通信。有两种测试方法:

方法 1:直接执行并手动输入(推荐)

  1. 首先启动服务器:
ruby simple_server.rb
  1. 然后在终端中输入 JSON-RPC 指令(每条指令一行):
{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"22024-11-05","capabilities":{"sampling":{},"roots":{"listChanged":true}},"clientInfo":{"name":"mcp-inspector","version":"0.0.1"}}}
{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"_meta":{"progressToken":0},"name":"calculate_sum","arguments":{"a":1,"b":2,"env":""}}}

这种方法可以持续运行服务器并进行多次测试。使用 Ctrl+C 可以终止服务器。

方法 2:使用管道(单次测试)

使用管道(|)可以快速测试单条指令,但每次指令结束后服务器会关闭:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | ruby simple_server.rb

注意:使用管道后,每次指令执行完成后,STDIN 会收到 EOF 并自动关闭服务器。如果需要连续测试多条指令,建议使用方法一。

开发说明

此项目提供了两种不同的实现方式,帮助理解 MCP 协议:

基本实现 - 简单服务器

  • simple_server.rb 单文件基本实现
    • 完整展示 MCP 协议的基本概念
    • 包含完整的 JSON-RPC 请求/响应过程
    • 展示工具注册和调用机制
    • 适合学习 MCP 的基本操作原理

架构实现 - 示例服务器

  • demo.rb 主入口点
    • 展示如何组织一个完整的 MCP 服务器项目
    • 模块化管理工具和处理程序
  • mcp_server.rb:核心 MCP 协议处理
    • 抽象协议层的实现
    • 提供可复用的基础类别和方法
    • 展示如何构建可扩展的 MCP 服务器架构

许可证

MIT 授权