
Rails MCP Server

2025.04.14
82
RubyRails 开发代码分析项目探索开发效率
Rails MCP Server 是一个基于 Ruby 实现的 Model Context Protocol (MCP) 服务器,专为 Rails 项目设计。它允许大型语言模型 (LLMs) 通过 Model Context Protocol 与 Rails 项目进行交互,提供代码分析、项目探索和开发辅助功能。
View on GitHub
Overview
基本能力
产品定位
Rails MCP Server 是一个专为 Rails 项目设计的 MCP 服务器,旨在为 AI 模型提供与 Rails 项目交互的能力,支持代码分析、项目探索和开发辅助。
核心功能
- 管理多个 Rails 项目
- 浏览项目文件和结构
- 查看 Rails 路由
- 检查模型信息
- 获取数据库架构信息
- 遵循 Model Context Protocol 标准
适用场景
- AI 辅助 Rails 项目开发
- 代码分析和探索
- 项目结构理解
- 数据库架构查看
- 路由信息获取
工具列表
- switch_project: 切换当前活动的 Rails 项目。
- get_project_info: 获取当前 Rails 项目的信息,包括版本、目录结构和配置。
- list_files: 列出 Rails 项目中的文件,支持目录路径和模式过滤。
- get_file: 获取项目中指定文件的内容,支持语法高亮。
- get_routes: 获取 Rails 项目中定义的所有路由。
- get_models: 获取 Rails 项目中模型的信息,包括架构、关联和定义。
- get_schema: 获取 Rails 项目的数据库架构或特定表的架构。
常见问题解答
- Ruby 版本问题: 如果使用 Ruby 版本管理器(如 rbenv 或 RVM),可能需要创建符号链接以确保使用正确的 Ruby 版本。
- 配置问题: 确保
projects.yml
文件正确配置了项目路径。 - Claude Desktop 集成: 使用
rails-mcp-setup-claude
脚本可以自动完成配置。
使用教程
使用依赖
- 确保已安装 Ruby 环境。
安装教程
- 安装 gem:
gem install rails-mcp-server
- 安装完成后,
rails-mcp-server
和rails-mcp-setup-claude
可执行文件将可用。
配置
- 编辑
projects.yml
文件以包含你的 Rails 项目:
store: "~/projects/store"
blog: "~/projects/rails-blog"
Claude Desktop 集成
- 运行设置脚本:
rails-mcp-setup-claude
- 重启 Claude Desktop 以应用更改。
启动服务器
rails-mcp-server
调试方式
- 设置日志级别:
rails-mcp-server --log-level debug
- 手动测试服务器:
echo '0 {"jsonrpc":"2.0","id":"test-123","method":"ping"}' | rails-mcp-server
集成与测试
集成
- 启动 Rails MCP Server。
- 连接支持 MCP 的客户端(如 Claude Desktop)。
- 客户端可以使用提供的工具与 Rails 项目交互。
测试
(echo '0 {"jsonrpc":"2.0","id":"test-123","method":"tools/list"}'; sleep 1; echo '1 {"jsonrpc":"2.0","id":"test-456","method":"tools/call","params":{"name":"switch_project","arguments":{"project_name":"blog"}}}') | rails-mcp-server
使用 jq
解析输出:
echo '0 {"jsonrpc":"2.0","id":"list-tools","method":"tools/list"}' | rails-mcp-server | sed 's/^[0-9]* //' | jq '.result.tools'