使用说明
项目简介
mcp-rb 是一个轻量级的 Ruby 框架,旨在简化 Model Context Protocol (MCP) 服务器的开发。它提供了一套简洁的 DSL (领域特定语言),类似于 Sinatra 框架,让开发者能够快速构建和部署 MCP 服务器,以便为大型语言模型 (LLM) 应用提供结构化的上下文信息和功能扩展。
主要功能点
- 资源 (Resources) 管理: 支持定义和托管各种类型的资源,例如文本、JSON 数据等。客户端可以通过 URI 访问这些资源,获取预定义的数据内容。
- 工具 (Tools) 注册与执行: 允许开发者注册自定义工具函数,这些工具可以被 LLM 客户端调用,从而扩展 LLM 的能力,例如执行外部 API 调用、数据处理等。
- 基于 JSON-RPC 协议: 服务器和客户端之间通过标准的 JSON-RPC 协议进行通信,确保了交互的规范性和通用性。
- Stdio 传输支持: 默认支持基于标准输入/输出流 (Stdio) 的传输协议,简化了服务器的部署和运行方式。
安装步骤
- 确保环境: 首先确保你的开发环境中已安装 Ruby 和 Bundler。
- 添加到 Gemfile: 在你的 Ruby 项目的 'Gemfile' 文件中,添加以下代码行:
gem 'mcp-rb' - 安装 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': 传递给启动命令的参数列表。这里指向了服务器脚本的路径,确保客户端能够找到并执行服务器代码。
基本使用方法
- 创建服务器脚本: 使用 mcp-rb 框架提供的 DSL 定义你的 MCP 服务器。你可以参考仓库中的 'examples/hello_world.rb' 或 'examples/cosense_example.rb' 文件,学习如何定义资源 (resources) 和工具 (tools)。
- 启动服务器: 在命令行中,使用 'ruby your_server_script.rb' 命令(将 'your_server_script.rb' 替换为你的服务器脚本文件名)来启动 MCP 服务器。服务器将监听标准输入,并向标准输出发送响应。
- 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置服务器连接信息,包括上面提供的 'command' 和 'args'。客户端将使用这些配置来启动并连接到 mcp-rb 服务器。
- 客户端请求交互: 客户端可以使用 MCP 协议发送请求,例如列出可用工具 (tools/list)、调用工具 (tools/call)、读取资源 (resources/read) 等,与 mcp-rb 服务器进行交互,获取上下文信息或执行特定功能。
信息
分类
开发者工具