OpenPlanr Docs
Server Details
Read-only search and Markdown pages from the OpenPlanr docs, for coding agents.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
fetch_page retrieves a known page by path/URL while search discovers passages by query, so the boundaries are clear in principle. There is slight residual overlap since a search result will typically be followed by a fetch, and the docs/course distinction is handled by parameters rather than separate tools, but an agent should pick correctly.
fetch_page follows a clear verb_noun snake_case pattern, but the companion tool is just 'search' with no object, so the pair is not stylistically parallel. Still readable, but the convention isn't uniform.
Two tools is thin, but search + fetch is the canonical minimal surface for a read-only documentation server, so each earns its place. It is only slightly under-scoped rather than arbitrarily small.
Search plus page retrieval covers the core docs consumption lifecycle with no dead ends for the primary workflow. The minor gap is the absence of any way to enumerate available docs sections, courses, or page paths directly — agents must rely on search to discover what exists.
Available Tools
2 toolsfetch_pageARead-onlyIdempotentInspect
Read a docs or course page as Markdown. Accepts a /docs/... or /learn/... path, or an https://openplanr.dev/docs/... or https://openplanr.dev/learn/... URL; query and anchor do not change the page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world behavior, so the description's job is smaller. It adds real value by disclosing that the response is Markdown and that query strings and anchors are ignored, meaning different URL variants map to the same page.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clauses, zero filler, and the primary statement of what the tool returns comes first. The URL-form details follow as the immediately relevant qualification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, stating that the result is Markdown is the key missing piece and it is present. Minor gap: no mention of failure behavior for malformed paths or pages outside the /docs and /learn trees.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'url' parameter, so the description carries the full burden and does so: it enumerates the two accepted path prefixes and the two accepted absolute-URL forms, plus the rule that query and anchor are stripped. Nothing about the input is left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read'), a specific resource (docs or course page), and the return format (Markdown). This is clearly distinct from the 'search' sibling, which locates pages rather than returning one page's content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The accepted input forms ('/docs/...', '/learn/...', or full openplanr.dev URLs) tell an agent exactly what it may pass, and implicitly scope usage to pages in those trees. It stops short of explicitly contrasting with 'search' or stating what to do when a page isn't found.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchARead-onlyIdempotentInspect
Search OpenPlanr docs passages. Optional section is the URL's first segment after /docs/ (for example skills or get-started), or course for course pages.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| section | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is fully covered. The description adds nothing about ranking, result limits, or what a match looks like, so beyond annotations it contributes little behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by the only non-obvious parameter semantics. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only search with rich annotations, the essentials are present, but the description never says what the results are or how they should be used relative to fetch_page. That gap matters for an agent deciding whether search alone suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden and does explain the non-obvious `section` parameter well, including its URL-segment origin and the special `course` value, which the regex-only schema does not convey. The required `query` param is self-evident and left implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Search OpenPlanr docs passages") and adds the scope of the search. It doesn't explicitly distinguish itself from the sibling fetch_page, but the verb/resource pairing makes the job clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is for locating passages when it lacks an exact page. There is no explicit when-to-use versus fetch_page, no note that results must be followed by a fetch, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
fetch_page - First observed
search
Related MCP Connectors
Read-only search and Markdown access to liz's public docs, prompts, resources, and an MCP App.
Read-only Appside docs search, SDK examples, published pricing and llms.txt.
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
Search and read Empryo's documentation. Read-only, no auth, no local access.
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables MCP-compatible clients to search and read local markdown documentation, allowing agents to retrieve relevant doc snippets or full files by path.2-
- AlicenseNot gradedqualityDmaintenanceProvides direct access to local documentation files through simple search and overview tools, enabling LLMs to query project-specific markdown documentation without requiring vector databases or RAG pipelines.MIT
- AlicenseAqualityBmaintenanceProvides fast, token-efficient search over coding agent documentation (e.g., Claude Code, Cursor) using local SQLite FTS5 indexing, with tools for searching snippets, reading pages, and grepping markdown.5MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to retrieve live CPython standard-library documentation and PyPI package metadata as clean markdown, with cached, throttled, robots-aware requests and local module search.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.