Reported issues for parkour-mcp
Pod holds 6 of 6 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to parkour-mcp.
Most discussed
perf: MarkdownSplitter has no wall-clock deadline; pathological input hangs web_fetch_sections post-size-cap relaxation
Summary
guarded_fetch wraps only the HTTP portion of a fetch in
asyncio.timeout(60s). Everything after it — HTML→markdown
conversion, MarkdownSplitter.chunk_indices, tantivy index build —
runs synchronously with no deadline. For realistic documents this is
fine (WHATWG HTML-LS: ~4.6s pipeline per the captured pathological
baseline), but degenerate input can push the splitter into character-
level fallback with pathologically slow runtime.
A 6 MiB HTML body consisting of a single `
Read the thread · 2026-04-16 · closed · 1 comment
perf: consume structured metadata in html_to_markdown() once upstream visitor+metadata bug resolves
Status update (2026-04-10): holding pattern pending upstream response
After landing the initial port on branch perf/html-to-markdown-rust and running the regression benchmark suite, we discovered additional defects in html-to-markdown 3.1.0 beyond the single visitor+metadata bug the original port was working around. Upstream filings now cover four separate issues:
- kreuzberg-dev/html-to-markdown#275 — Python visitor + metadata returns empty. The original bug the port was working arou
Read the thread · 2026-04-11 · closed · 1 comment
Tool responses doubled on the wire: SDK auto-wraps str returns into structuredContent
Summary
Every parkour tool response is transmitted twice in each CallToolResult. Tools are annotated -> str, but the MCP SDK (mcp 1.23.3) auto-wraps primitive return types into a structured-output model, so the full payload ships in both content (a TextContent block) and structuredContent ({"result": "<same markdown>"}).
Mechanism
__init__.py#main calls mcp.add_tool(func, ...) without structured_output=, so it defaults to None. The SDK treats None as "generate st
Read the thread · 2026-05-16 · closed · 0 comments
fix(markdown): max_sections=100 hides relevant sections in long-document TOC dump
Summary
UAT against Claude Desktop on RFC 9110 looked up `section="15. Security Considerations"`. The number was wrong — Security Considerations is §17 in RFC 9110. But the agent had no good way to discover that, because both the failed-section TOC fallback and `web_fetch_sections` itself cap their output at `max_sections=100` (`parkour_mcp/markdown.py:584`). RFC 9110 has ~311 sections, so the §15-17 range that the agent needed to disambiguate is below the cutoff and never visib
Read the thread · 2026-04-16 · closed · 0 comments
fix(ietf): rfc-editor.org URLs trap callers in metadata-only fast path; "use .html URL" hint loops back to interceptor
Summary
UAT against Claude Desktop on RFC 9110 (HTTP Semantics) found that the IETF fast path on www.rfc-editor.org/rfc/rfc{N}* URLs is a one-way trap: every suffix (.html, .txt, .xml, bare) resolves to the same RFC Editor metadata response, the metadata's own full_text hint points the caller back into the interceptor, and there is no in-band path to the document body or a section TOC. The Datatracker mirror under /doc/html/rfc{N} is the only practical escape hatch and is not adv
Read the thread · 2026-04-16 · closed · 0 comments
fix: section= returns header-only output on long Wikipedia list pages
Summary
_apply_semantic_truncation in parkour_mcp/markdown.py:274 returns
chunks[0] from MarkdownSplitter.chunks() and discards the rest.
Whenever the content starts with a heading and the body would overflow
the chunk budget, MarkdownSplitter cleaves the heading into its own
chunk (chunk 0 = "## Film", ~7 chars) and puts the body in
subsequent chunks. The current code keeps only the heading.
User-visible symptom: passing section="Film" to any fast path on a
long Wikipedia li
Read the thread · 2026-04-13 · closed · 0 comments
Most recent
The remaining reports are on the project's issue tracker.