Back to MCP directory
publicPublicdnsLocal runtime

mcp_rails_template

一个展示如何在Ruby on Rails项目中集成和使用ActionMCP gem的示例应用,包含组件定义和使用演示。

article

README

🚀 行动 MCP 示例

这是一个简单的 Ruby on Rails 应用程序,用于展示如何集成和使用 ActionMCP gem。该 gem 的源代码可在 GitHub 上查看:https://github.com/seuros/action_mcp。此应用程序展示了如何在 Rails 项目中定义和使用 MCP 组件。

🚀 快速开始

需求

  • Ruby(请参见 .ruby-version 获取推荐版本)
  • PostgreSQL(或 Docker)

入门步骤

1. 克隆和设置

git clone https://github.com/seuros/mcp_rails_template.git
cd mcp_rails_template
bin/setup

2. 环境配置

复制提供的 .env.example 文件:

cp .env.example .env

编辑 .env 并填写必要的值(特别是 fetch_weather_by_location_tool 等工具所需的任何 API 密钥)。

3. 数据库设置

你可以使用 Docker 快速启动一个临时 PostgreSQL 实例:

make up

这将在端口 5466 上启动 PostgreSQL。或者通过编辑 config/database.yml 配置自己的 PostgreSQL 数据库。

4. 运行应用程序

启动 Rails 服务器:

bin/rails s

应用程序将可以在 http://localhost:3002 访问。

✨ 主要特性

ActionMCP 引擎

ActionMCP 引擎挂载在 /action_mcp。你可以通过修改路由将其挂载到自定义位置。

MCP 组件(app/mcp/

此应用程序包含多个 ActionMCP 组件示例:

提示(app/mcp/prompts/

  • epic_adventure_prompt.rb:根据提供的英雄名称和冒险类型(奇幻、科幻、悬疑)生成一段简短的叙述性冒险故事。它可选地包括一个占位符图像数据字符串。

资源模板(app/mcp/resource_templates/

  • gemfile_template.rb:提供项目 Gemfile 依赖项作为 JSON 资源访问。它使用 Bundler 根据指定的环境(productiontestdevelopmentdefault)获取 gems。资源 URI 遵循模式 gemfile://{environment}

工具(app/mcp/tools/

工具定义语言模型可以请求执行的具体操作。

  • dependency_info_tool.rb:使用 Bundler 从 Gemfile 和 Gemfile.lock 检索依赖信息。它还检查是否存在 .gemspec 文件以获取运行时依赖项。它输出 productiontestruntime 依赖项的单独 JSON 资源。
  • fetch_weather_by_location_tool.rb:从 Open - Meteo API(https://api.open-meteo.com)获取指定纬度和经度坐标的位置天气预报数据。它返回 API 的原始 JSON 响应。
  • rubocop_tool.rb:使用 RuboCop gem 的 API 分析提供的 Ruby 代码段。它报告检测到的任何样式或代码质量违规,包括规则名称、消息、行号和列号。
  • ruby_code_analyzer_tool.rb:对项目目录中的 Ruby 代码执行基本静态分析。它通过解析 .rb 文件来索引类、模块和方法。它可以查询列出所有找到的类、模块或方法,或者获取特定类/模块(constant)或方法(method_details)的详细信息。

💻 使用示例

基础用法

要交互式地测试和检查 MCP 功能,可以使用 MCP 检查器:

npx @modelcontextprotocol/inspector --url http://localhost:3002/action_mcp

确保 Rails 服务器(bin/rails s)正在运行后再执行检查器命令。

📄 许可证

文档中未提及许可证相关信息。

此项目展示了如何利用 ActionMCP 在 Ruby on Rails 中实现强大的组件化和可扩展性。无论是提示生成、依赖管理还是代码分析,ActionMCP 都能为你的开发流程增添巨大价值。如果你有任何改进建议,欢迎在 GitHub 上提交问题或拉取请求。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client