Planure: MCP Content Pagination (fix truncation on large pages)
Status: Implemented. The authoritative planure lives at
feature_Planure/feature_Planure_mcp_content_pagination.md; this page mirrors it for the documentation site.
Problem
get_document returned raw markdown and rendered HTML in a single response. Large guides
produced several-hundred-kilobyte tool results that MCP hosts truncated, so agents could not
read them in one call.
Change
get_document(path, format="markdown", offset=0, max_chars=0)— one representation (markdowndefault,htmlopt-in), paginated withtruncated/next_offset.get_document_meta(path)— metadata, headings, neighbours, and sizes without the body.get_document_section(path, heading, ...)— one markdown section by heading id or text.MCP_MAX_CONTENT_CHARSsetting (default40000) bounds characters per call.- The
docs://<path>resource is unchanged (already markdown-only).
Files
apps/documentation/mcp_server/server.pyconfig/settings.pydocs/Developer/mcp-documentation-server.md
Validation (user-run — agent does not test)
manage.py run_mcp.get_document_metaon a large guide → metadata only, no body.get_documentwith no arguments → markdown only, nohtml,truncated=falseunder the cap.- Oversized page → follow
next_offsetuntiltruncated=false; slices reconstruct the body. get_document_sectionby heading id and by text → only that section.format="html"returns HTML; an unknown format raises.
Notes
- Breaking tool-shape change:
htmlis no longer in the defaultget_documentresponse. - Section slugs are best-effort; heading-text matching is the fallback.