😊
fastmcpを使ってサクッとSSEサーバーを立てる
mcpとても便利ですね。最近流行っているようです。
この波に乗っていきたい!
fastmcpとは?
fastmcpは簡単にmcpを作れるPythonのツールです。
studio型で使用する場合はmcp.run()
だけで実装できてしまいます。
特にClaude Desktopで使う場合はmcpの登録までやってくれるとても便利なツールです。
今回はdifyから使いたいこともあり、SSEのサーバーを立てます。
とても簡単に立てれたので書いておこうと思いました。
試してみる
uvの環境下で行います。
適当にserver.py
を作って以下のように単純なmcpを作りました。
# server.py
from fastmcp import FastMCP
mcp = FastMCP(name="sse-test")
@mcp.tool()
def greet(name: str) -> str:
"""Greet a user by name."""
return f"Hello, {name}!"
if __name__ == "__main__":
mcp.run(transport="sse")
これだけで動きます。
uv run server.py
起動しました。
[05/01/25 20:43:05] INFO Starting server "sse-test"... server.py:268
INFO: Started server process [60559]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:56253 - "GET /sse HTTP/1.1" 200 OK
こんな感じで見えるはずです。
サーバーの終了方法ですが、^cでは止まりません。
今の所解決方法がわからないのでkillしてます。
使う
vscode上のrooからアクセスしてみます。
設定を書いて
{
"mcpServers": {
"sse tset": {
"type": "sse",
"url": "http://localhost:8000/sse",
}
}
}
読み込めました
使ってみましょう。
うまく使用できてますね。
本当に簡単に使えるので使ってみてください!
Discussion