FastMCP Cloud に Amazon Product Advertising API の MCP サーバーをデプロイし、Claude Desktop や Claude Code から商品検索できるようにするまでの手順をまとめました。
ローカルで動かしていた MCP を、チームや友人にも共有できるようクラウドへ載せる方法の一例として参考になれば幸いです。
この記事でわかること
- FastMCP Cloud へ MCP サーバーをデプロイする流れ
- Claude Desktop(Mac)からヘッダー付きで接続する設定
- Claude Code からコマンドで MCP を追加する方法
- Python から FastMCP Cloud へ接続テストするスクリプト
- 利用可能な 5 つの MCP ツールの概要
FastMCP Cloud とは
FastMCP Cloud は、MCP(Model Context Protocol)サーバーをクラウド上にホストできるサービスです。ローカルで動かしている MCP をデプロイすれば、どこからでもアクセスできるようになります。
今回は Amazon Product Advertising API のラッパーを MCP ツールとしてラップし、FastMCP Cloud へデプロイしました。キーなどの認証情報はヘッダーで受け渡す構成です。
現在デプロイしているサービスを止める予定はありませんが、悪意あるアクセスや無料枠を超えそうになれば非公開にします。ヘッダーで何も指定しなければデフォルト値で動作します。
Claude Desktop で動かした結果
実際に Claude Desktop から呼び出すと、以下のような形で動作します。
Amazon Product API 単体では KindleUnlimited かどうかを判定する情報が取れないため、Claude が商品の詳細から推測しようと頑張りますが、精度はまだ微妙なところです。ただ、MCP 経由で Amazon の商品データを検索・取得する仕組みとしてはしっかり動きました。
FastMCP Cloud へのデプロイ手順
前提条件
- Amazon Product Advertising API の認証情報を持っていること(なくてもテスト範囲で試せます)
- FastMCP Cloud のアカウントがあること
ステップ 1: FastMCP プロジェクトの作成
まずローカルで fastmcp を使って MCP サーバーを作成し、動作確認します。
MCP インスペクター でテストしておくとスムーズです。
動作確認できたら、GitHub リポジトリにプッシュしておきます。
ステップ 2: FastMCP Cloud にデプロイ
FastMCP Cloud のセットアップページ からデプロイします。
CLI でも可能ですが、ここではブラウザで進めます。

自分のリポジトリを選択します。

ローカルで動かしていたメインファイルをエントリーポイントに指定し、名前を設定します。
ビルドには少し時間がかかるので、気長に待ちましょう。
FastMCP Cloud 上でテストする
ビルドが完了したら、FastMCP Cloud のインスペクター機能でテストできます。

チャットから気軽にツールのテストも行えます。

Python から FastMCP Cloud への接続テスト
Python スクリプトで接続確認する場合は、以下のように書けます。
import asyncio
from fastmcp import Client
from fastmcp.client.transports import StreamableHttpTransport
from fastmcp.client.auth import OAuth
MCP_URL = "https://amazon-product-ad-api.fastmcp.app/mcp"
HEADERS = {
"aws_access_key_id": "YOUR_ACCESS_KEY_ID",
"aws_secret_access_key": "YOUR_SECRET_ACCESS_KEY",
"aws_associate_tag": "YOUR_ASSOCIATE_TAG",
"amazon_marketplace": "JP",
}
oauth_auth = OAuth(
mcp_url=MCP_URL,
additional_client_metadata={
"token_endpoint_auth_method": "client_secret_post"
},
)
client = Client(
transport=StreamableHttpTransport(
MCP_URL, headers=HEADERS, auth=oauth_auth
)
)
async def test_connection():
try:
async with client:
await client.ping()
print("接続成功")
return True
except Exception as e:
print(f"接続失敗: {e}")
return False
async def main():
result = await test_connection()
if not result:
print("接続失敗。テストを中止します。")
return
print("テスト結果:", "成功" if result else "失敗")
if __name__ == "__main__":
asyncio.run(main())YOUR_ACCESS_KEY_ID 等を自分の認証情報に置き換えて実行してください。
Claude Desktop からの接続設定(Mac)
手動コマンドでヘッダーを渡す方法
Claude Desktop を開くたびに認証を求められます。ブラウザをアクティブにしないとフリーズしたように見えることがあるので、その場合はアプリを再起動してみてください。
Mac の場合、設定ファイルは以下にあります。
~/Library/Application Support/Claude/claude_desktop_config.json開発者モードを ON にしていない場合は、先に有効化してください。
mcp-remote パッケージを使って、ヘッダーで認証情報を渡します。
{
"mcpServers": {
"amazon-product-ad-api": {
"command": "npx",
"type": "streamable-http",
"args": [
"mcp-remote@latest",
"https://amazon-product-ad-api.fastmcp.app/mcp",
"--header",
"aws_access_key_id: YOUR_ACCESS_KEY_ID",
"--header",
"aws_secret_access_key: YOUR_SECRET_ACCESS_KEY",
"--header",
"aws_associate_tag: YOUR_ASSOCIATE_TAG",
"--header",
"amazon_marketplace: JP"
]
}
}
}YOUR_ACCESS_KEY_ID、YOUR_SECRET_ACCESS_KEY、YOUR_ASSOCIATE_TAGを自分の認証情報に置き換えてくださいamazon_marketplaceは日本ならJP、アメリカならUSを指定します
mcp-remote を使った簡易接続
ベータ版ですが、リモートサーバー接続のドキュメント の手順でも接続できます。
ヘッダーやメタの指定はできないため、デフォルト値での動作になりますが、テスト用途には十分です。
認証を促すブラウザが開くので、FastMCP Cloud のアカウントで認証します。
Claude Code からの接続
ターミナルから以下のコマンドで追加できます。
claude mcp add --transport http amazon-product-api-test \
https://amazon-product-ad-api.fastmcp.app/mcp \
--header "aws_access_key_id: YOUR_ACCESS_KEY_ID" \
--header "aws_secret_access_key: YOUR_SECRET_ACCESS_KEY" \
--header "aws_associate_tag: YOUR_ASSOCIATE_TAG" \
--header "amazon_marketplace: JP"追加後、以下のように接続を確認します。
claude
/mcp amazon-product-api-test認証画面がブラウザで開くので、FastMCP Cloud アカウントでログインしてください。

使い方
設定が完了したら、Claude のインターフェイスで質問するだけで使えます。
amazon-product-api-testを使って、任天堂のゲームを調べてください。利用可能な MCP ツール一覧
このサーバーは以下の 5 つのツール を提供しています。
| ツール名 | 概要 |
|---|---|
search_products | キーワードで Amazon 商品を検索 |
get_product_details | ASIN を指定して商品の詳細情報を取得 |
get_product_variations | 商品のバリエーション(色・サイズなど)を取得 |
get_browse_nodes | カテゴリの階層構造・子カテゴリ・親カテゴリ情報を取得 |
check_api_status | API の設定と接続状態を確認 |
トラブルシューティング
接続がうまくいかない場合は、MCP インスペクター を使ってデバッグすると原因を特定しやすくなります。
よくあるポイント:
- 認証情報の誤り — ヘッダーのキー名・値を再確認
- Claude Desktop のフリーズ — ブラウザの認証ポップアップを処理してからアプリに戻る
- ビルドエラー — FastMCP Cloud のログでエントリーポイントの指定を確認
まとめ
FastMCP Cloud へのデプロイはスムーズで、特にハマるポイントはありませんでした。ローカルで動かすだけでなく、チームや友人に共有するにはクラウドに置いておくと便利です。
一つの MCP に全部詰め込むのではなく、目的ごとに別の MCP を用意してリミックスするのがシンプルで扱いやすいと感じました。