05 · API
MCP でアナリティクスに質問する
MCP サーバーを使うと、Claude などのアシスタントが、REST API と同じ読み取り専用のキーで、アナリティクスに自分で質問できます。
01アシスタントに追加する
サーバーのアドレスは https://tallybyoutpost.com/mcp で、REST API と同じキー(Setup ページで作成)を Authorization: Bearer … として受け付けます。Claude Code の場合:
claude mcp add --transport http analytics "https://tallybyoutpost.com/mcp" \
--header "Authorization: Bearer $TALLY_API_KEY"
Streamable HTTP 経由の MCP に対応し、ヘッダーを送信できるクライアントであれば、どれも同じ方法で使えます。
02ツール一覧
どのツールも読み取りのみです。各ツールは REST のルートと同じパラメーターを引数として受け取ります(filters はオブジェクトで {"country": "DE"} のように指定し、site は省略できます)。
| ツール | 応答の内容 |
|---|---|
list_sites | この API キーが読み取るサイト:ID、名前、ドメイン、タイムゾーン、訪問者の数え方(Cookie モード、Cookie なし、同意優先)。 |
get_overview | 期間とその直前の期間について、訪問者、ページビュー、訪問、エンゲージメント時間の中央値と、決済を接続している場合は純収益、売上、返金、コンバージョン率、訪問者あたりの収益、そして両者の間の変化。現在サイトにいる訪問者も返します。 |
get_breakdown | 1 つのディメンション(流入元、チャネル、ページ、国、デバイス、キャンペーンなど)の上位の値を、ユニーク訪問者数または収益の順に返します。それぞれに訪問者の割合と、その訪問者がもたらした収益が付きます。 |
compare_periods | 期間を、その直前の期間(previous)または 1 年前の同じ日付(year)と比べます。両方の概要の数値すべてと、相対的な変化を返します。サイトの記録が比較できるほど過去にさかのぼらない場合、変化は null になります。 |
list_sales | 決済を新しい順に返します。それぞれに請求時の金額と米ドル換算額、訪問者に紐づいているか、その方法(紐づけ方法と確度)、紐づいていない場合はその理由が付きます。紐づいていない決済や返金に絞り込めます。 |
get_receipt | 1 件の決済のレシート:決済を訪問に結びつける根拠のつながり(初回訪問、支払い前の訪問、帰属先の訪問、一致した識別子とその場所)、決済サービスのすべての ID、そしてその決済の元になった決済。 |
get_coverage | 期間の収益のうち訪問者に帰属した割合(紐づけ方法別)と、帰属していないものの修正リスト(貼り付けるコード付き)。 |
list_visitors | 期間中の訪問者(Cookie なしのサイトでは訪問)を、新しい順、収益順、購入の見込みが高い順のいずれかで返します。訪問、ページ、訪問あたりのエンゲージメント時間、収益、直近の訪問が付きます。 |
get_visitor | 1 人の訪問者の行動の流れ全体:各訪問のページ、エンゲージメント時間、ゴール、外部リンクのクリック、その訪問者の支払い、ファーストタッチ、売上が帰属したタッチ。 |
get_realtime | 直近 5 分間にサイトにいる人(ページ、場所、流入元、デバイス)と、直近 1 時間の売上。 |
get_goals | 期間中に達成されたすべてのゴールと、その達成数、コンバージョンした訪問者、コンバージョン率、コンバージョンした訪問者の収益。goal を指定すると、そのゴールのプロパティを返します。サイトのファネルも一覧にします。 |
get_funnels | サイトのファネルと、各ステップの訪問者、前のステップと最初のステップからのコンバージョン、離脱。funnel を指定すると、1 つのファネルを返します。 |
get_customer_value | 各顧客を最初に連れてきた流入元別の顧客生涯価値:記録にあるすべての決済をもとにした、顧客数、収益、顧客あたりの平均、更新、リピート率。 |
get_peak_hours | サイトのタイムゾーンでの曜日別・時間帯別の訪問、売上、収益と、データが十分な場合は最も混み合う 3 つの時間帯。 |
get_engagement | ページの読まれ方:ページごとと全体の閲覧数、閲覧時間の中央値、平均スクロール深度、最後まで読まれた割合と、よくある入口ページと出口ページ。 |
get_purchase_paths | 購入者がたどった経路:初回訪問から購入までの時間、支払い前の訪問数とページ数、ファーストタッチから帰属先の流入元への流れ、購入者が支払い前に見たページ。 |
03プロトコル
- JSON-RPC 2.0 を使う Streamable HTTP で、リビジョンは
2026-07-28です。2025-11-25、2025-06-18、2025-03-26のクライアントも、initializeで接続を始めれば利用できます。 - メソッド:
server/discover、initialize、tools/list、tools/call、ping。 - 結果の
structuredContentは REST のルートと同じ JSON です。contentには 1 行の要約と、それに続けて同じ JSON がテキストとして入ります。 - REST と同じく、アカウントのプランの対象外のキーには
402が、レート制限にはRetry-After付きの429が返ります。
curl -s "https://tallybyoutpost.com/mcp" \
-H "Authorization: Bearer $TALLY_API_KEY" \
-H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2026-07-28" -H "Mcp-Method: tools/call" -H "Mcp-Name: get_overview" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "get_overview", "arguments": {"period": "30d"},
"_meta": {"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": {"name": "curl", "version": "8"},
"io.modelcontextprotocol/clientCapabilities": {}}}}'
04うまくいったか確認する
足りない情報や、実際の画面と違う点はありませんか? どのページかを添えて support@tallybyoutpost.com までお知らせください。