使用说明
项目简介
Active MCP 是一个 Ruby on Rails 引擎,用于简化 Model Context Protocol (MCP) 服务器的开发。它旨在帮助开发者快速构建应用后端,以便为大型语言模型 (LLM) 客户端提供结构化的上下文信息和功能。通过 Active MCP,您可以轻松地将现有的 Rails 应用功能暴露为 MCP 工具,并管理可供 LLM 访问的资源和 Prompt 模板。
主要功能点
- 简化集成: 轻松将 Rails 应用的功能作为 MCP 工具对外暴露,无需复杂的配置。
- 资源支持: 通过 MCP 资源向 AI 助手安全地共享文件和数据,支持文本和二进制内容。
- 强大的代码生成器: 利用 Rails 代码生成器快速创建 MCP 工具和资源,提升开发效率。
- 认证支持: 内置身份验证和授权功能,保障 MCP 服务器的安全性。
- 灵活部署: 支持多种部署和连接方式,包括直接 HTTP 连接和独立的 MCP 服务器模式。
安装步骤
-
在您的 Rails 应用的 'Gemfile' 中添加以下行:
gem 'active_mcp' -
运行 'bundle install' 安装 gem 包。
-
运行安装生成器初始化 Active MCP 配置:
rails generate active_mcp:install这将创建一个配置文件 'config/initializers/active_mcp.rb'。
服务器配置
MCP 客户端需要配置 MCP 服务器的连接信息才能进行交互。以下是 Standalone MCP Server 模式下客户端的配置示例,您需要配置 'command' 和 'args' 来启动 Active MCP 服务器进程:
{ "mcpServers": { "my-rails-app": { "command": "/path/to/ruby", // Ruby 解释器路径 "args": ["/path/to/script/mcp_server.rb"] // Active MCP 服务器启动脚本路径 } } }
其中 '/path/to/script/mcp_server.rb' 是您在 Rails 应用根目录下创建的服务器启动脚本,例如:
# script/mcp_server.rb require_relative '../../lib/active_mcp' require './config/environment.rb' # 加载 Rails 环境 server = ActiveMcp::Server.new( name: "My App MCP Server", uri: 'http://localhost:3000/mcp' # Rails 应用 MCP 接口的 URI ) server.start
基本使用方法
-
创建 MCP 工具: 使用代码生成器快速创建工具,例如:
rails generate active_mcp:tool create_note编辑 'app/mcp/tools/create_note_tool.rb' 文件,定义工具的 'tool_name'、'description'、参数 ('argument') 和 'call' 方法来实现具体功能。
-
创建 MCP 资源: 使用代码生成器创建资源,例如:
rails generate active_mcp:resource profile_image编辑 'app/mcp/resources/profile_image_resource.rb' 文件,定义资源的 'mime_type'、'resource_name'、'uri'、'description' 以及 'text' 或 'blob' 方法来提供资源内容。
-
定义 Schema: 创建一个 Schema 类,例如 'app/mcp/schemas/my_schema.rb',并在其中注册您创建的工具和资源:
class MySchema < ActiveMcp::Schema::Base tools CreateNoteTool, SearchUsersTool # 注册工具 resource UserResource, items: User.all.each {|user| { id: user.id } } # 注册资源 end -
配置 Controller 和路由: 创建一个 Controller,例如 'app/controllers/my_mcp_controller.rb',并设置路由:
class MyMcpController < ActiveMcp::BaseController private def schema MySchema.new(context:) # 实例化您的 Schema end end在 'config/routes.rb' 中添加路由:
Rails.application.routes.draw do post "/mcp", to: "my_mcp#index" # ... 其他路由 end -
启动服务器: 运行 'script/mcp_server.rb' 脚本启动独立的 MCP 服务器,或者直接部署 Rails 应用并通过 HTTP 接口 '/mcp' 提供 MCP 服务。
现在,您的 Rails 应用已经成功配置为 MCP 服务器。您可以配置 MCP 客户端连接到您的服务器地址,并开始调用您定义的工具和访问资源。
信息
分类
AI与计算