使用说明
项目简介
ActiveMCP 是一个 Ruby on Rails 引擎,它使得开发者能够轻松地在 Rails 应用程序中构建和部署 MCP (Model Context Protocol) 服务器。通过 ActiveMCP,您可以将 Rails 应用的功能以标准化的 MCP 协议暴露出来,供 LLM (大型语言模型) 客户端调用,从而实现强大的上下文信息和功能扩展。
主要功能点
- 资源管理 (Resources): 虽然仓库代码中 'resources' 功能的实现较为基础(仅有空列表返回),但框架已预留资源管理接口,未来可扩展以支持托管和管理各种资源。
- 工具注册和执行 (Tools): 核心功能,允许在 Rails 应用中轻松注册和定义工具 (Tools),并通过 MCP 协议供 LLM 客户端远程调用。支持定义工具的输入参数、描述和授权逻辑。
- Prompt 模板 (Prompts): 仓库当前版本未明确实现 Prompt 模板功能,但 MCP 协议已支持,未来版本可能扩展。
- JSON-RPC 协议: 完全支持 MCP 协议要求的 JSON-RPC 通信协议,用于客户端和服务器之间的请求和响应。
- Stdio 传输协议: 默认支持 Stdio (标准输入输出) 传输协议,方便本地开发和部署。
- 会话管理和能力声明: 服务器端负责会话初始化和管理,并声明自身提供的能力 (Resources, Tools)。
- 认证与授权: 支持工具级别的认证和授权,可以控制哪些工具可以被哪些客户端或用户访问。支持 Bearer Token 和 Basic Auth 两种认证方式。
安装步骤
-
添加到 Gemfile: 在您的 Rails 应用的 'Gemfile' 中添加 'active_mcp' gem:
gem 'active_mcp' -
安装 Gem: 运行 'bundle install' 或 'gem install active_mcp' 安装 gem。
-
挂载 Engine: 在 'config/routes.rb' 文件中挂载 ActiveMcp 引擎,例如:
Rails.application.routes.draw do mount ActiveMcp::Engine, at: "/mcp" # ... 您的其他路由 end -
创建工具 (Tool): 在 'app/tools' 目录下创建 Ruby 文件 (例如 'app/tools/my_tool.rb'),并继承 'ActiveMcp::Tool' 定义您的工具。例如:
class MyToolTool < ActiveMcp::Tool description "我的示例工具" property :input_text, :string, required: true, description: "要处理的文本" def call(input_text:, auth_info: nil) "工具收到的文本是: #{input_text}" end end -
启动 MCP 服务器: 创建一个 Ruby 脚本 (例如 'server.rb') 用于启动 ActiveMCP 服务器,并配置服务器名称和 URI。例如:
# server.rb require_relative './config/environment' # 确保加载 Rails 环境 server = ActiveMcp::Server.new( name: "My ActiveMCP Server", uri: 'http://localhost:3000/mcp' # 您的 Rails 应用的 MCP 接口地址 ) server.start注意: 'require_relative './config/environment'' 用于在独立脚本中加载 Rails 环境,确保 ActiveMCP 引擎和您的 Rails 应用能够正常运行。
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。以下是一个典型的 JSON 格式配置示例,适用于 ActiveMCP 服务器:
{ "mcpServers": { "active-mcp-server": { "command": "ruby", "args": ["/path/to/your/rails/app/server.rb"] // command: 启动 MCP 服务器的命令,通常是 Ruby 解释器。 // args: 启动命令的参数,指向您的 server.rb 脚本的路径。请替换为实际路径。 } } }
请根据您的实际 'server.rb' 脚本的路径,修改 'args' 中的路径信息。'/path/to/your/rails/app/server.rb' 仅为示例,需要替换为服务器脚本在您文件系统中的绝对路径。
基本使用方法
-
启动 Rails 应用和 MCP 服务器: 首先确保您的 Rails 应用已经启动,然后运行 'ruby server.rb' 启动 ActiveMCP 服务器脚本。
-
配置 MCP 客户端: 在您的 MCP 客户端应用中,配置上述的服务器配置信息,指定 'active-mcp-server' 作为要连接的 MCP 服务器。
-
调用工具: 客户端连接成功后,即可发现并调用您在 Rails 应用中定义的工具。例如,客户端可以请求 'tools/list' 获取可用工具列表,然后使用 'tools/call' 方法调用 'my_tool' 工具,并传递 'input_text' 参数。
ActiveMCP 将 Rails 应用的功能以 MCP 协议标准化的方式暴露出来,使得 LLM 客户端能够方便地利用 Rails 应用的数据和业务逻辑,构建更智能的应用。
信息
分类
开发者工具