はじめに
七尾百合子さん、お誕生日 45日目 おめでとうございます! nikkieです。
MCP界に新星登場です🌟
目次
Gradioへの注目
からあげさん経由で知りました。
Every Gradio app will be an MCP server soon.
どゆこと?? https://t.co/EkNNzHc9O1
— からあげ (@karaage0703) 2025年4月25日
Gradio apps can function as both MCP clients and servers. We are currently preparing code examples and guides, which will be released for the community soon.
— Gradio (@Gradio) 2025年4月25日
「GradioアプリはMCPクライアント、MCPサーバ両方として機能する」
な、なんだってーー!!
なお私のGradioの理解は、Hugging Faceが作っているStreamlit1みたいなもの程度です。
今回初めて触りました。
Gradioでお天気MCPサーバ
GradioアプリがMCPサーバにもなる機能がリリースされました。
ツールにしたい関数を指定してmcp_server=True
と立ち上げるだけです
Everyone's rushing to implement MCP but nobody's talking about the easiest way to do it.
— Gradio (@Gradio) 2025年4月30日
import gradio as gr
demo = gr.Interface(fn=your_function, ...)
demo.launch(mcp_server=True) # ← that's it 🤯
Your Gradio app is now an MCP server for any LLM.
Learn how:👇 pic.twitter.com/nNgOOoNLXW
MCPのドキュメントのQuickstartにある、天気のMCPサーバ2をGradioで実装します3。
- Python 3.12.5
- Gradio 5.28.0
% uv run --python 3.12 gradio_mcp_server.py 🔨 MCP server (using SSE) running at: http://127.0.0.1:7860/gradio_api/mcp/sse
雑感
いいなあと思ったのは、Hugging Face Spaces。
https://www.gradio.app/guides/building-mcp-server-with-gradio#key-features-of-the-gradio-mcp-integration
SSEのMCPサーバがSpacesで手軽に動かせます。
Cloudflare WorkersでもMCPサーバを動かせると聞いていますが、私にはSpacesの方が身近です
実装のgr.Interface
ですが、fn
引数にはCallable
1つしか渡せないようです。
https://www.gradio.app/docs/gradio/interface
このことから、MCPサーバとして提供するツールは1つだけと思われます。
手軽にMCPサーバが立てられるのはよいですが、1つのツールだけで済むことは稀だと思うので、MCPのPython SDKの方が本格的な開発には向くと考えます
GradioはMCPクライアントにもなるらしい
関連ドキュメントを示します。
MCP公式ドキュメントのクライアントの例をGradioで実装しているという印象です
終わりに
GradioがサポートしたMCPサーバ機能を触りました。
- 手軽にSSEのMCPサーバが立てられる!
- Hugging Face Spacesで動かせる!(検証したい)
- ただし、1つのツールしか指定できない模様
fastapi-mcpも登場しましたし、著名なライブラリのMCPサポートの流れが続く気がします。
なんというかMCPがCLIやAPIと並ぶインターフェースのポジションを確立しそうですね