juggle-mcp について
juggle-mcpは、家族アカウントをベビーシッター・ペットシッターのマーケットプレイスJuggleに接続します。予約、シッター、会話の情報を取得でき、仕事の管理やシッターへの連絡は確認後に実行されます。
主な機能
- 01予約とシッター応募の確認
- 02シッターのプロフィールとレビュー検索
- 03会話とメッセージの閲覧
- 04仕事の掲載、承認、辞退、キャンセル
- 05確認必須の書き込みとプライバシーフィルター
活用シーン
- 01家族のシッター募集への応募を確認
- 02空き状況やサービスでシッターを検索
- 03シッターのメッセージを読んだり送信
- 04プレビューを確認して予約を管理
MCP 対応
MCPサーバーは、認証済みの家族プロフィール、予約、シッター、レビュー、会話の読み取りと、確認が必要な予約管理・メッセージ操作を公開します。ログイン情報は家族アカウントごとに設定します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @chrischall/juggle-mcpJUGGLE_EMAILThe email address you sign in to whyjuggle.com with (a family account). Needed by every tool except juggle_list_locations; the server starts without it.JUGGLE_PASSWORDシークレットYour whyjuggle.com password. Google/Facebook-only sign-ins are not supported. Needed by every tool except juggle_list_locations; the server starts without it.JUGGLE_BASE_URLSite origin override, for tests or a local stub only. Defaults to https://whyjuggle.com; must be https (loopback http allowed).MCP_CONFIRM_MODEConfirm-gated writes on clients without prompts: ask-user (default), auto, or refuse.MCP_CONFIRM_ELICITATIONSet to off to skip the confirmation prompt even on clients that declare elicitation support.MCP_CONFIRM_TTL_SECONDSHow long a write's confirmToken stays valid, in seconds (default 600).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
20掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
juggle-mcp
Juggle(ベビーシッターおよびペットシッターのマーケットプレイス)のファミリーアカウント向けMCPサーバーです。シッティングの依頼と応募したシッター、シッターのプロフィールとレビュー、メッセージを確認できるほか、確認を必要とする予約の変更にも対応します。
AI(Claude Code)によって開発・保守されています。Juggleとは提携していません。 このサイトには公開APIがありません。このサーバーはメールアドレスと パスワードでサインインし、ウェブサイトと同じルートを使用します。これらのルートは サイトのJavaScriptから特定しました。すべての読み取りツールと、お気に入り登録・お気に入り解除の 書き込みは、サインイン済みのファミリーアカウントで検証済みです(2026-11-03)。 それ以外の書き込み(シッティングの依頼、シッターの承諾・辞退、キャンセル、メッセージ送信、 レビュー)は他の人に影響するため、まだ実環境では検証されていません。詳しくは
docs/JUGGLE-API.mdをご覧ください。
セットアップ
npx -y @chrischall/juggle-mcp
| 変数 | 必須 | 説明 |
|---|---|---|
JUGGLE_EMAIL | はい | whyjuggle.comにサインインする際のメールアドレス(ファミリーアカウント)。 |
JUGGLE_PASSWORD | はい | whyjuggle.comのパスワード。GoogleまたはFacebookのみでのサインインには対応していません。先にサイトでパスワードを設定してください。 |
JUGGLE_BASE_URL | いいえ | テストまたはローカルスタブ専用のサイトオリジンの上書き設定。デフォルトはhttps://whyjuggle.comです。httpsが必須です(ループバックではhttpも使用できます)。 |
MCP_CONFIRM_MODE | いいえ | プロンプトのないクライアント(claude.ai、Claude Desktop)での確認必須の書き込み:ask-user(デフォルト)— 最初の呼び出しでは何も送信せず、プレビューとconfirmTokenを返します。モデルは、トークンを付けて再度呼び出す前にユーザーの承認を得る必要があります。auto — プレビューを確認した後、モデルがトークンを使用できます。refuse — 書き込みを拒否します。 |
MCP_CONFIRM_ELICITATION | いいえ | offにすると、エリシテーションへの対応を宣言しているクライアントでも確認プロンプトをスキップします。 |
MCP_CONFIRM_TTL_SECONDS | いいえ | confirmTokenの有効期間(デフォルトは600秒)。 |
サーバーは認証情報なしで起動するため、ホストからツール一覧を取得できます。最初のツール呼び出し時に、不足している情報が報告されます。拒否されたパスワードが自動的に再試行されることはありません。
ツール
読み取り
| ツール | 機能 |
|---|---|
juggle_healthcheck | Juggle のサインインが設定され、受け入れられていることと、認証済みページを読み取れることを確認します |
juggle_get_profile | ご家族のプロフィール:アカウント、都市、会員資格、仕事の統計、保存済み住所(シッティングの投稿に使う ID)、ペット。お子様の情報はリクエストされた場合のみ |
juggle_get_payments_summary | お住まいの都市の料金、保存済みカード(ブランド/末尾 4 桁)、会員資格、プロモーション クレジット、最近の取引をドルで表示します |
juggle_list_bookings | シッティング/仕事の一覧:ステータス、サービス、開始時刻、予約済みのシッター、保留中の応募。進行中、過去、またはステータスで絞り込みます |
juggle_get_booking | 予約の詳細:時間、お子様/ペット、メモ、応募者と予約済みのシッター、支払い総額、実行できる操作 |
juggle_list_sitters | 空き時間、サービス、キーワード、名前で、お住まいの都市のシッターを検索します |
juggle_list_favorites | お気に入りに登録したシッターの一覧を表示します。returned(お気に入りの件数)と、Juggle の上限である 200 人によって一覧が途中で切り詰められた可能性がある場合は note を報告します。0.1.1 以降は、お気に入りの件数ではなく都市全体のシッター数だった totalNumSitters は報告しません |
juggle_get_sitter | シッターの公開プロフィール:評価、経験、学校、資格、自己紹介。非公開情報は含みません |
juggle_get_reviews | 他のご家族がシッターに投稿したレビューを、総件数と平均評価とともに表示します |
juggle_list_conversations | シッターとのメッセージの会話一覧:最新メッセージ、時刻、未読件数 |
juggle_get_conversation | 会話のメッセージを読み込みます。新しいページから表示します |
juggle_list_locations | Juggle がサービスを提供する都市と、公開されているベビーシッター/ペットシッター料金(サインイン不要) |
読み取りツールでは view を指定できます。compact(デフォルト)は小さな投影を返し、full と raw は上流のフィールドをより多く返します。juggle_list_bookings と juggle_list_conversations では、brief も指定できます(mcp-host のコンテキストグループ向けに、各項目を 1 行で表示します。スキルの「In context groups」を参照)。プロフィール、シッター、支払いの各ツールでは、raw でもプライバシーの許可リストの範囲内にとどまります。シッターのプロフィール行にある非公開フィールド(電話番号、生年月日、緊急連絡先、身元調査の回答、ソーシャルメディアのアカウント情報)、ご家族の電話番号と自宅の指示、支払いページにある Stripe の秘密情報は決して返されません。唯一の例外は予約で、そのシッティングを予約したシッターの電話番号が、サイトと同様に表示されます。お子様の詳細は include_kids を指定した場合のみ返されます。他人の文章(メッセージ、レビュー、シッターの自己紹介、予約のメモ)を返すツールでは、それらを信頼できないデータとして扱います。
書き込み(確認必須)
| ツール | 機能 |
|---|---|
juggle_post_job | 1 回限りのベビーシッター/ペットシッター/ホームスクール支援の仕事(シッティング)を投稿します。シッターを招待することもできます |
juggle_accept_sitter | ご自身の仕事に応募したシッターを承認(予約)します |
juggle_decline_sitter | ご自身の仕事に応募したシッターの応募を辞退します |
juggle_cancel_booking | 予約をキャンセルします。直前のキャンセルは、手数料ではなく 1 つ星レビューのペナルティを通じてのみ行えます |
juggle_send_message | シッターとの会話でテキストメッセージを送信します |
juggle_favorite_sitter | シッターをお気に入りに追加します |
juggle_unfavorite_sitter | シッターをお気に入りから削除します |
juggle_leave_review | 完了した予約について、シッターに 0~5 つ星(半星単位)のレビューを投稿します |
各書き込みツールの最初の呼び出しでは、何も送信されません。最新の読み取りを行い、プレビューと confirmToken を返します。そのトークンを付けて呼び出しを繰り返すと、リクエストが 1 回だけ送信されます(上記の MCP_CONFIRM_MODE を参照)。送信後に 5xx エラーが発生した場合、または接続が切断された場合は status: "unknown" として報告され、再試行されません。金銭が移動する操作(チップ、支払い、キャンセル料、サブスクリプション、ギフトカード)は対象外です。また、直前のキャンセルで手数料が支払われることはありません。
スキル(サーバー不要)
skills/juggle は、シェルから同じ読み取り操作を行うための curl + jq ヘルパーです(skills/juggle/scripts/juggle)。
bash または zsh で動作し、専用の 0600 セッションファイルを
~/.config/juggle/session に保持し、同じプライバシー許可リストを適用します。読み取り専用で、書き込みは MCP で行います。このリポジトリをプラグインとしてインストールすると、Claude Code が自動的に検出します。
ホスティング
mcp-host(claude.ai リモート MCP)では、ブラウザブリッジなしでユーザーごとのコネクターとしてホストできます。サインインにはサーバー側でメールアドレスとパスワードを POST するだけで済むためです。mint.yaml は identity.perUserChild を宣言し、認可ページで各ユーザーにそれぞれの JUGGLE_EMAIL / JUGGLE_PASSWORD を求めるため、共有シークレットは不要です。外向き通信は whyjuggle.com のみに制限されています。スキルはローカル専用で、curl と jq がインストールされている環境であればどこでも実行できます。
開発
npm install
npm run build
npm test # both typechecks + vitest (no network)
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。