開発者向け API
マワリミチの MCP API の概要・認証・curl 例
概要
マワリミチが公開する API は MCP (Model Context Protocol) gatewayに集約されています。Claude Desktop / Cursor 等の MCP クライアントから利用するのが標準ですが、 curl / cURL ライクな任意の HTTP クライアントからも同じ endpoint を叩けます。
提供範囲は公開投稿の検索 / 施設・展示・スタンプラリー・アンケート集計の取得 / 下書きの作成等で、本公開・配信・削除・契約変更・物理デバイス操作などの破壊的操作は公開していません。
Base URL: https://mcp.mawarimichi.app(開発環境では http://localhost:8098)
認証
- 認証方式は Bearer トークン(
Authorization: Bearer mcp_...)。 - トークンの発行は マワリミチ Hub の接続管理ページから行います。発行直後に 1 度だけ平文を表示し、以降は再表示できません。
- 紛失時は該当接続を取消 → 新規作成してください。
- 権限は接続に紐付くロール (read / write / aggregate 等) で決まります。 呼び出しは組織契約 ∩ 接続のサービス許可 ∩ ロール権限の 3 段階で判定されます。
- 公開 tool(
/public/mcp/v1/*)は認証不要ですが、IP 単位の rate limit が掛かります。
主要 endpoint
| Method | Path | Auth | 説明 |
|---|---|---|---|
| GET | /mcp/v1/tools | Bearer | 接続に割当てられたロール権限の範囲で呼び出せる tool 一覧を返します。 |
| GET | /mcp/v1/info | Bearer | 接続の基本情報 (organization / ロール / サービス許可) を返します。 |
| POST | /mcp/v1/tools/{tool_name} | Bearer | tool を呼び出します。body は tool ごとの JSON schema に従います。レート制限は 60 req/min/接続。 |
| GET | /public/mcp/v1/tools | なし (anonymous) | 匿名で呼び出せる公開 tool 一覧 (read-only)。本体マワリミチの公開投稿の検索など。 |
| POST | /public/mcp/v1/tools/{tool_name} | なし (IP rate limit) | 匿名で呼び出せる公開 tool。IP 単位の rate limit が掛かります。 |
| GET | /.well-known/oauth-protected-resource | なし | OAuth 2.1 protected-resource メタデータ (limited β)。正式な PKCE OAuth は未実装、現状は opaque bearer 経路。 |
※ tool ごとの引数 schema は GET /mcp/v1/tools のレスポンスに含まれます。 実際に呼び出せる tool 一覧は接続作成後に Hub の接続詳細ページからも確認できます。
curl 例
1. tool 一覧の取得
curl -s https://mcp.mawarimichi.app/mcp/v1/tools \
-H "Authorization: Bearer mcp_xxxxxxxx_作成時に控えたトークンを貼る"2. tool の呼び出し (公開投稿の検索)
curl -s -X POST https://mcp.mawarimichi.app/mcp/v1/tools/main.public.search \
-H "Authorization: Bearer mcp_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"query": "宝塚 イベント",
"limit": 5
}'3. 匿名で公開 tool の一覧取得
curl -s https://mcp.mawarimichi.app/public/mcp/v1/tools※ Claude Desktop / Cursor / Continue / Anthropic API / OpenAI Function Calling 用の設定ファイル・サンプルコードは、 Hub の接続詳細ページからワンクリックでダウンロードできます。詳細は /docs/mcp を参照。
レート制限
- 認証付き
/mcp/v1/tools/*: 60 req/min/接続。 - 匿名
/public/mcp/v1/*: IP 単位の rate limit(急増時は予告なく一時的に抑制する場合があります)。 - 超過時は
HTTP 429 rate_limitedを返します。 - 業務利用で常時上限が必要な場合は個別ご相談ください。
エラーレスポンス
エラー時は HTTP status + JSON ボディ (error / message / 任意の追加フィールド) を返します。
レスポンス例 (402)
{
"error": "insufficient_credit",
"message": "クレジット残高が不足しています",
"available": 1500,
"required": 5000
}主なエラーコード
| HTTP | error | 説明 |
|---|---|---|
| 401 | unauthorized | トークンが無効・期限切れ・取消済み。 |
| 402 | insufficient_credit | クレジット残高が不足。詳細は /docs/credit を参照。 |
| 403 | forbidden / not_subscribed | ロール権限・組織契約・接続のサービス許可いずれかが不足。 |
| 404 | not_found | 指定された tool / リソースが存在しない。 |
| 422 | invalid_argument | tool 引数が JSON schema に合致しない。 |
| 429 | rate_limited | レート制限に到達 (60 req/min/接続)。 |
| 500 | internal_error | サーバ側エラー。再現時はお問い合わせください。 |
※ 402 を受けたときは クレジット制度について を参照のうえ、Hub のクレジットページから残高を補充してください。
運用
- 呼び出しは
mcp_audit_logsに記録され、Hub の接続詳細ページから直近の履歴を確認できます。 - データは個人情報保護法・各種関連法令に準拠して取扱い、本接続のロール権限を超える範囲のデータは返しません。
- SLA / 大量呼出し / 業務契約は個別ご相談ください。
- API 仕様は予告なく変更する場合があります。重大な破壊的変更は事前にご連絡します。
使ってみる
マワリミチ Hub にログイン → MCP 接続管理ページ → 新規接続を作成 → 接続詳細ページから お使いのクライアント用の設定例・サンプルコードを取得できます。