toasttab-mcp について
toasttab-mcpは、Toastのレストランやメニューを調べるMCPサーバーです。サインイン中はブラウザブリッジ経由でアカウント情報も読み取れ、各ツールは読み取り専用です。
主な機能
- 01営業中のテイクアウト・配達店を検索
- 02オンラインとPOSのメニューを取得
- 03過去の注文とレシート詳細を確認
- 04ロイヤルティ進捗とToast Cashを確認
- 05ブラウザブリッジ経由の読み取り専用ツール
活用シーン
- 01指定時刻に利用できるToast店舗を探す
- 02オンラインと店内メニューを比較する
- 03過去の注文内容と合計額を確認する
- 04店舗の特典残高を確認する
MCP 対応
Toastの店舗、メニュー、注文、ロイヤルティ、ウォレット情報をMCPツールとして提供します。呼び出しはContextMint Bridge拡張機能を通じてユーザーのブラウザで中継され、すべて読み取り専用です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y toasttab-mcpTOAST_WS_PORTOverrides the fetchproxy WebSocket port (default 37149, the fleet-shared port).FETCHPROXY_WS_HOSTBridge bind interface, a literal IP only (anything else is ignored); default 127.0.0.1. Keep on loopback — it exists for a hosted child in its own network namespace.FETCHPROXY_IDENTITY_DIRWhere to store the long-term bridge identity keypair, an absolute path only (anything else is ignored); default ~/.fetchproxy/identity/. Exists for a host that runs a separate child per caller.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | いいえ | 名前にこの文字列を含むレストランのみ(大文字小文字と句読点を区別しません)。 |
| view | enum | いいえ | レスポンス形式:"compact"(デフォルト)は、レスポンス内の別の場所にすでに含まれているフィールドを省略します。"full" は、このサーバーが認識するすべてのフィールドを返します。compact(デフォルト)は整形済みの結果を返し、"full" は Toast ゲートウェイの `data` オブジェクトをそのまま返します。compact | full |
| when | string | いいえ | 注文の提供時刻を示す ISO-8601 の日時。デフォルト:現在。 |
| limit | integer | いいえ | 返すレストランの最大数(デフォルト 25)。 |
| latitude | number | はい | 検索中心点の緯度(10 進度)。 |
| longitude | number | はい | 検索中心点の経度(10 進度)。 |
| radius_miles | number | いいえ | 検索半径(マイル単位、0.1~25、デフォルト 2)。Toast は 1 回の応答で最大 300 件のレストランを返します。 |
| dining_option | enum | いいえ | TAKE_OUT(デフォルト)または DELIVERY。DELIVERY では、その地点に配達可能なレストランのみを表示します。TAKE_OUT | DELIVERY |
詳細
Toast MCP
Model Context Protocol サーバーです。Claude を Toast の利用者向けサービスに接続します。Toast 経由で注文を受け付けているレストランを探してメニューを読み取ります。また、toast.app にサインインしている場合は、ご自身の注文履歴、ロイヤルティプログラム、Toast Cash を読み取ります。
警告
AI によって開発されたプロジェクトです。 Claude Code がこのコードベースを構築し、保守しています。人間による実装の監査は行われていません。使用する前に、コードとツールの権限を確認してください。
できること
- 「今すぐToastでテイクアウトを注文できる近くのレストランはどこですか?」
- 「https://order.toasttab.com/online/… のメニューには何がありますか? 12ドル未満のベジタリアン向けメニューはありますか?」
- 「あのカフェのオーツミルクラテは、今日は売り切れですか?」
- 「オンラインメニューと店内の全メニューを比較してください。」
- 「先週、あのタイ料理店で何を注文しましたか? いくらでしたか?」
- 「いつものコーヒーショップで特典をもらうまで、あとどれくらいですか? Toast Cash の残高はいくらですか?」
仕組み
Toast の利用者向けサイト(order.toasttab.com)と注文用 GraphQL ゲートウェイ(ws-api.toasttab.com/do-federated-gateway)は、Cloudflare の背後にあります。Cloudflare はサーバー側のクライアントを拒否します。チャレンジページを表示するか、ゲートウェイが {"errors":[{"message":"Forbidden"}]} と応答します。そのため、このサーバーは直接リクエストを一切行いません。すべての呼び出しは、ContextMint Bridge 拡張機能を介して、お使いのブラウザーから行われます。127.0.0.1:37149 上で @fetchproxy/server を使用します。「人間であることを確認してください」というチェックが表示された場合は、ご自身のタブでご自身で通過してください。回避処理は行われません。
ツール
| ツール | 機能 |
|---|---|
toast_find_restaurants | 指定した時刻にテイクアウト(またはデリバリー)を受け付けている、緯度・経度の近くのレストランを近い順に検索します。各結果には GUID、shortUrl、注文リンク、住所、距離が含まれます。 |
toast_resolve_restaurant | Toast のリンク、shortUrl、または GUID から、toast_get_menu が必要とするレストランの GUID を取得します。 |
toast_get_menu | オンライン注文メニュー、レジ(POS)の全メニュー、または両方を統合したメニューを読み取ります。検索、在庫切れ項目のフィルタリング、件数制限に対応しています。 |
toast_list_orders | 新しい順に並べた注文履歴です。レストラン、日時、食事オプション、ステータス、品目、合計が含まれます。next_page_token でページを取得できます。 |
toast_get_order | 過去の注文をレシート形式で表示します。モディファイア付きの品目、小計、税金、チップ、サービス料、支払い、デリバリーの詳細が含まれます。 |
toast_get_loyalty | レストランのロイヤルティプログラムを表示します。残高と次の特典までの進捗が含まれます。 |
toast_get_wallet | Toast Cash の残高、次回の有効期限、期限切れが近い単位、受け取った単位を表示します(ギフトの場合は贈り主の名前が表示されます)。 |
toast_graphql | ゲートウェイに対して読み取り専用の GraphQL クエリを実行し、他のツールでは扱えないデータを調べます。ミューテーションは拒否されます。 |
toast_healthcheck | ブリッジとゲートウェイの往復通信を確認し、失敗したホップを示します。 |
これらのツールはすべて読み取り専用です。注文の確定、カートへの操作、特典の引き換え、アカウントの変更は行いません。4つのアカウント用ツール(toast_list_orders、toast_get_order、toast_get_loyalty、toast_get_wallet)は、ブリッジ接続されたブラウザーで toast.app にサインインしている場合にのみ動作します。
検証済みの内容と未検証の内容
専用ツール(nearbyRestaurants、menusV3、restaurantV2ByShortUrl)の基盤となる操作は、2026-10-24 にブリッジ経由のブラウザーで実際に検証済みです。メニューの価格はドル表示で、TAKE_OUT と DELIVERY のどちらも利用できます。ゲートウェイがリクエストに応答するのは、ゲストセッションが付与されている場合のみです。このセッションはサーバーがブラウザー経由で order.toasttab.com のページから自動的に取得するため、そのタブを開いたままにしておけば、ほかに必要な操作はありません。
アカウントツールは Toast 独自のゲストアプリ用クエリ(toast.app のバンドルからそのままコピーしたもの)を実行します。解析対象となるすべてのデータ形式は実際の動作から取得し、機密情報を除去してテストフィクスチャとして保持しています。認証には toast.app のアクセストークンを使用し、ブリッジが呼び出しごとにその Cookie から読み取ります。サーバーがトークンを更新することはありません(更新するとトークンがローテーションされ、ブラウザーからサインアウトされてしまうためです)。トークンの期限が切れている場合は、toast.app を再読み込みするよう求められます。保存済みの支払い方法とアカウントプロフィールは、意図的に公開していません。
インストール
- リリースページから ContextMint Bridge 拡張機能をインストールします。Chrome では、展開済みの zip を使用します。
https://order.toasttab.comで任意のレストランの注文ページを開き、タブを開いたままにします。API 呼び出しはこのタブを介して中継されます。 アカウントツールを使う場合は、サインイン済みのhttps://toast.appタブも開いたままにしてください。- MCP クライアントにサーバーを追加します。
{
"mcpServers": {
"toast": { "command": "npx", "args": ["-y", "toasttab-mcp"] }
}
}
Node 22 以降が必要です。ここでは認証情報は設定されていません。初回起動時に、拡張機能でペアリングの承認を求められます。toasttab.com と toast.app、およびアカウントツール用の toast-customer-access Cookie の読み取りが表示されます。
設定(すべて任意)
| 変数 | デフォルト | 用途 |
|---|---|---|
TOAST_WS_PORT | 37149 | ブリッジの WebSocket ポート |
FETCHPROXY_WS_HOST | 127.0.0.1 | ブリッジのバインドインターフェース(ホスト型のセットアップのみ) |
FETCHPROXY_IDENTITY_DIR | ~/.fetchproxy/identity/ | ブリッジの ID キーペアの保存場所 |
トラブルシューティング
まず toast_healthcheck を実行してください。
- 「Forbidden」 または 「edge … refused」:ブラウザーで Toast の Cloudflare チェックがまだ完了していません。
order.toasttab.comを開いて読み込みを待ち(チェックが表示された場合は完了させて)、再試行してください。 - 「No order.toasttab.com tab is open」:拡張機能を実行しているブラウザーで、任意の
order.toasttab.com/online/<restaurant>ページを開いてください。 - 「not signed in」/「sign-in has expired」(アカウントツール):toast.app を開くか再読み込みしてサインインし、再試行してください。
- 夜間にディレクトリが空で返される:
nearbyRestaurantsはwhenの時刻に営業しているレストランのみを一覧表示します。日中のwhenを指定してください。
利用規約に関する注意
このサーバーはブラウザーを介して あなたとして Toast にアクセスするため、Toast のゲスト向け利用規約が利用方法に適用されます。メンテナーは、この用途について利用規約を確認していません。このサーバーを利用する前に、ご自身で利用規約をお読みください。このプロジェクトは Toast, Inc. と提携しておらず、同社の推奨も受けていません。個人利用を目的としています。レストランのデータを大量に収集するために使用しないでください。
開発
npm install
npm test # typecheck + vitest (all mocked, no network)
npm run build # typecheck + esbuild bundle → dist/bundle.js
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。