使用说明
项目简介
RubyMCP 是一个基于 Ruby 语言开发的库,用于构建符合 Model Context Protocol (MCP) 规范的服务器和客户端。它旨在为大型语言模型(LLM)应用提供一个标准化的上下文管理和交互框架。通过 RubyMCP,开发者可以轻松搭建 MCP 服务器,管理对话上下文、处理消息、集成多种 LLM 提供商,并支持工具调用等高级功能。
主要功能点
- 资源管理 (Context Management): 提供上下文 (Context) 的创建、读取、更新和删除功能,用于维护用户对话的状态和历史记录。
- 消息处理 (Message Handling): 支持在上下文中添加用户、助手、系统或工具消息,构建完整的对话流程。
- 响应生成 (Response Generation): 集成 OpenAI 和 Anthropic 等主流 LLM 提供商,支持文本生成和流式响应。
- 内容上传 (Content Upload): 允许客户端上传文件等内容到服务器,并在上下文中引用,支持处理多模态输入。
- 工具调用 (Tool Calling): 支持定义和使用工具 (Tools),使 LLM 能够调用外部函数,扩展 LLM 的能力。
- 认证 (Authentication): 支持 JWT 认证,保障 MCP 服务器的安全性。
- 可扩展存储 (Extensible Storage): 默认使用内存存储,但可以扩展到 Redis 或 ActiveRecord 等持久化存储方案。
安装步骤
-
安装 Ruby: 确保你的系统中已安装 Ruby 和 Bundler。
-
添加到 Gemfile: 在你的 Ruby 项目的 'Gemfile' 中添加以下行:
gem 'mcp_on_ruby' -
安装 Gem: 运行 'bundle install' 命令安装 RubyMCP 库。
服务器配置
为了让 MCP 客户端能够连接到 RubyMCP 服务器,你需要提供服务器的启动命令和参数。以下是基于 'examples/simple_server/server.rb' 示例生成的配置信息:
{ "server name": "RubyMCP Server", "command": "ruby", "args": [ "examples/simple_server/server.rb" ], "description": "启动 RubyMCP 服务器。", "注意事项": "请确保在包含 examples/simple_server/server.rb 文件的目录下启动 MCP 客户端,或者使用绝对路径指定 server.rb 文件的位置。" }
参数注释:
- 'server name': 服务器的名称,可以自定义。
- 'command': 启动服务器的命令,这里使用 'ruby' 命令来执行 Ruby 脚本。
- 'args': 命令的参数列表。
- 'examples/simple_server/server.rb': 指定要执行的 Ruby 服务器脚本。
环境变量配置:
RubyMCP 服务器依赖以下环境变量进行配置,你需要在运行服务器前配置好这些环境变量,例如在 '.env' 文件中配置:
OPENAI_API_KEY=你的OpenAI API密钥 ANTHROPIC_API_KEY=你的Anthropic API密钥 JWT_SECRET=你的JWT密钥 (如果启用认证)
基本使用方法
-
配置 LLM 提供商 API 密钥: 设置 'OPENAI_API_KEY' 和 'ANTHROPIC_API_KEY' 环境变量。
-
运行服务器: 在仓库根目录下,进入 'examples/simple_server' 目录,运行 'ruby server.rb' 命令启动 RubyMCP 服务器。
-
使用 MCP 客户端: 你可以使用任何 MCP 客户端(例如实现了 MCP 协议的 LLM 应用)连接到运行中的 RubyMCP 服务器,并利用其提供的上下文管理、消息处理和 LLM 响应生成等功能。
仓库的 'examples/simple_server/client.rb' 文件提供了一个简单的 Ruby MCP 客户端示例,你可以参考该示例来理解如何与 RubyMCP 服务器进行交互。
信息
分类
开发者工具