paxaver-mcp について
paxaver-mcp は Paxaver 学校コミュニティプラットフォーム向けの MCP アダプターです。認証済みユーザーに代わり、AI アシスタントがランチやイベント、プログラムを操作できます。ロールに応じてツールを絞り、処理は Paxaver バックエンドに委ねます。
主な機能
- 01ランチメニュー、注文、ウォレット管理
- 02イベント登録とボランティアシフト管理
- 03学校プログラムの登録と管理
- 04レストラン、メニュー、イベントの管理
- 05OAuth 2.1 とロールベース認可
活用シーン
- 01ウォレット残高と取引履歴の確認
- 02生徒のランチ注文作成と支払い
- 03学校イベントやシフトへの登録
- 04管理者によるレストランとプログラム枠の管理
MCP 対応
Streamable HTTP で MCP を提供し、OAuth 2.1 Authorization Code と PKCE でサインインします。MCP クライアントにはロール別のツールとプロンプトを公開し、各呼び出しでも認可を確認します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.paxaver.com/mcpclaude mcp add --transport http smartoire-paxaver https://mcp.paxaver.com/mcp{"mcpServers":{"smartoire-paxaver":{"type":"http","url":"https://mcp.paxaver.com/mcp"}}}Cursor で開く{"servers":{"smartoire-paxaver":{"type":"http","url":"https://mcp.paxaver.com/mcp"}}}VS Code で開く{"mcpServers":{"smartoire-paxaver":{"type":"http","url":"https://mcp.paxaver.com/mcp"}}}{"mcpServers":{"smartoire-paxaver":{"serverUrl":"https://mcp.paxaver.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Paxaver MCP サーバー
Paxaver の学校コミュニティプラットフォームを AI 向けに接続するアダプターです。 RS256 JWT 検証、機能優先の認可、Streamable HTTP トランスポートを備え、 Cloudflare Workers 上で Model Context Protocol(MCP)を実装します。
これは何ですか
Paxaver MCP サーバーを使うと、AI アシスタント(ChatGPT、Claude、Perplexity、および MCP 互換クライアント)が Paxaver ユーザーに代わって操作できます。ランチメニューの確認やランチの注文、 ウォレット残高と取引履歴の確認、募金イベントへの登録、生徒の学校プログラムへの登録、ボランティア参加に加え、 学校の管理者は、レストラン、メニュー項目、イベント、参加者のチェックイン、 ボランティアのシフト、プログラムのウェイトリスト、日々の注文を管理できます。
薄いアダプターです。ビジネスロジックは含まず、データベース、決済、メールの認証情報も保持しません。 すべての操作は、認証済みユーザーとして Paxaver バックエンド API に対して実行され、エラーはクライアントに届く前にサニタイズされます。
接続
ホストされているエンドポイントを MCP 互換クライアントに指定し、プロンプトが表示されたら Paxaver アカウントでサインインします(OAuth 2.1 Authorization Code + PKCE)。
https://mcp.paxaver.com/mcp
このサーバーは、Streamable HTTP(POST /mcp)経由で MCP プロトコル 2025-06-18 を使用します。
すべてのリージョンで 1 つのエンドポイントを使用し、サインイン時にユーザーのアカウントからリージョンを特定します。
インストール
npm install @paxaver/mcp
このパッケージには、セルフホストと開発に使用する Worker のソースコードが含まれています。ほとんどのユーザーは、上記のホストされたエンドポイントだけを使用すれば十分です。
ローカルで実行
pnpm install # Node >= 26.8.2, pnpm >= 10
pnpm dev # Miniflare on http://localhost:8787 — MCP endpoint: POST /mcp
Docker
docker build -t paxaver-mcp .
docker run -p 8787:8787 paxaver-mcp
# MCP endpoint: http://localhost:8787/mcp
セルフホストおよびローカルのインスタンスでは、トークンの失効確認は行いません。失効したトークンも、有効期限が切れるまでは有効です。トークンの署名と有効期限は引き続き検証され、ユーザーコンテキストもその都度読み込まれます。
開発環境の完全なセットアップについては、CONTRIBUTING.md を参照してください。
ツール
サーバーは、6 つのカテゴリに分類された 37 個のツールを公開します。tools/list での表示は呼び出し元のロールによってフィルタリングされます。ディスパッチの前にすべての呼び出しが再認可され、バックエンドでもデータレベルのアクセスが再確認されます(多層防御)。
| カテゴリ | ツール |
|---|---|
| ユーザー/ウォレット | get_my_context、sign_out、get_my_wallet_balance、list_my_wallet_transactions |
| 昼食の注文 | get_lunch_menu、list_my_lunch_orders、create_lunch_order_draft、update_lunch_order_draft、discard_lunch_order_draft、pay_lunch_order_draft、cancel_my_lunch_order |
| イベントとボランティア | list_school_events、get_school_event、register_for_event、list_my_event_registrations、cancel_my_event_registration、list_my_volunteer_signups、sign_up_for_volunteer_shift、cancel_my_volunteer_signup |
| イベント管理 | create_school_event、update_school_event、cancel_school_event、list_event_attendees、check_in_event_ticket、create_volunteer_shift |
| プログラム | list_school_programs、register_for_program、cancel_program_registration、list_program_registrations、admit_program_registration |
| レストラン/メニュー管理 | list_school_restaurants、create_school_restaurant、list_restaurant_menu_items、create_restaurant_menu_item、update_restaurant_menu_item、archive_restaurant_menu_item、schedule_lunch_menu_item |
プロンプト
サーバーは 4 つのプロンプト、daily_lunch_menu、wallet_balance、
upcoming_events、lunch_order_helper(任意の student_name 引数)を登録します。
利用可否と内容は prompts/list と prompts/get で返されます。
注文は下書き → 確認 → 支払いの順に進みます。create_lunch_order_draft で下書きを作成し、update_lunch_order_draft で調整してから、
pay_lunch_order_draft で支払います。
sign_out は、この MCP 接続での呼び出し元のサインインを終了します。次のリクエストでは通常のサインインチャレンジが返されます。アプリが独自の Paxaver 認証情報を保持している場合、この方法ではサインアウトできません。その場合は、アプリまたは Paxaver アカウント設定で Paxaver の接続を解除するようユーザーに案内する結果が返されます。
2.5 より前のツール名でも正規のツールを引き続き呼び出せますが、現在は公開されません。廃止された order_lunch ツールは削除されています。財務関連ツールと破壊的操作を行うツールにはラベルが付けられ、ユーザーによる確認が必要です。
プライバシー
MCP ツールから返される連絡先情報は、呼び出し元自身のサインイン用メールアドレスのみです。クライアントが「どのログインを使用中か」を回答できるように get_my_context に含まれ、sign_out ではサインアウト対象のアカウントが示されます。電話番号、住所、その他の連絡先情報は一切返されません。生徒データは ID、氏名、学校のスラッグに限定されています。アレルギー、メモ、誕生日、その他の個人を特定できる情報(PII)は読み取り応答では公開されません。MCP サーバーはユーザーデータをログに記録しません。
ドキュメント
| ドキュメント | トピック |
|---|---|
| CHANGELOG.md | リリース履歴 |
| SECURITY.md | 脆弱性の報告ポリシー |
| CONTRIBUTING.md | 開発環境のセットアップと貢献の手順 |
アーキテクチャ、認証、認可、すべてのツールのリファレンス、デプロイ、セキュリティモデル、テストシナリオに関する内部ドキュメントは、非公開の Paxaver モノレポジトリ内の docs/paxaver-mcp/ にあり、意図的に公開していません。
技術スタック
- ランタイム: Cloudflare Workers
- フレームワーク: Hono v4
- JWT: jose v6(JWKS 経由の RS256)
- プロトコル: MCP
2025-06-18、Streamable HTTP - ビルド/デプロイ: Wrangler v4
- テスト: Vitest v5(Workers プール+Node プール)
サポート
- バグ報告と機能リクエスト: GitHub の issue
- セキュリティ報告:SECURITY.md を参照してください
ライセンス
Apache-2.0。Copyright (c) 2026 Smartoire。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。