maquina-app/rails-mcp-server
A Ruby gem implementation of a Model Context Protocol (MCP) server for Rails projects. This server allows LLMs (Large Language Models) to interact with Rails projects through the Model Context Protocol.
解決的問題
本專案為大型語言模型 (LLM) 與 Ruby on Rails 專案的互動提供了一種標準化的方式。它解決了為 AI Agent 提供必要上下文(如資料庫架構、路由和模型關係)的問題,從而無需使用者手動將程式碼複製貼上到提示詞中,即可進行程式碼分析、探索和開發輔助。
工作原理
它實現了模型上下文協定 (MCP),使其能夠充當 LLM 用戶端(如 Claude Desktop 或 GitHub Copilot)與 Rails 程式碼庫之間的橋樑。伺服器可以以 STDIO 模式(用於直接整合)或 HTTP 模式(用於遠端存取)執行。
為了最大限度地減少上下文視窗的使用,它採用了「漸進式工具發現」架構。它沒有列出所有可能的動作,而是公開了三個主要的引導工具(switch_project、search_tools 和 execute_tool),LLM 利用這些工具根據需求發現並呼叫更具體的內部分析器。
適用對象
使用 AI 程式碼助手並希望讓 LLM 能夠深入、結構化地存取其應用程式內部結構、文件和配置的 Rails 開發人員。
亮點
- 深度 Rails 内省:包含針對 Active Record 模型(使用 Prism 靜態分析)、Rails 路由、資料庫架構和控制器-檢視關係的專用分析器。
- 文件整合:提供對 Rails、Turbo、Stimulus 和 Kamal 官方指南的內建存取,以及對自定義 Markdown 文件的支援。
- 多專案管理:允許 LLM 在多個配置好的 Rails 專案之間進行切換。
- 靈活部署:支援 STDIO 和 HTTP/SSE 模式,並與常見的 Ruby 版本管理器(mise, asdf, rbenv, rvm)整合。
- 面向 Agent 設計:包含專用的配置工具 (
rails-mcp-config),以便在 Claude Desktop 和 GitHub Copilot 中輕鬆設定。
相關
- 專案
- 專案
- 專案
- 專案
- 專案