Slide 1

Slide 1 text

© asken.inc MCPを自作して社内ノウハウに自 在にアクセスしよう 25/09/25 法人事業部 入江弘紀

Slide 2

Slide 2 text

© asken.inc 2 自己紹介 ● 2024年度 asken入社 ● 専門はバックエンド ● SIer -> 通信事業会社を経由して3社目 ● 法人事業部であすけんのtoB向けの開発 ○ 健康経営向けサービス開発 ○ 特定保健指導向けサービス開発 ○ 他社とのデータ連携部品の開発

Slide 3

Slide 3 text

© asken.inc 3 自己紹介 ● マラソン ● トライアスロン ● 競技プログラミング

Slide 4

Slide 4 text

© asken.inc 4 背景と課題

Slide 5

Slide 5 text

© asken.inc 5 長きに渡るサービス開発とつらみ - サービス開始して約18年 - サービス仕様や実装の経緯などがTracに蓄積 - 現在チケット数は3000以上 ● 新旧機能の仕様を探すときに時間がかかる ● 関連チケットを横断的に探すのが大変 ● コメントが長文・多数 → 要点が埋もれる

Slide 6

Slide 6 text

© asken.inc 6 長きに渡るサービス開発とつらみ 過去議論を追うのが辛い

Slide 7

Slide 7 text

© asken.inc 7 AIによる解決の糸口 ● 自然言語の処理のアプローチ方法としてのAI(LLM)の活用 ○ 大量の文書を処理して要点をまとめる ○ 対話的に処理を行う

Slide 8

Slide 8 text

© asken.inc 8 社内文書をどう扱うのか - LLMはローカルに閉じた内容を知らない - LLMの拡張方法 - モデルの重みを変更する - コンテキストに付与する ● コンテキストに乗せるのが現在の主流 ● コンテキストに乗せる手段もさまざま

Slide 9

Slide 9 text

© asken.inc 9 MCP(Model Context Protocol)とは? ● AIエージェントが外部ツールにアクセスするための仕組み ● 知識ベースや社内システムと接続可能 ● 標準化されたI/Fによりライブラリが活用できる ● 複数のAIクライアントから利用できる

Slide 10

Slide 10 text

© asken.inc 10 ソリューションと実装

Slide 11

Slide 11 text

© asken.inc 11 AIからTracまでの繋ぎ込み ● TracにはXML-RPC経由でリソースの参照 / 操作が可能 ○ XML-RPC プラグイン ● MCPサーバの機能はこのAPIをラップする形で提供 ○ PythonのFastMCPライブラリ

Slide 12

Slide 12 text

© asken.inc 12 実装の工夫 ● 説明文を動的に差し替え可能に ○ 本来はアノテーションのみでMCPを作成できるが文言が固定になる ○ MCPには汎用的にしたいが、Tracサーバの説明がないとAIが使ってくれ ない・・・ ○ アノテーションを一部やめ、環境変数で説明の一部を流し込めるように

Slide 13

Slide 13 text

© asken.inc 13 便利だなと思ったツール ● MCP Inspector ○ 毎回AIを起動して利用するのが手間 ○ うまく動かない時の切り分けが大変 ○ MCP InspectorをもちいることでMCPのみ の確認が簡単にできるように 起動方法 npx @modelcontextprotocol/inspector --config config.json --server trac-mcp config.json { "mcpServers": { "trac-mcp": { "command": "/opt/homebrew/bin/uv", "args": [ "--directory", "/Users/hironori.irie/python_proj/mcp-trac", "run", "main.py" ], "env": { "TRAC_URL": "https://example.com/trac/askenportal/login/xmlrpc", "TRAC_USERNAME": "irie-hironori" , "TRAC_PASSWORD": "xxxxxxxxxxx", "TRAC_DESCRIPTION": "あすけん開発に関する仕様がまとめられたTracサーバ" } } } }

Slide 14

Slide 14 text

© asken.inc 14 導入と効果

Slide 15

Slide 15 text

© asken.inc 15 効果 ● 複数チケットをまとめて要約可能に ● 関連チケットの探索時間を大幅短縮 ○ チケットの内容を確認 -> 新たな検索ワードを抽出 -> 再度検索といっ た動作を自律的に行うように ● 体感 ○ 100件超コメントを数十秒で整理 ○ 手作業では30分以上 → 数分で完了 ○ なにより精神的に楽

Slide 16

Slide 16 text

© asken.inc 16 想定外の挙動など ● RooCode, Cursorなどで挙動差 ○ 表示形式やパラメータ説明の工夫が必要 誤った引数が指定される before after nameやdescriptionを修正すると解決 (スキーマは変更なし

Slide 17

Slide 17 text

© asken.inc 17 布教活動が必要 ● MCP作ったが、そもそもMCPが活用されていない ● AI Native Dev Dayを通してMCP布教活動を行う ○ MCPの話題が出るたびに宣伝した

Slide 18

Slide 18 text

© asken.inc 18 今後 ● 検索機能しかないがチケット作成もできるよう ○ githubと連携して、簡単な依頼をAIに伝えることで、チケット作 成->PR作成など自動化できるかも。 ● 検索機能の高度化

Slide 19

Slide 19 text

© asken.inc 19 まとめ

Slide 20

Slide 20 text

© asken.inc 20 学びとまとめ ● まとめ ○ 開発プロセス中の課題をAIの活用により改善 ○ MCPで社内システムとAIを繋ぎこむ ● 学び ○ LLMの動作は決定的ではない ■ 複数クライアントでの動作確認は必須 ○ 使ってもらうように宣伝活動

Slide 21

Slide 21 text

© asken.inc 21 Thank you!