返回市场
MCP铁路模板

MCP铁路模板

作者:seuros39 星标更新:2025-11-21

项目介绍

Action MCP 示例 🚀

一个简单的 Ruby on Rails 应用程序,演示如何集成并使用 ActionMCP 宝石。该宝石的源代码可以在 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)获取宝石。资源 URI 遵循 gemfile://{environment} 的模式。

工具 (app/mcp/tools/)

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

  • dependency_info_tool.rb:使用 Bundler 从 GemfileGemfile.lock 获取依赖信息。它还会检查 .gemspec 文件以获取运行时依赖项。它输出单独的 JSON 资源,分别用于 productiontestruntime 依赖项。
  • fetch_weather_by_location_tool.rb:根据提供的纬度和经度坐标从 Open-Meteo API (https://api.open-meteo.com) 获取天气预报数据。它返回 API 的原始 JSON 响应。
  • rubocop_tool.rb:使用 RuboCop 宝石的 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) 在执行检查器命令之前正在运行。


贡献

欢迎贡献!打开问题或提交拉取请求以帮助改进这个示例。


祝编码愉快! ✨🚀