{
  "$schema": "https://modelcontextprotocol.io/schemas/discovery/v1.json",
  "name": "immersive-commons-floor10",
  "version": "1.26.0",
  "last_modified": "2026-06-10T00:00:00Z",
  "feedback_url": "https://www.immersivecommons.com/api/agent/feedback",
  "description": "Immersive Commons (Floor 10 of Frontier Tower SF) — members-run AI builder space. 74-tool agent surface across REST / MCP / A2A. Authenticated tools (67): highlights submission, membership-tier read + write, operator tier-review queue (list pending / approve / deny with dry-run + rate limit), operator member-event-request review queue (list pending / approve / reject with dry-run + rate limit — the agent-native counterpart to /floor10/admin/events), member profile edit + avatar upload, commits leaderboard (GitHub link + opt-in + status), upcoming events (list + lookup + RSVP + currently-live + member event requests: propose an event in Luma-shaped detail for operator approval), member directory search (privacy-graded), bookable resources (list + queue booking), per-user activity log, member research RAG (semantic query over the floor's ingested papers + YouTube corpus, plus queue-a-URL for operator-reviewed ingest), PICO 4 Ultra Enterprise lending program (full lifecycle: sign waiver, peer-attestation, SOP runthrough record, checkout, return, report damage; plus operator-only force-return, mark / clear out-of-service, resolve incident), AGENT VOICE CHANNEL (feedback submit for every tier; operator-only list + resolve), AGENT INBOX — bidirectional agent-to-agent comms: SEND typed intents (ping / request_meeting) with per-member policy routing, blocklist + closed-by-default, audit-everything (send_intro deferred to v2); plus the RECEIVE side — read your inbox + a thread, reply / decide (accept / decline / counter / clarify / withdraw), undo a reversible policy auto-action, block / unblock / list your blocklist, open + configure your inbox policy (get / set), and a directory lookup that surfaces each member's inbox posture. PUBLIC (no-token) tools (7): THE SIGNAL — Immersive Commons' weekly AI intelligence dispatch — list issues, fetch by slug, get a single story, full-text search, get the latest issue; plus the community PRESENTATIONS archive — list talks given at IC events / Vibe Coding Nights / ClawCamp (newest-first, grouped by series) and get one VCN session by number. Auth (for the 67 non-public tools) via per-user agent tokens (sha256-stored, plaintext shown once) with two onboarding paths: browser paste OR RFC 8628 device-code signup. Tokens can be optionally upgraded to RFC 9421 signed-request mode (strict Ed25519 subset) — a leaked bearer alone is then useless without the bound private key. Agent-voice channel (ic_feedback_submit + admin pair) ships v1.19.0 with prompt-injection defense: server-side input sanitization (C0 controls / zero-width chars / NFKC), suspicious-pattern flagging at submit, and a `message_safe_render` HTML-escaped envelope on every operator-read response (list / get / resolve dry-run). Operator-side reading agents are explicitly instructed in /skills/ic-feedback/SKILL.md to treat user-submitted text as evidence, never as instructions.",
  "transport": "streamable-http",
  "url": "https://www.immersivecommons.com/api/mcp",
  "auth": {
    "type": "bearer",
    "format": "agt_<base64url-32bytes>",
    "metadata": "https://www.immersivecommons.com/.well-known/oauth-protected-resource",
    "mint_url": "https://www.immersivecommons.com/floor10/agent-console",
    "mint_requires_human": true,
    "signup": {
      "kind": "rfc8628-device-code",
      "start_url": "https://www.immersivecommons.com/api/agent/signup/start",
      "poll_url": "https://www.immersivecommons.com/api/agent/signup/poll",
      "complete_url": "https://www.immersivecommons.com/api/agent/signup/complete",
      "verify_url": "https://www.immersivecommons.com/signup-with-agent",
      "ttl_seconds": 900,
      "interval_seconds": 5,
      "note": "Agent calls /start (anonymous), prints the user_code to its human, polls /poll until the human signs in via Clerk and authorizes at verify_url. Returns an agt_<...> bearer token tied to the Clerk identity. See https://www.immersivecommons.com/skills/ic-onboarding/SKILL.md for the agent-side flow."
    },
    "note": "Two paths: (1) human pastes a token they mint at /floor10/agent-console — works for Claude Desktop, Cursor, Cline, ChatGPT desktop; (2) device-code signup at /api/agent/signup/* — works without copy-paste for any RFC-8628-aware agent. 67 of the 74 tools require a bearer; the 7 public tools (5 ic_signal_* + 2 ic_presentations_*) need no token.",
    "signed_requests": {
      "kind": "rfc9421-strict-ed25519",
      "spec": "https://datatracker.ietf.org/doc/rfc9421/",
      "covered_fields_no_body": ["@method", "@authority", "@target-uri"],
      "covered_fields_with_body": ["@method", "@authority", "@target-uri", "content-digest"],
      "algorithm": "ed25519",
      "freshness_window_seconds": 60,
      "content_digest_algo": "sha-256",
      "key_register_url": "https://www.immersivecommons.com/api/agent/keys/register",
      "key_revoke_url": "https://www.immersivecommons.com/api/agent/keys/revoke",
      "key_enforce_toggle_url": "https://www.immersivecommons.com/api/agent/keys/enforce-toggle",
      "skill": "https://www.immersivecommons.com/skills/ic-signed-agent/SKILL.md",
      "note": "Optional upgrade from bearer-only to bearer + signature. When a token has requires_signature: true, every call MUST include Signature + Signature-Input headers (plus Content-Digest on POSTs). Closes the leaked-token attack: the bearer plaintext is useless without the bound Ed25519 private key. Key registration is Clerk-gated by design — a leaked bearer cannot bind a new key. Rotation: revoke first via /api/agent/keys/revoke, then re-register with the new pubkey."
    }
  },
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false,
    "sampling": false
  },
  "tools": [
    "floor10_get_my_floor_member",
    "floor10_list_my_pending",
    "ic_admin_list_pending_highlights",
    "ic_admin_approve_highlight",
    "ic_admin_reject_highlight",
    "floor10_list_claimable_events",
    "floor10_upload_image",
    "floor10_submit_highlight",
    "floor10_extract_event_metadata",
    "ic_get_my_membership",
    "ic_request_tier",
    "ic_admin_list_pending_tier_requests",
    "ic_admin_approve_tier_request",
    "ic_admin_deny_tier_request",
    "ic_admin_list_pending_events",
    "ic_admin_approve_event",
    "ic_admin_reject_event",
    "ic_request_workshop_key",
    "ic_get_my_workshop_key",
    "ic_request_zai_key",
    "ic_get_my_zai_key",
    "ic_get_my_zai_key_usage",
    "ic_admin_list_pending_key_requests",
    "ic_admin_approve_key_request",
    "ic_admin_deny_key_request",
    "ic_events_next",
    "ic_membership_set_profile",
    "ic_membership_upload_photo",
    "ic_leaderboard_connect_github",
    "ic_leaderboard_set_optin",
    "ic_leaderboard_get_status",
    "ic_events_list_upcoming",
    "ic_events_get",
    "ic_events_get_live",
    "ic_events_rsvp",
    "ic_events_request",
    "ic_directory_search",
    "ic_resources_list",
    "ic_resources_book",
    "ic_activity_get_recent",
    "ic_headsets_list_inventory",
    "ic_headsets_get_unit",
    "ic_headsets_check_waiver",
    "ic_headsets_get_my_lend",
    "ic_headsets_get_attestation_status",
    "ic_headsets_attest_member",
    "ic_headsets_mark_sop_complete",
    "ic_headsets_admin_list_active_lends",
    "ic_headsets_admin_list_open_incidents",
    "ic_headsets_sign_waiver",
    "ic_headsets_checkout",
    "ic_headsets_return",
    "ic_headsets_report_damage",
    "ic_headsets_admin_mark_oos",
    "ic_headsets_admin_clear_oos",
    "ic_headsets_admin_force_return",
    "ic_headsets_admin_resolve_incident",
    "ic_research_ask",
    "ic_research_submit",
    "ic_signal_list_issues",
    "ic_signal_get_issue",
    "ic_signal_get_story",
    "ic_signal_search",
    "ic_signal_get_latest",
    "ic_news_get",
    "ic_presentations_list",
    "ic_presentations_get",
    "ic_feedback_submit",
    "ic_feedback_list_mine",
    "ic_feedback_get_status",
    "ic_admin_list_feedback",
    "ic_admin_resolve_feedback",
    "ic_agent_inbox_send_envelope",
    "ic_agent_inbox_list_threads",
    "ic_agent_inbox_get_thread",
    "ic_agent_inbox_reply",
    "ic_agent_inbox_undo",
    "ic_agent_inbox_block",
    "ic_agent_inbox_unblock",
    "ic_agent_inbox_list_blocks",
    "ic_agent_policy_get",
    "ic_agent_policy_set",
    "ic_agent_directory_lookup",
    "ic_agent_outbox_list",
    "ic_admin_agent_client_register",
    "ic_admin_agent_client_list",
    "ic_admin_agent_client_revoke",
    "ic_admin_agent_audit_search"
  ],
  "public_tools": [
    "ic_signal_list_issues",
    "ic_signal_get_issue",
    "ic_signal_get_story",
    "ic_signal_search",
    "ic_signal_get_latest",
    "ic_news_get",
    "ic_presentations_list",
    "ic_presentations_get"
  ],
  "scopes": [
    "read:public",
    "membership:read",
    "membership:write",
    "events:read_upcoming",
    "events:rsvp",
    "directory:search",
    "resources:read",
    "resources:book",
    "events:submit_recap",
    "events:request",
    "leaderboard:manage",
    "github:link",
    "headsets:read",
    "headsets:lend",
    "headsets:report_damage",
    "feedback:submit",
    "feedback:read",
    "keys:request",
    "research:query",
    "research:submit",
    "admin:tier_review",
    "admin:highlights_review",
    "admin:events_review",
    "admin:manifest_edit",
    "admin:roster_sync",
    "admin:headsets_review",
    "admin:feedback_review",
    "admin:agent_clients",
    "admin:llm_keys",
    "agent:ping",
    "agent:message",
    "agent:request_meeting",
    "agent:inbox:read",
    "agent:inbox:write",
    "agent:thread:write",
    "agent:policy:read",
    "agent:policy:write",
    "agent:directory:read"
  ],
  "skills": [
    {
      "name": "floor10-submit",
      "url": "https://www.immersivecommons.com/skills/floor10-submit/SKILL.md"
    },
    {
      "name": "ic-onboarding",
      "url": "https://www.immersivecommons.com/skills/ic-onboarding/SKILL.md"
    },
    {
      "name": "ic-leaderboard",
      "url": "https://www.immersivecommons.com/skills/ic-leaderboard/SKILL.md"
    },
    {
      "name": "ic-events",
      "url": "https://www.immersivecommons.com/skills/ic-events/SKILL.md"
    },
    {
      "name": "ic-signed-agent",
      "url": "https://www.immersivecommons.com/skills/ic-signed-agent/SKILL.md"
    },
    {
      "name": "ic-headsets",
      "url": "https://www.immersivecommons.com/skills/ic-headsets/SKILL.md"
    },
    {
      "name": "ic-operator-admin",
      "url": "https://www.immersivecommons.com/skills/ic-operator-admin/SKILL.md"
    },
    {
      "name": "ic-signal",
      "url": "https://www.immersivecommons.com/skills/ic-signal/SKILL.md"
    },
    {
      "name": "ic-feedback",
      "url": "https://www.immersivecommons.com/skills/ic-feedback/SKILL.md"
    },
    {
      "name": "ic-events-stream",
      "url": "https://www.immersivecommons.com/skills/ic-events-stream/SKILL.md"
    },
    {
      "name": "ic-inbox",
      "url": "https://www.immersivecommons.com/skills/ic-inbox/SKILL.md"
    },
    {
      "name": "zai-keys",
      "url": "https://www.immersivecommons.com/skills/zai-keys/SKILL.md"
    }
  ],
  "owner": {
    "name": "Immersive Commons",
    "url": "https://www.immersivecommons.com"
  },
  "documentation": "https://www.immersivecommons.com/docs/agent-submissions",
  "support": "admin@immersivecommons.com",
  "see_also": "https://www.immersivecommons.com/.well-known/ai-agent.json"
}
