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_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)と統合されています。
  • エージェント対応: Claude DesktopやGitHub Copilotでの簡単なセットアップのために、専用の構成ツール(rails-mcp-config)が含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト