Open20
MCP調査
わかりやすい、仕様の技術的な話もしてる
最新のトレンドを拾えてる
主要なのはこれっぽい?
- Resources
- 静的なリソース、google driveのドキュメントをLLMに渡したい
- Prompts
- プロンプトを切り替えるとき、コード用とか
- Tools
- tool use
resources/list
resources/read
tools/list
tools/call
prompts/list
prompts/get
通信方式は2つ
-
stdin
- stdinはclaude desktopみたいなローカル想定
- 子プロセスを生成して、stdinからパイプで渡してる?
- curlできないよ
-
SSE
- SSEはインターネットに公開
- 認証の議論もここら辺の話
- ユーザの指示入力
- LLM APIに問い合わせ(toolの一覧をsystem promptに入れている)
llm_response = self.llm_client.get_response(messages)
- toolの名前、引数を返す
- tool使用するなら、再度LLM APIに問い合わせ
result = await self.process_llm_response(llm_response)
- ツールに結果を返す
- tool使用したなら、再度LLM APIに問い合わせ
final_response = self.llm_client.get_response(messages)
- ツールから回答を生成
ツールの選択、ツールの結果から回答生成は各LLMで実装してるっぽい
Function Calling vs MCP
ほぼ同じ
MCPはtool useを完全に独立して実装できて嬉しい
- MCPサーバ作る人:
- MCP仕様を従って作ればいい
- 今まではAPIを公開(MCPの中身もほぼAPI)
- MCPクライアント作る人:
- APIごとにJSONの実装を気にしなくていい
- どのLLMでも共通化されている
- 参考までに funtion callingの記事
精度が落ちるか
- system promptにハードコードされてるから精度落ちる
- →MCPHub的なものがある
- fuction callingはそれ用にLLMがチューニングされてるのでは
- 今後MCP用にチューニングされるかも
- チューニングのレベルが簡単になる、JSONやAPIの話が関係のでtoolformerレベルになるかも?
- アイデア: MCP用の強化学習環境や失敗・成功パターンのDBがあれば成功率があがるかも?
- 今後MCP用にチューニングされるかも
MCP Hub的なやつ
サーバ選択やツールの再実行を行うものを作ろう
思想
実装
[WIP] 話題のMCPサーバ
- AWS(公式)
- 最新のAWSドキュメント
- 実装
- 中身は検索用のAPIを読んでるだけ、その中がRAG
- https://dev.classmethod.jp/articles/how-aws-documentation-mcp-server-works/
- https://zenn.dev/shirochan/articles/72827d09fdd0df
- AWS(有志)
- AWS EC2を操作できる
- 実装
- 中身がboto3というAWSを操作できるライブラリ
- tool(自然言語)->boto3(python)->AWS(API)みたいにラッパーのラッパーをしてる
- https://zenn.dev/acntechjp/articles/3a9f8a1e0e7727
- QGIS
- 地図を操作、ピンを立てるなど
- https://qiita.com/nokonoko_1203/items/1e841cbecf6895273f5d
- Terraform
- terraformの自動生成、AWS MCPと組み合わせたら面白そう
- https://syu-m-5151.hatenablog.com/entry/2025/03/09/020057
- Playwright
- UI操作できる、DOMをアクセシビリティツリー(yaml)に変換してる
- https://zenn.dev/shiaf/articles/8327e38d75f25a
- Notion
- タスク管理の自動化/議事録作成/ナレッジベースの検索など、ただ階層構造が複雑なため精度が悪そう
- https://dev.classmethod.jp/articles/notion-mcp-server-guide-with-claude-desktop/
- human-in-the-loop MCP
- 人間にお願いして、作業されるまで処理待ちにするネタ記事、将来的にはクラウドソーシング的なものになるかも
- https://times.serizawa.me/p/human-mcp
- MCPでゲームする
- API仕様書
- 差分を確認しなくてもコーディングしてくれる
- https://zenn.dev/notahotel/articles/93c091713bb199
- デザインシステム
- テキストからUI作ってくれる
- https://zenn.dev/ubie_dev/articles/f927aaff02d618
- AutoCAD
- AutoCADで図面作成
- https://x.com/kou_sunh/status/1906366063870353671
- Blender
- 実装
- pluginを利用
- plugin用にrpcサーバを立ててるのはなぜ
- https://www.youtube.com/watch?v=DqgKuLYUv00&ab_channel=ahujasid
- 実装
- FreeCAD MCP
- FreeCADで3Dモデル作成
- 実装
- python pluginを利用
- plugin用にrpcサーバを立ててるのはなぜ
- https://zenn.dev/firstautomation/articles/33e950c2409dba
- GROMAC, PyMOL
- タンパク質の解析、簡単なMDなど
- 実装
- pluginのサーバがあり、そこにコマンドを送ってる
- https://github.com/ChatMol/gromacs_copilot
- https://x.com/vrtejus/status/1902021326153609435
[WIP] MCPの認証
現在仕様
OpenAPIを
議論中?
MCPクライアント->OAuthサーバ
MCPサーバ->OAuthサーバ
MCPサーバ->APIサーバ
認証サーバを作る
MCPは安全か
公式以外はリスクあり
明示的にtool名を指定しないといけない課題
- ユースケース
- XXをnotionに保存して (Notion MCPを呼び出してほしい)
- X文字以内の文章にして (文字数MCPを呼び出してほしい)
- 部屋の図面を書いて (AutoCAD MCPを呼び出してほしい)
A2A
MCPと合わせて使うものというのが強調?されてる
この人のスレッド読めば良さそう
LSP: Language Server Protocol
MCPはLCPからinspireされてstdin, JSON-RPCで実装してるらしい、アツいね
IDEと言語間の通信
IDEが言語を知らなくても、サーバと通信することで補完とかできる
copilotの補完とは別のもの
サイトごとMCPにする
FastAPIをMCP化する
denoで権限を制限できるけど、不便
AWSのMCPを安全に使う方法
lamdaをMCPにできる
脆弱性検出?