【要約】HotPepper グルメのAPI とGoogle place APIを連携させてMCP サーバーに [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
- ・飲食店探しにおける検索と口コミ確認の工数増大。
- ・食べログ等の主要なグルメサイトにおけるAPIの非公開性。
- ・AIエージェントが外部の動的なデータソースへアクセスするための標準的な手段の不足。
// Approach
1.FastMCPによるツール定義。
@mcp.tool()とdocstringを活用し、AIへの説明を自動生成。2.FastAPIとの統合。
mcp.sse_app()をマウントし、REST APIとMCPを同一プロセスで共存。3.ライフサイクル管理。FastAPIの
lifespanを用い、HTTPクライアントの初期化と終了を制御。4.情報の拡充。Google Places APIを使い、店舗情報をエンリッチメント。
5.流量制御。
asyncio.Semaphore(5)により、Google APIへの同時リクエスト数を制限。// Result
- ・Claude等のAIエージェントによる、自律的な飲食店提案を実現。
- ・
FastMCP.call_tool()の活用により、HTTPを介さない高速な単体テスト環境を構築。 - ・ツール登録のモジュール化により、高い保守性とテスト容易性を確保。
Senior Engineer Insight
> AIエージェント向けインターフェースの実装として、非常に筋が良い。特に、HotPepper APIの「エラー時もHTTP 200を返す」という癖への対処や、Semaphoreによる流量制御、lifespanによるリソース管理が徹底されている。単なるAPIラッパーに留まらず、実運用を見据えた堅牢な設計である。既存のレガシーなAPIをMCP化する際の、優れたリファレンスとなるだろう。