Immersive Commons
RSVP to San Francisco AI events, book a room, borrow a VR headset, submit a 3D print, find members.
Connect it
Settings → Connectors → Add custom connector
URL: https://www.immersivecommons.com/api/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://www.immersivecommons.com/api/mcp{
"mcpServers": {
"floor10": {
"url": "https://www.immersivecommons.com/api/mcp"
}
}
}claude mcp add --transport http floor10 https://www.immersivecommons.com/api/mcp{
"servers": {
"floor10": {
"type": "http",
"url": "https://www.immersivecommons.com/api/mcp"
}
}
}24 tools, verified live
ic_signal_list_issuesread-onlyList issue summaries for THE SIGNAL, Immersive Commons' weekly AI intelligence dispatch. Newest first. No auth required. Args: { limit?: number (max 50, default 10) }. Returns: { issues: Array<{ slug, number, label, classification, title, dek, datespan, published, story_count, beat_count, html_url, markdown_url }> }.
ic_signal_get_latestread-onlyConvenience tool â returns the most-recent issue summary (same shape as one element of ic_signal_list_issues.issues[]). No auth required. Args: { include_stories?: boolean (default false â when true the issue's story list is inlined as stories[] with id/title/dek, saving a follow-up ic_signal_get_issue round trip) }.
ic_donateSupport Immersive Commons with an on-chain USDC donation over x402 (HTTP 402 + USDC on Base). No auth required. Returns the donation tiers, the receiving wallet (payTo), the asset + network, and the donate URL. MCP can't run the in-band 402 handshake itself, so to donate: POST https://www.immersivecommons.com/api/x402/donate with an x402 X-PAYMENT header (sign an EIP-3009 USDC authorization for on
ic_donations_totalread-onlyReturns the running total raised (USD), the donor count, and the most recent settled donations (name, amount, message, tx, ts) shown on the public donor wall at /donate. No auth required. Args: { limit?: number (1-50, default 10) }.
ic_signal_get_issueread-onlyFetch one issue by slug. Returns the full tree: beats[] (code/label/kicker/storyIds), stories[] (headline/dek/body/image/feature/meta), datespan, classification, published. No auth required. Args: { slug: string (e.g. "issue-05") }.
ic_signal_get_storyread-onlyFetch one story by (issue slug, story id). The story id is the kebab-case slug stored on each story (e.g. "grok-build", "shai-hulud-2"). Returns the story tree including body paragraphs, feature card, image, and source citations. No auth required. Args: { slug: string, story_id: string }.
ic_signal_searchread-onlySubstring search across every published SIGNAL issue. Matches on issue title + dek, beat label + kicker, story headline + dek + body. Case-insensitive. Returns ranked hits with a snippet + the slug + (when matched in a story) story_id. No auth required. Args: { q: string (2-120 chars), limit?: number (max 50, default 10) }.
ic_news_getread-onlyReturns newagg's velocity-ranked AI news â each item carries url + velocity + summary (plus dek, beat, date, publishedAt, image, focal). This is the RAW aggregator feed (the same firehose that drives the floor10 news kiosk), a DIFFERENT surface from ic_signal_* (which serves THE SIGNAL, the weekly editorial dispatch). Items come back ranked highest-velocity-first (ties keep the feed's own order)
ic_presentations_listread-onlyList the public archive of presentations given at Immersive Commons events, Vibe Coding Nights (VCN), ClawCamp, and other community talks â newest first, grouped by series. No auth required. NOT to be confused with ic_resources_list (that lists bookable rooms). Use ic_presentations_get for one VCN session's detail. Args: { series?: string (e.g. 'VCN'|'ClawCamp'|'Talk'), format?: 'deck'|'slides'|
ic_presentations_getread-onlyFetch a single presentation by its session number (optionally disambiguated by series). Session numbers are VCN-only; non-VCN talks (ClawCamp, standalone Talks) have no session_no â discover those via ic_presentations_list (filter series='ClawCamp'). No auth required. Returns the full ingest-friendly record. Args: { session_no: number, series?: string }. Returns: { scaffold, presentation: { sess
ic_funko_catalogread-onlyThe full catalog of things a Funko Me figure can earn â animation clips, props, skins, stages â with the condition that unlocks each one. No auth required; this is the rules table, not anybody's progress. Use it to explain to a human WHY something is locked, or to show what is worth doing on the floor. An item with no `requires` is granted to every signed-in member. Conditions read as either {
ic_spatial_beta_programread-onlyEverything needed to apply to the Immersive Commons spatial-computing beta: the terms (20 testers, 5 weeks, $160 paid ON COMPLETION, in person at Frontier Tower San Francisco, strict NDA, a pre-release AI spatial-computing device 6-12 months from release), every application question, and the REASON each is asked. Call this BEFORE ic_spatial_beta_apply so you answer well instead of guessing. `gates
ic_spatial_beta_applySubmit an application to the 20-person spatial-computing beta. WRITES a real application under a real person's name and commits them to a 5-week in-person NDA-bound program, so CONFIRM EVERY ANSWER WITH YOUR HUMAN FIRST and never invent one on their behalf - particularly the NDA, commitment and in-person answers, which are promises they have to keep. Call ic_spatial_beta_program first for the cata
ic_spatial_beta_statusread-onlyWhere one application stands. Needs BOTH the application_id and the claim_token returned at submission: an id alone returns only public slot counts and never anyone's record, because ids travel through URLs and chat logs and must not work as credentials. A wrong or missing token is answered exactly like an unknown id, so this cannot be used to test whether an id exists. Args: { application_id, cla
ic_forms_listread-onlyEvery form Immersive Commons is currently taking answers to, filtered by who you are. START HERE â do not guess a form id. Each entry carries its `form_id`, title, summary, the membership ring it is open to, whether YOU can answer it right now, and if you cannot, the reason and the ring you would need. A form you can SEE but not answer is LISTED rather than hidden, because a program nobody outsi
ic_forms_getread-onlyThe whole definition of one form: every question, its `kind` (short | long | bool | choice | email | url), whether it is required, the exact `options` a `choice` answer must match, and a `why` saying what the answer is actually used for. THIS IS THE READ-BEFORE-YOU-WRITE TOOL â call it before ic_forms_submit so you answer well instead of guessing, and relay each `why` to your human rather than d
ic_forms_submitSubmit answers to one form. NO TOKEN REQUIRED â a form whose audience is `public` takes answers from a caller with no account at all, which is deliberate: the web page accepts anonymous submissions, so an agent path that demanded a token would make acting for your human HARDER than doing it by hand. Each form still declares its own audience ring and it is checked here, live, on every call; a ref
ic_forms_my_submissionread-onlyThe status of one submission â YOUR human's, never anybody else's. No token required. Two ways in: a signed-in identity resolves its own record with no id at all, or `submission_id` plus the `claim_token` handed back once at submit time opens the record that token belongs to. An id ALONE never works: ids travel through URLs and chat logs, and if an id were a credential every stranger's answers w
ic_forms_withdrawcan modifyTake your human's own submission back. NO TOKEN REQUIRED, and no token grants this on anyone else's behalf: the ONLY things that open a record here are your human's signed-in identity or the submission_id plus the one-time claim_token handed back at submit. An operator cannot do it for them, a reviewer cannot do it for them, and `admin:forms_manage` does not reach this â withdrawing belongs to t
ic_scheduling_list_meeting_typesread-onlyWhat you may book with one IC member: every PUBLIC meeting type they publish, with its duration, location kind, notice window and booking horizon. START HERE â a slug guessed rather than read is the commonest way an availability call returns not_found. NO TOKEN REQUIRED, and that is the point: a visitor's agent must be able to discover a member's booking link without an IC account, exactly as a
ic_scheduling_get_availabilityread-onlyOpen slots for one meeting type AND the member's full booking policy, in ONE response. The policy is included deliberately so you can solve locally instead of probing: repeated narrowing calls are what turn a lookup into a negotiation, and this surface refuses to be negotiated with. Every start/end is UTC ISO-8601 with a trailing Z; member.tz and the echoed viewer_tz are IANA zone names â never
ic_scheduling_manage_bookingThe way OUT of a booking, and it is first-class on purpose: an agent that has to ask its human to click a link in an email simply ghosts, and no-shows are the failure mode that actually burns members' time. NO TOKEN REQUIRED â the booking's own cancel_token IS the credential, exactly as a form's claim token is for an account-less submitter. Putting the exit behind an IC account nobody was issued
ic_member_card_getread-onlyThe public card for one Immersive Commons member by handle, schema ic-member-card/1: { ok, card{ schema, handle, name, headline?, bio?, profile_url, card_url, member_of, links[{kind, url, handle?, label?, verified_at?}], reach[{channel ('book'|'call'|'agent_inbox'|'paid_message'|'direct'), label, how, auth ('none'|'ic-member'|'agent-token'|'x402'), page?, endpoint?, tool?, url?, kind?, member_id?,
ic_offerings_getread-onlyWhat one Immersive Commons member sells, by handle: { ok, handle, count, offerings[{ id, slug, title, description, price{mode, amount_usdc, unit?}, networks, fulfillment_kind, audience, input_schema?, x402_url }], how_to_pay }. Only offerings the member LISTED and that are on sale; an unknown handle, a member with none listed, and a private member all return the same not_found. To buy: GET or POST
Alternatives in Design & Media
Compare →
Rev.ai MCP by usefulapiB
Transcribe audio with Rev.ai: submit jobs by URL, read transcripts, summaries and captions.
Speechmatics MCP by usefulapiB
Transcribe audio and video with Speechmatics speech-to-text from Claude and any MCP client.
Photon Health MCP by usefulapiB
Read Photon Health patients, prescriptions, orders, pharmacies and medications; screen interactions.
Lambda Labs MCP by usefulapiB
Read GPU instances, types, images, filesystems and firewall rules; launch and terminate instances.
bunny.net MCP by usefulapiB
Inspect pull zones, storage, DNS and video libraries on bunny.net, and purge caches.
TCTHIRI Chord IntelligenceB
Deterministic music theory for agents: analyze, voice, reharmonize, conduct — computed, not guessed