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/textinput into native tables, and - serialize native tables as pipe tables in
agenda_get_noteoutput (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.