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_projectsearch_toolsexecute_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 中輕鬆設定。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案