Skip to main content
Glama

Turn a chat or list into a table

text_to_sheet

Use this when the user pastes a chat with customer orders, a typed list or notes and wants a clean table. Pass text and optionally hint. For a chat it makes one row per item each customer ordered, with later changes applied and noted. Returns the table, sum checks, CSV text and 24-hour links. For a table that is already in clean columns, you do not need this tool.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "text": "[09:12] Grace Okafor: Hi! For Friday please 10 meat pies and 6 bottles zobo\n[09:14] Shop: Noted Grace, thank you\n[09:20] Tunde B: 2 trays jollof rice, 1 tray fried plantain\n[09:31] Grace Okafor: Sorry make the zobo 8 bottles not 6\n[09:40] Amaka: 15 puff puff and 4 bottles zobo. Pickup 5pm\n[09:41] Shop: Meat pie 1500 each, zobo 1000 a bottle, jollof tray 12000, plantain tray 8000, puff puff 200 each"
    },
    "name": "text_to_sheet"
  }
}

Input Schema

NameRequiredDescriptionDefault
hintNoOptional: what the content is or which columns the person wants, for example 'stock count, item and quantity only'.
textYesThe text to copy: a pasted chat with orders, a typed list or notes.

Output Schema

NameRequiredDescriptionDefault
csvYes
kindYes
rowsYes
linksYes
notesYes
titleYes
checksYes
noticeYes
sourceYes
statusYes
totalsYes
columnsYes
messageYes
unclearYes
currencyYes
transcriptYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real behavior beyond annotations: corrections in the chat are applied and noted ('make the zobo 8 bottles not 6'), and outputs include sum checks and 24-hour links, which signals temporary artifact storage. With readOnlyHint=false and openWorldHint=true, this extra context about mutations and link expiry is genuinely useful; it just doesn't cover failure modes or limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the usage trigger, then behavior, then returns, then the exclusion. Slightly more efficient ordering could put the exclusion sooner, but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description does well to name the returned artifacts and explain chat handling (one row per ordered item, amendments applied). The behavior for plain typed lists and notes is not described, leaving a small gap for a tool that accepts three input types.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both text and hint (including an example for hint). The description only restates 'pass text and optionally hint', adding no semantics beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete transformation (chat/list/notes -> clean table) with a specific input modality, which implicitly separates it from photo_to_sheet and voice_to_sheet. It stops short of naming those siblings explicitly, so the differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger ('when the user pastes a chat... wants a clean table') and an explicit exclusion ('For a table that is already in clean columns, you do not need this tool'). No named alternatives are offered, but the when/when-not framing is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.