使用说明

项目简介

mcp-rb 是一个轻量级的 Ruby 框架,旨在简化 Model Context Protocol (MCP) 服务器的开发。它提供了一套简洁的 DSL (领域特定语言),类似于 Sinatra 框架,让开发者能够快速构建和部署 MCP 服务器,以便为大型语言模型 (LLM) 应用提供结构化的上下文信息和功能扩展。

主要功能点

  • 资源 (Resources) 管理: 支持定义和托管各种类型的资源,例如文本、JSON 数据等。客户端可以通过 URI 访问这些资源,获取预定义的数据内容。
  • 工具 (Tools) 注册与执行: 允许开发者注册自定义工具函数,这些工具可以被 LLM 客户端调用,从而扩展 LLM 的能力,例如执行外部 API 调用、数据处理等。
  • 基于 JSON-RPC 协议: 服务器和客户端之间通过标准的 JSON-RPC 协议进行通信,确保了交互的规范性和通用性。
  • Stdio 传输支持: 默认支持基于标准输入/输出流 (Stdio) 的传输协议,简化了服务器的部署和运行方式。

安装步骤

  1. 确保环境: 首先确保你的开发环境中已安装 Ruby 和 Bundler。
  2. 添加到 Gemfile: 在你的 Ruby 项目的 'Gemfile' 文件中,添加以下代码行:
    gem 'mcp-rb'
  3. 安装 Gem: 在项目根目录下运行 'bundle install' 命令,Bundler 将会自动下载并安装 'mcp-rb' gem 包。

服务器配置

MCP 客户端需要配置连接到 mcp-rb 服务器的必要信息。以下是一个 JSON 格式的配置示例,你需要根据你的实际服务器脚本进行调整:

{
  "serverName": "hello-world",  //  MCP 服务器的名称,与服务器脚本中 'name' 方法定义的名称一致
  "command": "ruby",         //  启动 MCP 服务器的命令,通常是 ruby 解释器
  "args": ["examples/hello_world.rb"] //  启动命令的参数,指向你的服务器脚本文件路径 (例如 examples/hello_world.rb)
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,这个名称在服务器端的 Ruby 脚本中使用 'name' 方法定义。客户端可以通过这个名称来识别服务器。
  • 'command': 启动 MCP 服务器进程的命令。对于 mcp-rb 服务器,通常使用 'ruby' 命令来执行 Ruby 脚本。
  • 'args': 传递给启动命令的参数列表。这里指向了服务器脚本的路径,确保客户端能够找到并执行服务器代码。

基本使用方法

  1. 创建服务器脚本: 使用 mcp-rb 框架提供的 DSL 定义你的 MCP 服务器。你可以参考仓库中的 'examples/hello_world.rb' 或 'examples/cosense_example.rb' 文件,学习如何定义资源 (resources) 和工具 (tools)。
  2. 启动服务器: 在命令行中,使用 'ruby your_server_script.rb' 命令(将 'your_server_script.rb' 替换为你的服务器脚本文件名)来启动 MCP 服务器。服务器将监听标准输入,并向标准输出发送响应。
  3. 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置服务器连接信息,包括上面提供的 'command' 和 'args'。客户端将使用这些配置来启动并连接到 mcp-rb 服务器。
  4. 客户端请求交互: 客户端可以使用 MCP 协议发送请求,例如列出可用工具 (tools/list)、调用工具 (tools/call)、读取资源 (resources/read) 等,与 mcp-rb 服务器进行交互,获取上下文信息或执行特定功能。

信息

分类

开发者工具