リンクをコピーしました

FastMCP CloudAmazon Product Advertising API の MCP サーバーをデプロイし、Claude DesktopClaude 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 のインスペクター機能でテストできます。

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_IDYOUR_SECRET_ACCESS_KEYYOUR_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 アカウントでログインしてください。

FastMCP Cloud の認証画面

使い方

設定が完了したら、Claude のインターフェイスで質問するだけで使えます。

amazon-product-api-testを使って、任天堂のゲームを調べてください。

利用可能な MCP ツール一覧

このサーバーは以下の 5 つのツール を提供しています。

ツール名概要
search_productsキーワードで Amazon 商品を検索
get_product_detailsASIN を指定して商品の詳細情報を取得
get_product_variations商品のバリエーション(色・サイズなど)を取得
get_browse_nodesカテゴリの階層構造・子カテゴリ・親カテゴリ情報を取得
check_api_statusAPI の設定と接続状態を確認

トラブルシューティング

接続がうまくいかない場合は、MCP インスペクター を使ってデバッグすると原因を特定しやすくなります。

よくあるポイント:

  • 認証情報の誤り — ヘッダーのキー名・値を再確認
  • Claude Desktop のフリーズ — ブラウザの認証ポップアップを処理してからアプリに戻る
  • ビルドエラー — FastMCP Cloud のログでエントリーポイントの指定を確認

まとめ

FastMCP Cloud へのデプロイはスムーズで、特にハマるポイントはありませんでした。ローカルで動かすだけでなく、チームや友人に共有するにはクラウドに置いておくと便利です。

一つの MCP に全部詰め込むのではなく、目的ごとに別の MCP を用意してリミックスするのがシンプルで扱いやすいと感じました。

参考リンク