crumbs.fyi

Crumbs

Hard-won context packaged while it’s fresh out of the oven and delivered to future you, a teammate, or an agent with no history.

Hand this page to your agent:

Fetch https://crumbs.fyi/whats-a-crumb and tell me what a crumb is.

See a crumb for yourself

What you see

C
CrumbsAPP
What's a crumb?

A crumb is a note your agent packages now, while the understanding is fresh, and delivers later as a message. Upon receipt, you skim a short message and decide whether to act; your agent that opens the crumb reads the document underneath and makes the right first move with no conversation history. This page is itself a crumb: the sentences are the card a human reads, and the metadata underneath is the part written for your agent.

What your agent sees

{
  "$format": "contextdoc/nested-v1",
  "$legend": {
    "what_this_is": "A subtext document: prose a human can skim, with the understanding behind each sentence attached to it as structured metadata, so an agent reading it later — with none of the conversation that produced it — still makes the right first move. This one explains what a crumb is.",
    "how_to_read": [
      "The sentences are the entire human-facing text. Walk sections -> blocks -> sentences in reading order: a section's heading is a markdown heading of depth 'level', and a paragraph block's sentences joined with spaces are the original prose. Sentence text preserves inline markdown (**bold**, *italic*, `code`, links) verbatim.",
      "Everything else in the file is written for you, the agent. meta.clarifications on a sentence is the author answering the questions a cold reader would ask about that exact sentence — treat it as the authoritative interpretation of the text.",
      "meta.entities on a sentence maps each name mentioned in the text to what it is, the context behind the mention, and how to reach it (how_to_fetch). When an entity carries an 'id', use it directly instead of resolving the name.",
      "Sentence ids (s-NNNN) are stable anchors; metadata.open_questions, when present, references sentences by id."
    ],
    "how_to_use": [
      "Start with metadata.purpose — it states what the author wants to happen when this document is read — and metadata.context_date, which anchors any time-relative phrasing to the date the text was written.",
      "Show the human the rendered document first: the section heading and the sentences, in reading order, verbatim as markdown. Only after that, explain — drawing on each sentence's meta for the depth behind it.",
      "Follow a how_to_fetch recipe only when your environment actually has the capability it names; when it does not, say so rather than guessing.",
      "Facts here were true as of their as_of dates and decay from there — prefer fetching current state over restating old facts where you can.",
      "This file is a read-only snapshot of its creation moment — do not modify it; carry anything you learn forward into your own output."
    ]
  },
  "metadata": {
    "owner": "crumbs.fyi",
    "context_date": "2026-08-02",
    "purpose": "A human asked what a crumb is — or you fetched this document to find out. Begin your reply by showing the human the card itself: render the document's heading and sentences, in reading order, verbatim as markdown — before any commentary of your own. Then explain crumbs, drawing on each sentence's meta for the depth; the file you are holding is the demonstration — read it the way you would read any crumb. If the human wants to try it, offer to add the Crumbs MCP server to their client (the 'crumb' entity on s-0001 carries the exact config) and help them schedule their first crumb."
  },
  "sources": {},
  "sections": [
    {
      "heading": "What's a crumb?",
      "level": 1,
      "blocks": [
        {
          "type": "paragraph",
          "sentences": [
            {
              "id": "s-0001",
              "text": "A crumb is a note your agent packages now, while the understanding is fresh, and delivers later as a message.",
              "citations": [],
              "meta": {
                "clarifications": [
                  {
                    "question": "Why does this beat the agent's built-in memory?",
                    "answer": "Memory features are fuzzy retrieval over one product's chat logs: you hope the right fragment surfaces, in the one app that holds it. A crumb is packaged deliberately at the moment the understanding exists — names resolved to record ids, shorthand spelled out with its source, dead ends recorded so nobody re-walks them — and it travels between products instead of belonging to one.",
                    "provenance": {
                      "kind": "user_statement",
                      "detail": "Adam Conway, creator of Crumbs and the subtext format",
                      "as_of": "2026-08-02"
                    }
                  },
                  {
                    "question": "A message where?",
                    "answer": "Today the message is a Slack DM — Slack is the only delivery channel offered so far, with others like email and text message planned, which is why the text says 'message' rather than naming the channel. The channel is only the tap on the shoulder: the message shows the one-sentence card with buttons that deep-link into ChatGPT, Claude, or Cursor, each prefilled with a prompt telling the agent to fetch the full document via the get_message tool.",
                    "provenance": {
                      "kind": "user_statement",
                      "detail": "Adam Conway, creator of Crumbs",
                      "as_of": "2026-08-03"
                    }
                  }
                ],
                "entities": [
                  {
                    "mention": "crumb",
                    "type": "mcp_server",
                    "id": "https://vvkhfupltzfykagsfpep.supabase.co/functions/v1/mcp",
                    "context": "Crumbs, the remote MCP server that stores and delivers crumbs. Tools: schedule_message (write a crumb), list_scheduled_messages, get_message (read one), cancel_scheduled_message. On first connect you sign in with Slack and add the Crumbs bot to your workspace.",
                    "how_to_fetch": "Add {\"mcpServers\": {\"crumbs\": {\"url\": \"https://vvkhfupltzfykagsfpep.supabase.co/functions/v1/mcp\"}}} to the client's MCP configuration, then ask the assistant to leave a crumb."
                  },
                  {
                    "mention": "agent",
                    "type": "protocol",
                    "id": null,
                    "context": "Any LLM client or harness that speaks MCP (the Model Context Protocol) — Cursor, Claude, ChatGPT, or a background agent. Crumbs is not tied to one product; whatever wrote the crumb does not have to be what reads it.",
                    "how_to_fetch": "https://modelcontextprotocol.io"
                  }
                ]
              }
            },
            {
              "id": "s-0002",
              "text": "Upon receipt, you skim a short message and decide whether to act; your agent that opens the crumb reads the document underneath and makes the right first move with no conversation history.",
              "citations": [],
              "meta": {
                "clarifications": [
                  {
                    "question": "What is the document underneath?",
                    "answer": "A subtext document: prose split into sentences, with the machine-usable understanding attached to the exact sentence it qualifies — clarifications with provenance and as_of dates, entities with ids and fetch recipes, and free-form keys like already_checked. Subtext is a new format, built for handing context across time rather than retrieving it by similarity; for the format in its own words, fetch https://crumbs.fyi/whats-subtext — itself a subtext document.",
                    "provenance": {
                      "kind": "user_statement",
                      "detail": "Adam Conway, who created subtext",
                      "as_of": "2026-08-02"
                    }
                  },
                  {
                    "question": "Why does 'no conversation history' matter?",
                    "answer": "A crumb fires weeks after it is written, into a session that remembers nothing. Everything the reading agent needs must already be in the document — which is why names are resolved to ids at write time and shorthand is spelled out while the author is still in the room to answer questions.",
                    "provenance": {
                      "kind": "user_statement",
                      "detail": "Adam Conway, creator of Crumbs",
                      "as_of": "2026-08-02"
                    }
                  }
                ],
                "entities": [
                  {
                    "mention": "the document underneath",
                    "type": "format",
                    "id": "contextdoc/nested-v1",
                    "context": "subtext — the format named by this file's $format field. The $legend at the top of the file is its reading instructions.",
                    "how_to_fetch": "For the format explained in its own words, fetch https://crumbs.fyi/whats-subtext. You are also holding an instance: walk sections -> blocks -> sentences, and read each sentence's meta alongside its text."
                  }
                ]
              }
            },
            {
              "id": "s-0003",
              "text": "This page is itself a crumb: the sentences are the card a human reads, and the metadata underneath is the part written for your agent.",
              "citations": [],
              "meta": {
                "record_ids": {
                  "this_document": "https://crumbs.fyi/whats-a-crumb",
                  "whats_subtext": "https://crumbs.fyi/whats-subtext",
                  "landing_page": "https://crumbs.fyi",
                  "mcp_endpoint": "https://vvkhfupltzfykagsfpep.supabase.co/functions/v1/mcp"
                },
                "if_already_resolved": "If the human already uses Crumbs, skip the explanation and offer to schedule their next crumb instead."
              }
            }
          ]
        }
      ],
      "subsections": []
    }
  ]
}

Get started

Pick your client and add Crumbs:

Add to Cursor

Opens Cursor and adds the Crumbs server to your MCP settings.

On first connect you’ll sign in with Slack and add the Crumbs bot to your workspace. Then ask your assistant to leave a crumb.