REST APIをツールとしてラップする
外部エンドポイントを呼び出し可能なツールに変換します。
「REST APIをツールとしてラップする」はCoddyKit上の無料MCP Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMCP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MCP Academyコースには全4レッスンが含まれています。
エンドポイントをツールに変える
どのREST APIもMCPtoolsにできます。各エンドポイントが、モデルから呼び出せるデータ取得・送信用の関数になります。🌐
ツールからHTTPを呼び出す
ツールの中で通常のHTTPリクエストを送り、モデルが読み取って推論できるテキストとしてレスポンスを返します。
非同期クライアントを優先する
httpxのような非同期クライアントを使うと、ネットワークの応答を待つ遅いAPI呼び出しによって、他のリクエストがブロックされるのを防げます。
import httpx
async with httpx.AsyncClient() as client:
r = await client.get(url)パラメーターを引数に対応付ける
エンドポイントのクエリをツールのargumentsとして公開します。モデルが都市名やIDを渡し、それを安全にリクエストへ組み込みます。
@mcp.tool()
async def get_weather(city: str) -> str:
...秘密情報はサーバー側で管理する
APIkeyはサーバー環境に保存し、ツールの引数には決して含めません。モデルに認証情報を見せたり送信させたりしてはいけません。
key = os.environ["WEATHER_API_KEY"]ステータスコードを確認する
本文を信頼する前にHTTPstatusを確認します。404や500の場合は、無意味なデータではなく、明確なエラーを報告します。
r.raise_for_status()JSONを解析して絞り込む
ほとんどのAPIはJSONを返します。解析したら、タスクに必要なfieldsだけを返し、モデルに余分な情報を大量に渡さないようにします。
data = r.json()
return data["temp_c"]各ツールに1つの役割を持たせる
1つのエンドポイントを、明確な名前を持つ1つの目的に絞ったツールに対応付けます。Granularなツールのほうが、モデルは正しく選びやすくなります。
役立つ説明を書く
エンドポイントが何を行い、いつ使うものかを説明します。正確なdescriptionによって、モデルはこのツールを呼び出すべきか判断できます。
ネットワーク障害に対応する
呼び出しをラップし、タイムアウトや接続切断が発生しても、サーバー全体をクラッシュさせず、読みやすいerrorメッセージを返します。
適切なタイムアウトを設定する
必ずtimeoutを渡し、応答が返らない上流サービスを待ち続けて、ツールが永久に停止することを防ぎます。
r = await client.get(url, timeout=10.0)確認問題
APIキーはどこに保存すべきですか。
まとめ:RESTをツールにする
エンドポイントをasyncツールとしてラップし、引数の受け取り、サーバー側のキーの使用、ステータス確認、JSONのトリミングまでできました。次は接続をプールします。🎯
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「REST APIをツールとしてラップする」レッスンは無料ですか?
はい。「REST APIをツールとしてラップする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MCP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MCP Academyコースには全4レッスンが含まれています。
「REST APIをツールとしてラップする」で何を学びますか?
外部エンドポイントを呼び出し可能なツールに変換します。 ブラウザで直接実行するハンズオンコードでMCP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MCP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMCP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「REST APIをツールとしてラップする」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMCP Academyレッスンでコードを書いて実行できますか?
はい。すべてのMCP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- SQLクエリを安全に公開する
- REST APIをツールとしてラップする
- Lifespanで接続をプールする
- 上流サービスをキャッシュしてレート制限する