188 Views
May 29, 25
スライド概要
2025/5/29のつくてくトークLT資料
「rails-mcp-serverで実現!非エンジニアも自然言語でコードの仕様を引き出せる状態を作る」
rails-mcp-server gemを使って、非エンジニアもソースコードからの仕様を理解できるような状態を作っていきます!
ツクリンク株式会社でEM1年生🐣
rails-mcp-serverで実現! ⾮エンジニアも⾃然⾔語でコードの仕様を引き出せる状態を作る #つくてくトーク ツクリンク株式会社 ⼋尾 (@Tomoki____Y)
⾃⼰紹介 ● 名前 ○ ⼋尾(@Tomoki____Y) ● ● ツクリンク株式会社 アソシエイトエンジニアリングマネージャー 経歴 ○ 2018年 異業種からエンジニアへ転⾝ ○ 2022年 ツクリンク⼊社 ○ エンジニアとして転⾝してから、ずっとメインはRailsを使⽤している ○ EMとして役割を変更してからはまだ1年⽣ 🐣
アジェンダ 1. MCPについて 2. rails-mcp-serverについて 3. 今回のサンプルアプリとコード紹介 4. ⾮エンジニアからの「これどうなってるの?」解決ツアー 5. まとめ
MCPについて MCPとは、「Model Context Protocolの略」になります。 LLM(⼤規模⾔語モデル)がプロジェクトや特定のツールとやり取りするための共通ルール のこと。⾔わば、LLMとプロジェ クトや特定のツールと繋ぐ共通⾔語のような存在。 ▼ MCPというワードに関連するもの ‧MCPホスト: AIエージェントを内蔵するアプリ(Claude DesktopやCursor / Cline… etc) ‧MCPクライアント: Claude DesktopやCursor、ClineなどのAIアプリ内で稼働し、外部 MCPサーバーとの通信を司るモジュール ‧MCP: LLMとプロジェクトや特定のツールと繋ぐ共通ルール ‧MCPサーバー: MCPの共通ルールに則りAIエージェントからのリクエストを処理するもの 🧐 私達がよく⼝にするFigma MCPとかSlack MCPは、MCPサーバーのことになるのか!
rails-mcp-serverについて ▼ rails-mcp-server Gemとは rails-mcp-server Gemとは、RailsアプリケーションをLLM(⼤規模⾔語モデル)から読み取れ るようにするためのMCP準拠のサ ーバーを作るGemです。(github) ▼ 実装⼿順 1. 2. 3. 4. 5. Railsアプリケーション作成($ rails new sample_mcp_app) rails-mcp-server gemのインストール($ gem install rails-mcp-server) rails-mcp-server Gemが設定情報を保存するためのローカルディレクトリを作成‧設定情報追加 a. $ mkdir -p ~/.config/rails-mcp b. $ vim ~/.config/rails-mcp/projects.yml rails-mcp-setup-claudeを実⾏($ rails-mcp-setup-claude) rails-mcp-serverを起動($ rails-mcp-server)
皆さん仕様書というのは きっちり⽤意されてますか??🧐
こんな課題はないでしょうか?? xxxの仕 様教え て xxxの仕 様教え て CS 営業 xxxの仕 様教え て xxxの仕 様教え て PM マーケ ENG 💦
今回のサンプルアプリとコード紹介 今回使⽤するサンプルアプリケーションは、皆さんも馴染み深いシンプルなECサイトを想 定したRailsアプリケーションです。 主な機能としては、商品の表⽰や検索、ユーザーによるレビューの投稿、そして注⽂処理と いった基本的なものを実装しています。 github: https://github.com/tomokiyao/rails-mcp-sample-app (LT中にお⾒せするデモ動画は上記github上に置いております) このアプリケーションがrails-mcp-serverを⽤いてどのように先ほどの課題解決に繋がるの か⾒ていきます!
「これどうなってるの?」解決ツアー① シナリオ: 注⽂プロセスの確認 疑問: 「新しい注⽂が⼊った時、お客さんにはどんな通知が⾏くんだっけ?あと、社内にも 連絡ある?」
「これどうなってるの?」解決ツアー② シナリオ: 商品レビュー機能の深掘り 疑問: 「ユーザーレビューの評価って、商品のどこかに影響するんだっけ?平均評価とかっ てどう計算してるの?」
「これどうなってるの?」解決ツアー③ シナリオ: 特定条件のデータ取得 疑問: 「マーケティング施策で、『すぐに購⼊できる状態の商品』だけをリストアップした いんだけど、どういう条件になる?」
まとめ この rails-mcp-server を活⽤し、今⽇お話しした『コードの仕様を引き出せる状態を作 る』ことで、開発現場には下記のような良い変化を期待できると考えています。 ⬛ ⾮エンジニアの⽅のエンパワーメント - これまでエンジニアに確認が必要だった仕様の詳細も、直接コードベースから情報を 引き出せるようになります。これにより、企画⽴案や意思決定のスピードアップ、そし て何より「知りたいことがすぐにわかる」という主体的な動きが取れるようになりま す。 ⬛ チーム全体のコミュニケーション円滑化 - エンジニアと⾮エンジニアの間にある「コードの壁」が少し低くなることで、仕様に 関する認識の齟齬が減り、よりスムーズで建設的なコミュニケーションが促進される 事が期待できます。
ご清聴ありがとうございました! #つくてくトーク