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エージェントがコード分析、探索、開発支援を行うために必要なコンテキスト(データベーススキーマ、ルート、モデルのリレーションシップなど)を提供するという問題を解決します。
仕組み
Model Context Protocol (MCP) を実装しており、LLMクライアント(Claude DesktopやGitHub Copilotなど)とRailsコードベースの間のブリッジとして機能します。サーバーは、直接統合のためのSTDIOモード、またはリモートアクセスのためのHTTPモードのいずれかで実行できます。
コンテキストウィンドウの使用を最小限に抑えるために、「段階的なツール発見(progressive tool discovery)」アーキテクチャを採用しています。可能なすべてのアクションを列挙するのではなく、3つの主要なブートストラップツール(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)と統合されています。
- エージェント対応: Claude DesktopやGitHub Copilotでの簡単なセットアップのために、専用の構成ツール(
rails-mcp-config)が含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト