使用说明

项目简介

Fast MCP 🚀 是一个 Ruby 库,它实现了 Model Context Protocol (MCP) 的服务器端,旨在帮助开发者轻松地将 AI 模型集成到 Ruby 应用程序中。它解决了传统 AI 集成方案中存在的复杂协议、集成难题和兼容性问题,让 Ruby 开发者能够以简洁高效的方式构建 AI 应用后端。

主要功能点

  • 工具 API: 允许 AI 模型安全地调用 Ruby 应用程序中的函数,并通过 Dry-Schema 进行参数验证。
  • 资源 API: 支持在应用程序和 AI 模型之间共享数据资源。
  • 多种传输方式: 支持 STDIO, HTTP, SSE 等多种传输协议,以适应不同的应用场景。
  • 框架集成: 无缝集成 Rails, Sinatra, Hanami 等 Ruby Web 框架。
  • 认证支持: 提供简单的认证机制,保护 AI 端点安全。
  • 实时更新: 支持资源更新订阅,为实时应用提供支持。

安装步骤

  1. 在你的 'Gemfile' 文件中添加:

    gem 'fast-mcp'
  2. 运行 'bundle install' 安装 gem 包。

服务器配置

要将 Fast MCP 服务器集成到 MCP 客户端(例如 Claude 桌面),你需要在客户端的配置文件中添加服务器信息。以下是一个示例 'claude_desktop_config.json' 配置,展示了如何配置 Fast MCP 服务器:

{
  "mcpServers": {
    "my-ruby-mcp-server": {
      "command": "ruby",
      "args": [
        "/path/to/your/fast-mcp/server.rb"
      ]
    }
  }
}

参数注释:

  • server name: 'my-ruby-mcp-server' - 为你的 MCP 服务器自定义一个名称,用于在客户端中标识和引用。
  • command: 'ruby' - 指定用于启动 MCP 服务器的命令,这里是 Ruby 解释器。
  • args: '["/path/to/your/fast-mcp/server.rb"]' - 一个字符串数组,包含了启动命令的参数。
    • '/path/to/your/fast-mcp/server.rb':请替换为你的 Fast MCP 服务器启动脚本的实际路径。这个脚本通常会初始化并启动 MCP 服务器。

基本使用方法

  1. 创建 MCP 服务器:

    require 'fast_mcp'
    
    server = MCP::Server.new(name: 'my-ai-server', version: '1.0.0')
  2. 注册工具 (Tools):

    class SummarizeTool < MCP::Tool
      description "Summarize a given text"
    
      arguments do
        required(:text).filled(:string).description("Text to summarize")
        optional(:max_length).filled(:integer).description("Maximum length of summary")
      end
    
      def call(text:, max_length: 100)
        # 你的总结逻辑
        text.split('.').first(3).join('.') + '...'
      end
    end
    
    server.register_tool(SummarizeTool)
  3. 注册资源 (Resources):

    class StatisticsResource < MCP::Resource
      uri "data/statistics"
      name "Usage Statistics"
      description "Current system statistics"
      mime_type "application/json"
    
      def default_content
        JSON.generate({
          users_online: 120,
          queries_per_minute: 250,
          popular_topics: ["Ruby", "AI", "WebDev"]
        })
      end
    end
    
    server.register_resource(StatisticsResource.new)
  4. 启动服务器:

    • STDIO 传输:

      server.start
    • Rack 中间件 (例如 Rails 应用):

      # config/application.rb (Rails)
      config.middleware.use MCP::RackMiddleware.new(
        name: 'my-ai-server',
        version: '1.0.0'
      ) do |server|
        server.register_tool(SummarizeTool)
        server.register_resource(StatisticsResource)
      end
    • 运行示例: 查看 'examples' 目录下的示例代码,例如 'examples/server_with_stdio_transport.rb' 或 'examples/rack_middleware.rb',根据你的需求选择合适的启动方式。

信息

分类

开发者工具