サマリ
Mastra に続いて簡単に MCP サーバーを立てることができる FastMCP を触ってみました。
こちらも TypeScript で記述可能でした。
実装
書いたコードは以下に置いています。
今回は Gemini の API Key を使った Gemini wrapper を作りました。正直これだけのコードで MCP 作れちゃうのはだいぶ楽でした。
これを Claude の Desktop アプリで動かしています。
ドキュメント通りに実装したらほぼハマるところはありませんでした。
一点だけあったのは Mastra もそうだったのですが、MCP サーバーとして Local で node のランタイムを動かして動作させる場合、package は module として登録しないといけない というところです。
pacakge.json 内部では type: "module" で登録することで Claude や VSCode などの MCP クライアントから MCP サーバーとして認識させることができました。
感想
Mastra はエージェントを作るための重厚なフレームワークという印象があり、対象的に FastMCP はよりプレーンな薄いフレームワークといった感じです。
良い例えか微妙ですが Mastra は Rails で FastMCP は grape 、というようなウェブアプリのフレームワークの役割の違いを感じました。