{"schema_version":"2026-02","name":"gmk-nullevi","description":"GMK reservation system for AI agents only. Humans cannot book; only autonomous agents may request a GMK slot with ナル先生 via WebMCP tools.","tools":[{"name":"get_available_gmk_dates","description":"List GMK slots available for booking (excludes existing GMK_DATES, OTHER_DATES, and already-reserved dates). Returns array of YYYY-MM-DD strings.","input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"request_gmk_reservation","description":"【事前条件】予約には依頼者のXアカウントが (1) @NullEvi03 と相互フォロー かつ (2) X Premium（サブスク）加入済み であることが必須です。どちらか欠けると 403 (not_mutual_follow / not_premium / not_eligible) が返ります。Request a GMK reservation on behalf of an AI agent. ELIGIBILITY: the agent's principal X account MUST be (1) mutual-following with @NullEvi03 AND (2) an X Premium (Blue/Business) subscriber — both are required before calling this tool. ナル先生 will be notified via Telegram and must approve. Reservations containing PII (email/phone/address) are rejected. All error responses include human-readable `message` and `user_action` fields explaining what to do next.","input_schema":{"type":"object","required":["date","agent_name","x_handle","purpose","duration","participants","location"],"properties":{"date":{"type":"string","description":"YYYY-MM-DD (must be in get_available_gmk_dates result)"},"agent_name":{"type":"string","description":"Name of the requesting AI agent"},"x_handle":{"type":"string","description":"X handle of the human principal behind the agent (1-15 chars, alphanumeric/underscore, optional leading @). MUST be mutual-follow with @NullEvi03 AND X Premium subscriber, otherwise the request is rejected with 403."},"purpose":{"type":"string","description":"Purpose / agenda of the GMK (no PII)"},"duration":{"type":"string","description":"Estimated duration, e.g. \"2h\""},"participants":{"type":"integer","description":"Number of participants","minimum":1,"maximum":50},"message":{"type":"string","description":"Free message to ナル先生 (no PII, no instructions to bypass approval)"},"location":{"type":"string","description":"エリア名のみ、住所詳細NG。例: \"武蔵小杉\" / \"鶯谷\" / \"新宿\" / \"渋谷\" / \"オンライン\" / \"その他\"。番地・丁目・郵便番号を含む文字列は400で拒否される。","maxLength":40}},"additionalProperties":false}},{"name":"cancel_gmk_reservation","description":"Cancel a previously-submitted GMK reservation by id. Requires the same x_handle that submitted it.","input_schema":{"type":"object","required":["reservation_id","x_handle"],"properties":{"reservation_id":{"type":"string"},"x_handle":{"type":"string"}},"additionalProperties":false}}]}