MCP: markdown table support in both directions (parse on input, serialize on export)

First off, thanks for adding the MCP server — it’s been a huge win for me. I’ve built an automated integration on it (tag-gated note capture out of Agenda + a docs mirror pushing project docs into a machine-owned Agenda project), and the tool surface is clean and reliable throughout, yet one gap affects both directions of that integration: tables don’t survive the MCP boundary in either direction.

1. Input - the markdown/text parameter doesn’t parse pipe tables. Calling agenda_create_note (or agenda_edit_note) with standard GFM/Markdown table syntax:

| Change | Source | Severity |
|---|---|---|
| Example row | Somewhere | Minor |

produces literal pipe-character text paragraphs in the note, not a native Agenda table. (Same behavior the forum has noted for paste import - i.e. the “Pasting markdown table into Agenda” and “Render Markdown Tables in Notes” threads - now inherited by the MCP.)

2. Export - agenda_get_note returns native tables as an opaque placeholder. A note containing a native Agenda table comes back with:

%%table:0%%

in the markdown, with the table’s content absent entirely. So an integration reading notes out of Agenda silently loses anything the user put in a table - there’s no way to even detect the content, only the placeholder.

The ask: treat GFM pipe tables as the round-trip serialization for native tables at the MCP boundary

  • parse pipe tables in the markdown/text input into native tables, and
  • serialize native tables as pipe tables in agenda_get_note output (replacing %%table:N%%).

GFM tables are the lingua franca of every markdown tool an MCP integration is likely to bridge to (Obsidian, GitHub, static-site generators, other AI tooling), so this single format choice would make table content fully portable through the MCP in both directions.

Environment: Agenda 23.2 (macOS), MCP server 1.0.0 (protocol 2024-11-05).
Happy to provide repro details or test builds.

Thanks for the detailed writeup, and great to hear the MCP server is working well for your integrations.

You are right on both counts. On input, the MCP inherits the same limitation as pasting markdown tables into a note, which doesn’t get parsed into a native table yet. And the %%table%% placeholder on export is not very useful, effectively losing the table content.

Treating GFM pipe tables as the round trip format at the MCP boundary makes sense to me. We’ll take it along, and it fits with the table improvements already on our list.

1 Like