使用说明

项目简介

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 等持久化存储方案。

安装步骤

  1. 安装 Ruby: 确保你的系统中已安装 Ruby 和 Bundler。

  2. 添加到 Gemfile: 在你的 Ruby 项目的 'Gemfile' 中添加以下行:

    gem 'mcp_on_ruby'
  3. 安装 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密钥 (如果启用认证)

基本使用方法

  1. 配置 LLM 提供商 API 密钥: 设置 'OPENAI_API_KEY' 和 'ANTHROPIC_API_KEY' 环境变量。

  2. 运行服务器: 在仓库根目录下,进入 'examples/simple_server' 目录,运行 'ruby server.rb' 命令启动 RubyMCP 服务器。

  3. 使用 MCP 客户端: 你可以使用任何 MCP 客户端(例如实现了 MCP 协议的 LLM 应用)连接到运行中的 RubyMCP 服务器,并利用其提供的上下文管理、消息处理和 LLM 响应生成等功能。

    仓库的 'examples/simple_server/client.rb' 文件提供了一个简单的 Ruby MCP 客户端示例,你可以参考该示例来理解如何与 RubyMCP 服务器进行交互。

信息

分类

开发者工具