项目简介
Rails MCP Server 是一个实现了 Model Context Protocol (MCP) 的 Ruby 服务器,专为 Rails 项目设计。它允许大型语言模型 (LLMs) 通过标准化的 MCP 协议与 Rails 项目进行交互,从而实现代码分析、项目结构探索和辅助开发等功能。
主要功能点
- 项目管理: 支持管理多个 Rails 项目,允许 LLM 在不同项目之间切换。
- 代码浏览: 提供浏览项目文件和目录结构的功能。
- 路由查看: 能够获取 Rails 项目定义的路由信息。
- 模型信息: 可以查看 Rails 模型 (Model) 的定义、关联关系和数据库结构。
- 数据库结构: 支持获取数据库 Schema 信息。
- 环境配置分析: 提供环境配置分析工具,帮助识别潜在问题。
- 控制器视图分析: 提供控制器和视图的关联分析,帮助理解应用流程。
- 文件内容获取: 能够获取项目文件的内容,并支持语法高亮。
安装步骤
- 安装 Gem: 使用 gem 命令安装 'rails-mcp-server' gem。
安装完成后,'rails-mcp-server' 和 'rails-mcp-setup-claude' 两个可执行文件将被添加到您的 PATH 环境变量中。gem install rails-mcp-server
服务器配置
要将 Rails MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端以连接到该服务器。以下是 Claude Desktop 的配置示例,您需要将此配置添加到 Claude Desktop 的配置文件中。
Claude Desktop 配置示例 (JSON):
{ "mcpServers": { "railsMcpServer": { "command": "rails-mcp-server", "args": [] } } }
配置参数说明:
- 'server name': 'railsMcpServer' (服务器名称,可以自定义)
- 'command': 'rails-mcp-server' (启动 Rails MCP Server 的命令,确保 'rails-mcp-server' 可执行文件在系统的 PATH 环境变量中,或者使用可执行文件的完整路径)
- 'args': '[]' (启动参数,这里为空数组,可以使用 '--log-level' 参数设置日志级别,例如 '["--log-level", "debug"]')
注意: 如果您的 Ruby 环境不是系统默认环境,或者使用了版本管理器(如 rbenv, RVM),您可能需要确保 Claude Desktop 使用与 Rails MCP Server 安装时相同的 Ruby 版本。具体方法请参考仓库 README 中的 "Ruby Version Manager Users" 部分。
基本使用方法
-
启动服务器: 在终端中运行 'rails-mcp-server' 命令来启动 Rails MCP Server。
rails-mcp-server服务器默认会监听标准输入和标准输出,并通过 JSON-RPC 协议与 MCP 客户端通信。
-
配置项目: 首次运行服务器后,它会在用户配置目录下创建 'projects.yml' 文件(路径取决于操作系统,例如 macOS 下为 '~/.config/rails-mcp/projects.yml')。编辑此文件,添加您希望 LLM 访问的 Rails 项目路径。例如:
my_blog: "~/projects/my_blog" ecommerce_app: "~/projects/ecommerce_app"其中,键 ('my_blog', 'ecommerce_app') 是项目名称,将在 'switch_project' 工具中使用,值是 Rails 项目的绝对路径。
-
连接客户端: 配置您的 MCP 客户端(如 Claude Desktop)连接到 Rails MCP Server。客户端将通过 JSON-RPC 协议与服务器进行通信,并可以使用服务器提供的工具来操作和查询 Rails 项目的信息。
-
使用工具: 通过 MCP 客户端,您可以调用 Rails MCP Server 提供的各种工具,例如 'switch_project' 切换项目, 'get_project_info' 获取项目信息,'list_files' 列出文件,'get_file' 获取文件内容, 'get_routes' 获取路由信息, 'get_models' 获取模型信息, 'get_schema' 获取数据库结构等,从而实现与 Rails 项目的交互。
信息
分类
开发者工具