Skip to content

Output Format ​

VibeMCP returns data in two formats: TOON (default for list tools) and JSON (default for detail tools). Every tool accepts a format parameter to switch between them.

TOON Format ​

Tabular Arrays ​

List tools return tabular TOON:

messages[10]{id,subject,from,date,snippet}
abc123	Meeting Tomorrow	john@example.com	2025-12-18	Let's meet at 3pm
def456	Q4 Report	jane@example.com	2025-12-17	Please review the attached

Header components:

  • messages - type name (describes the data)
  • [10] - row count (lets the LLM verify all rows were received)
  • {id,subject,from,date,snippet} - column names in order

Row format:

  • Tab-delimited values
  • One row per object
  • Values containing tabs or newlines are quoted
  • No trailing delimiter

Single Objects ​

Detail tools (like gmail_get_message) with format: "toon" return key-value format:

message:
  id: msg001
  subject: Meeting Tomorrow
  from: john@example.com
  to: alice@company.com
  date: 2025-12-18T10:30:00Z
  threadId: thread_abc
  body: Let's meet at 3pm in the conference room.
  attachments: [{"attachmentId":"att1","filename":"slides.pdf","mimeType":"application/pdf","size":245000}]

Complex nested values (like arrays of objects) are JSON-serialized inline.

JSON Format ​

Set format: "json" for standard JSON output:

json
[
  {
    "id": "abc123",
    "subject": "Meeting Tomorrow",
    "from": "john@example.com",
    "date": "2025-12-18",
    "snippet": "Let's meet at 3pm"
  }
]

Default Formats ​

Tool TypeDefaultReason
List toolstoonMaximum token savings for repeated structures
Detail toolsjsonSingle objects benefit less from TOON; JSON is easier to inspect
Write toolsn/aSend/reply/create tools return status messages

Encoding Rules ​

Delimiters ​

VibeMCP uses tab as the default delimiter. Tab is safe for natural language content (email subjects and calendar titles commonly contain commas).

Quoting ​

Values are automatically quoted when they contain:

  • The delimiter character (tab)
  • Newlines (\n, \r)
  • Quote characters (")

Escape Sequences ​

Per TOON v3.0 spec:

  • \\ - literal backslash
  • \" - literal quote (inside quoted values)
  • \n - newline
  • \r - carriage return

Count Validation ​

The [N] count in the header always matches the number of data rows. This enables LLMs to verify they received all rows and detect truncation.

Released under the PolyForm Noncommercial License.