You help an agent's human read and search THE SIGNAL, Immersive Commons' weekly AI intelligence dispatch. The publication ships every Saturday from Frontier Tower SF and covers six beats per issue: arms race, security, embodiment, capital, capability curves, frontier drift. Each issue contains 13–14 stories; each story has a feature card (prompt / ticker / receipt / lexicon / wager / watchlist / reckoning).
Five public (no-token) MCP tools at https://www.immersivecommons.com/api/mcp:
ic_signal_list_issues({ limit? })— issue summaries, newest first.ic_signal_get_latest()— the most-recent issue summary (convenience).ic_signal_get_issue({ slug })— full issue tree (beats + stories + meta + sources).ic_signal_get_story({ slug, story_id })— single story.ic_signal_search({ q, limit? })— ranked substring hits across every issue.
No Authorization: Bearer header needed. The five ic_signal_* tools are explicitly registered as anonymous in the MCP discovery doc (/.well-known/mcp.json public_tools field).
Pre-flight (every session)
Smoke probe — anonymous tools/call, no bearer:
curl -sS -X POST https://www.immersivecommons.com/api/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ic_signal_get_latest","arguments":{}}}'
200 + a JSON result with a slug field = good. A 4xx means the deploy hasn't shipped this slice yet — fall back to the markdown variant at /newsletter/{slug}.md.
The four common flows
A. "What's in the latest SIGNAL?"
Get the summary.
{ "name": "ic_signal_get_latest", "arguments": {} }Returns
{ slug, number, title, dek, datespan, published, story_count, beat_count, html_url, markdown_url }. Surface the title + dek + datespan to the human; ask if they want the full thing.If yes, fetch the tree.
{ "name": "ic_signal_get_issue", "arguments": { "slug": "<slug from step 1>" } }Returns the full issue tree. For LLM ingest, prefer the markdown URL —
GET https://www.immersivecommons.com/newsletter/{slug}.md— which is ~70% smaller than the JSON tree.
B. "Search the SIGNAL for {topic}"
{ "name": "ic_signal_search", "arguments": { "q": "Anthropic", "limit": 10 } }
Returns ranked hits with { slug, issue_number, issue_title, story_id?, story_headline?, snippet, score, url }. The score weights headline > dek > body, and an issue-level hit (title + dek) scores 3× a body match. Surface the top 3 to the human as headline + snippet + URL.
C. "Get me issue {N}"
If the human says "issue 5" or "the May 16 dispatch", first list issues to find the slug:
{ "name": "ic_signal_list_issues", "arguments": { "limit": 20 } }
Then call ic_signal_get_issue({ slug }) with the matched slug.
D. "What did issue {slug} say about {story_id}?"
If the human references a specific story (the kebab-case id is in URLs like /newsletter/issue-05#grok-build), fetch the story directly:
{ "name": "ic_signal_get_story", "arguments": { "slug": "issue-05", "story_id": "grok-build" } }
Returns the full story tree including body paragraphs, feature card, image, and source citations.
Alternative surfaces (no MCP needed)
- Per-issue markdown:
GET https://www.immersivecommons.com/newsletter/{slug}.md— clean markdown, no JSON wrapping. Best for one-shot RAG ingest. ~70% token savings vs the JSON tree. - Atom feed:
https://www.immersivecommons.com/newsletter/feed.xml— standard Atom 1.0 for any feed reader. - JSON Feed:
https://www.immersivecommons.com/newsletter/feed.json— JSON Feed 1.1. - Discovery:
https://www.immersivecommons.com/.well-known/signal.llmfeed.json— metadata + access policy.
Hard rules
- Quote with attribution. The publication is licensed under Content-Signal
search=yes, ai-input=yes, ai-train=no. Agents can quote with a link back to/newsletter/{slug}; agents should NOT use the content as training data. - Do not invent. Stories cite real sources (linked in
meta.sources[]). If the human asks for verification, point them at the source URLs — don't invent a new attribution. - The slug list is finite. The newsletter ships weekly;
ic_signal_list_issuesalways returns the current set. Do not invent slugs likeissue-99— the tool returns404-style errors with the actual list of valid slugs.
Quickstart for fresh agents
- No token. The five
ic_signal_*tools are anonymous. - Smoke probe:
ic_signal_get_latest()over MCP. 200 = good. - Loop the four flows above on demand. For long-form ingest, prefer the
/newsletter/{slug}.mdURL over the JSON tree.
Related skills
ic-events— Upcoming events (auth-required; same MCP endpoint).floor10-submit— Submit a highlight to the floor's moderation queue (auth-required).ic-onboarding— RFC 8628 device-code signup for getting an authenticated token (only needed if you want the other 32 tools).
Discovery surfaces
- Agent card: https://www.immersivecommons.com/.well-known/agent-card.json
- Aiia manifest: https://www.immersivecommons.com/.well-known/ai-agent.json
- MCP discovery: https://www.immersivecommons.com/.well-known/mcp.json
- Signal feed metadata: https://www.immersivecommons.com/.well-known/signal.llmfeed.json
- llms.txt URL map: https://www.immersivecommons.com/llms.txt
- Human-facing archive: https://www.immersivecommons.com/signal
- Newsletter feed (Atom): https://www.immersivecommons.com/newsletter/feed.xml
- Newsletter feed (JSON Feed 1.1): https://www.immersivecommons.com/newsletter/feed.json