v2.5.0
v2.5.0 — agent-first files and card workflows
MCP tool arguments are JSON-only, so the server now does all the encoding work — the agent never
touches base64:
- Upload from a path:
data.filePath— the server reads the local file (≤ 10 MB) and infers
name + MIME from the extension (.png, .jpg, .webp, .gif, .svg, .pdf, .doc/.docx, .xls/.xlsx,
.ppt/.pptx, .txt, .md, .csv, .json, .yaml, archives, audio/video, …).textand
contentBase64still work for inline content. - Downloads agents can use directly: images come back as a rendered MCP image content block,
text files as decodedtext, other binary ascontentBase64. - Minimal card creation:
cards { action: "create", data: { name } }—typeandposition
are defaulted instead of erroring. cards.find: board-wide, case-insensitive card search with list names — no more walking
lists to locate a card.
Verified end to end against live Planka 2.0.3 and 1.26.2 (154/154 tests, including byte-exact
image round-trips through the real MCP JSON-RPC wire). Docs: new CLAUDE.md, compacted README
with per-version auth blocks.
Full Changelog: v2.4.0...v2.5.0