Skip to main content
Capsulate turns messages into structured data you can query through the hosted MCP server.

Core objects

  • Canvas: The user-facing workspace for a single “stream” of extracted data (what you name and organize).
  • Pattern: The extraction configuration behind a canvas (how Capsulate decides what to extract and which fields exist).
  • Entity: One extracted record (e.g., an order, tracking update, promotion, receipt).
  • Message: One email message that can be linked to zero or more entities.
  • Thread: A group of related messages (useful for seeing the “full story” across updates).

How things connect

  • A canvas is currently backed by one pattern.
  • A pattern can produce many entities.
  • An entity can link back to one or more messages (source context).
  • A message can link to many entities (multiple extractions from one email).
  • A thread contains multiple messages.

Consolidation (deduping)

Some entity types can be “consolidated” when multiple messages refer to the same underlying thing (e.g., an order that gets multiple updates). Consolidation groups those entities so your MCP client can treat them as one “logical” record.

Practical tips

  • Start with capsulate:canvases_list, capsulate:patterns_list, or capsulate:search to find the right canvas/pattern/entity/message.
  • Use capsulate:records_find when you want logical records for a Canvas.
  • Use capsulate:records_schema before aggregations to see which fields exist and how complete they are.
  • Use capsulate:fetch with a thread:* id when a user asks “what happened over time?” for a single order/event.