docorbit
DocOrbit is a documentation intelligence MCP server that helps coding agents discover, ingest, search, version-resolve, verify, and export authoritative documentation (like llms.txt, OpenAPI, Markdown) grounded in a project's dependency versions.
Ingest documentation: Add any URL or raw content; crawl and index pages, OpenAPI endpoints, code examples, and pitfalls.
Search documentation: Hybrid FTS5 search across all indexed chunks, with optional library/version filters.
Fetch specific docs/chunks: Retrieve pages or chunks by ID/URL with full metadata.
Find API endpoints: Look up OpenAPI endpoints by path/keyword, filter by HTTP method and version.
Find code examples: Discover verified examples filtered by language, framework, or task.
Find pitfalls/deprecations: Search for known gotchas, security issues, rate limits, and runtime restrictions.
Build implementation recipes: Assemble evidence-grounded step-by-step recipes for a coding goal.
Get implementation context: High-level orchestrator that resolves project dependencies, retrieves relevant docs/examples/pitfalls, and packs them into a token-budgeted context.
Verify code: Check generated code against indexed schemas for invalid endpoints, wrong methods, missing params, deprecations, and version conflicts.
Diff documentation: Compare versions/snapshots to detect added/removed/modified endpoints and content.
Analyze impact: Scan project files to find code affected by documentation changes, with line numbers and certainty.
Check versions: Resolve the correct documentation version for a project's library dependencies.
List sources: See all indexed documentation sources with versions and machine-readability.
Get documentation map: Retrieve the hierarchical page tree and token footprints.
Export agent contexts: Generate AGENTS.md, CLAUDE.md, skill.md, llms.txt, or docs-map.md grounded in project versions.
Discovers documentation from GitHub repositories as part of source discovery for ingestion and search.
Discovers and ingests machine-readable documentation from Mintlify-hosted docs sites, including llms.txt, llms-full.txt, and OpenAPI specifications.
Assembles context packages from Stripe's developer documentation to support implementation tasks such as webhook signature verification.
DocOrbit
Authoritative Sources (llms.txt / OpenAPI / Markdown / HTML)
│
▼
┌───────────────────────────┐
│ Discovery & Ingestion │ ◄── SSRF Guard & Security Annotations
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Version Intelligence │ ◄── Scans package.json / cargo.lock / go.mod
└─────────────┬─────────────┘
│
▼
┌───────────────────────────┐
│ Structured Knowledge DB │ ◄── Project-local SQLite: <projectRoot>/.docorbit/
└─────────────┬─────────────┘
│
┌─────────────┴─────────────┐
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ MCP Server Loop │ │ CLI Developer │
│ (15 Tools / Stdio)│ │ Commands │
└─────────┬─────────┘ └─────────┬─────────┘
│ │
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ Coding Agents │ │ AST Verification │
│ Claude / Cursor │ ────► │ & Contract Check │
└───────────────────┘ └───────────────────┘Quick Start
DocOrbit requires Node.js ≥ 22.5.0 and has zero external runtime dependencies.
Project-Based by Default: If you do not specify any flags, DocOrbit always defaults to project-based storage (<projectRoot>/.docorbit/docorbit.db). When you delete or branch a project, its documentation cache is isolated and cleans up automatically — zero orphaned files, zero global disk bloat, and zero cross-project version collisions.
1. Run via npx (Zero Installation)
# View all developer commands
npx docorbit --help
# Ingest and index documentation into project-local SQLite (default)
npx docorbit add https://nextjs.org/docs/14/app/api-reference/file-conventions/route
# Or explicitly pass -p to skip prompts and ensure project-local storage
npx docorbit add https://nextjs.org/docs/14/app/api-reference/file-conventions/route -p
# Query version-aware context within a strict token budget
npx docorbit context "How do I implement dynamic route params in Next.js 14?" --tokens 20002. Connect to Your Coding Agent (MCP)
When started by an agent (Cursor, Claude Desktop, Windsurf, Zed), DocOrbit automatically resolves to the active project workspace's SQLite database (.docorbit/docorbit.db):
Cursor (.cursor/mcp.json)
{
"mcpServers": {
"docorbit": {
"command": "npx",
"args": ["-y", "docorbit", "mcp"]
}
}
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"docorbit": {
"command": "npx",
"args": ["-y", "docorbit", "mcp"]
}
}
}Claude Code (Terminal CLI)
claude mcp add docorbit -- npx -y docorbit mcpDocOrbit detects when standard input is a machine pipe and starts the MCP stdio transport automatically in project-local mode. If you prefer a shared user-wide store across all projects, pass -g: ["-y", "docorbit", "mcp", "-g"].
3. How to Work with DocOrbit in Your Prompts
Once mounted, you never need to manually copy-paste documentation pages into your agent chat. Simply give your agent the official documentation link and tell it to use DocOrbit:
I want to setup stripe in my app, the link of stripe docs: https://docs.stripe.com/payments/checkout
use docorbit to set it up.What DocOrbit does behind the scenes:
Tree Crawling & SQLite FTS5 Indexing: The agent automatically invokes
docorbit.ingest_doc({ url: "https://docs.stripe.com/payments/checkout" }). DocOrbit crawls the documentation with SSRF protection and indexes endpoints and types in ~24ms.Context Assembly (Zero JSON Bloat): The agent calls
docorbit.get_implementation_context(...)and receives 412 tokens of clean, pure GitHub Markdown grounded in active API contracts.AST Contract Verification: The agent calls
docorbit.check_api(...)to verify code against AST contracts before writing to disk, preventing deprecated methods (such as legacystripe.charges.create) and runtime parameter crashes.
Related MCP server: documcp
Project-Scoped Storage & Flags
DocOrbit gives developers full control over where documentation is persisted:
Storage Mode | Location | Flag | Best Used For |
Project-Local (Default) |
|
| Default for all workflows. Zero disk leaks. Clean git isolation ( |
Global Store |
|
| Shared documentation across multiple ad-hoc scripts or global toolchains without repository workspaces. |
Interactive Selection Prompt
When running docorbit init or docorbit add <url> in an interactive terminal without flags on a new project, DocOrbit will ask:
? Where would you like to store DocOrbit documentation?
1) Project-local (.docorbit/ in project root) [Recommended - zero disk leak]
2) Global (~/.docorbit/ in user home directory)
Tip: Pass -p / --project or -g / --global to skip this question in future.
Select storage location [1/2] (default: 1): Pressing Enter directly accepts the default (
[1] Project-local).Non-interactive environments (CI, agents, pipes, scripts,
--json) automatically default to Project-local without hanging.Passing
-por-gimmediately selects that target and skips the prompt.
Why DocOrbit?
AI coding agents (Claude Code, Cursor, Windsurf, Devin) frequently produce broken code not because models lack reasoning, but because the documentation context they receive is flawed:
Wrong Version Collisions: An agent in a Next.js 14 codebase gets fed Next.js 15 documentation and uses
await params, breaking production builds.Bloated HTML: Generic scrapers dump navigation headers, footers, cookie banners, and script tags, wasting 70%+ of the agent's context window.
Missing API Contracts: Models guess query parameters and request bodies because documentation lack structured OpenAPI/Swagger schemas.
Stale Examples & Deprecations: Agents call deprecated endpoints (e.g. Stripe
/v1/chargesinstead of PaymentIntents) because docs lack explicit pitfall extraction.Prompt Injections & Untrusted Input: Documentation scraped from third-party sites can contain prompt injections that alter agent instructions.
Documentation Retrieval Approaches
Capability | Official Docs Fetch | Web Scraper (e.g. Firecrawl) | Generic Retrieval (e.g. Context7) | DocOrbit |
Machine-readable Discovery ( | ❌ | ❌ | ⚠️ Manual / Centralized | ✅ Automatic multi-source |
Project Lockfile & SemVer Resolution | ❌ | ❌ | ❌ | ✅ 8 Ecosystems ( |
Structured OpenAPI Endpoints | ❌ | ❌ | ❌ | ✅ Full parameters & schemas |
Indivisible Code Fence Chunking | ❌ | ❌ | ⚠️ Naive character split | ✅ Semantic AST chunking |
Pitfall & Deprecation Extraction | ❌ | ❌ | ❌ | ✅ Explicit gotcha indexing |
Closed-Loop Code Verification | ❌ | ❌ | ❌ | ✅ AST |
Untrusted Content Tagging & SSRF Defense | ❌ | ❌ | ❌ | ✅ Strict isolation boundary |
Local Offline-First SQLite FTS5 Cache | ❌ | ❌ | ❌ | ✅ Fast local database |
See It in Action
A developer in a Next.js 14 project asks their coding agent:
"How should I access dynamic route params in a Next.js 14 route handler?"
sequenceDiagram
autonumber
actor User
participant Agent as Coding Agent (Claude/Cursor)
participant DocOrbit as DocOrbit MCP
participant Code as Project Workspace
User->>Agent: "Implement GET handler with route params"
Agent->>DocOrbit: get_implementation_context({ task: "Next.js dynamic route params", project: "." })
DocOrbit->>Code: Scans package.json → detects next@14.2.0
DocOrbit->>DocOrbit: Resolves v14 doc branch & penalizes v15 breaking changes
DocOrbit-->>Agent: Returns v14 verified snippet + explicit warning: "Do NOT await params in v14"
Agent->>Agent: Generates route.ts (const id = params.id)
Agent->>DocOrbit: check_api({ code: "const id = params.id", framework: "next" })
DocOrbit-->>Agent: { status: "verified" }
Agent-->>User: Correct Next.js 14 implementation with zero deprecation errorsIf the agent had erroneously generated Next.js 15 syntax:
export async function GET(request: Request, { params }: { params: Promise<{ id: string }> }) {
const { id } = await params; // ❌ Invalid in Next.js 14
return Response.json({ id });
}DocOrbit's check_api tool immediately flags the mismatch:
{
"status": "mismatch",
"severity": "error",
"message": "Next.js 15 asynchronous route params used in a Next.js 14 workspace.",
"rule": "version_syntax_conflict",
"provenance": {
"sourceUrl": "https://nextjs.org/docs/14/app/api-reference/file-conventions/route",
"authority": "official",
"docVersion": "v14"
}
}Core Capabilities
1. Documentation Intelligence
Autonomous Discovery: Probes target domains and ranks available formats:
llms-full.txt>openapi.json>llms.txt>skill.md> Markdown > HTML sitemaps.Purpose-Aware Ranking: Ranks sources dynamically based on intent (
navigation,conceptual,api,examples,implementation).Semantic AST Slicing: Preserves section heading hierarchies, breadcrumbs, and indivisible code blocks. Admonitions and warnings remain bound to their host sections.
2. Version Intelligence
Workspace Manifest Scanner: Scans project files across 8 ecosystems (
npm,cargo,go,pypi,composer,rubygems,pub,maven).SemVer Confidence Ladder: Deterministically resolves project versions (
exact→major_minor→major→range→latest_fallback).Deterministic
docs.lock: Locks documentation versions to your repository without timestamp churn.
3. Implementation Knowledge
OpenAPI 3.x & Swagger 2.0 Engine: Parses parameters, JSON request/response schemas, bearer/basic auth, and pagination headers with safe
$refcycle resolution.Code Example Catalog: Extracts and indexes code snippets classified by language and framework (
next,react,express,fastapi,flask,django,gin,spring).Pitfalls & Admonitions: Indexes breaking changes, server-only vs client-only boundaries, rate limits, and security gotchas.
Evidence-Grounded Recipes: Assembles blueprints with explicit evidence levels (
documented_fact,inferred_relationship,missing_information).
4. Closed-Loop Verification
Static AST Code Verifier: Evaluates generated JavaScript, TypeScript, Python, and cURL against indexed schemas without calling an LLM.
Strict Contract Checking: Validates endpoint paths, HTTP methods, required parameters, and deprecated APIs.
Ambiguity Safety (
insufficient_evidence): Gracefully flags dynamic expressions without generating false positives.
5. Change Intelligence
Documentation Diffing (
diff_docs): Compares documentation snapshots to detect added, modified, removed, and deprecated endpoints.Workspace Impact Analysis (
analyze_impact): Scans repository source files against documentation diffs, locating affected lines, snippets, and certainty rankings.
6. Agent Integration
15 MCP Tools: Complete Model Context Protocol suite over
stdioand Streamable HTTP.Instant Context Synthesis: Tools return token-budgeted Markdown designed specifically for agent consumption.
Deterministic Exporters: Generates
AGENTS.md,CLAUDE.md,skill.md,llms.txt, anddocs-map.md.
MCP Tools
DocOrbit exposes 15 agent-native tools organized by workflow stage:
DocOrbit 15-Tool Agent Suite
│
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
Loop Starter Task Context & Recipe Verification
ingest_doc get_implementation_context check_api
│
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
API Intelligence Deep Retrieval Change & Exports
find_api search_docs diff_docs
find_example get_doc analyze_impact
find_pitfall get_version get_documentation_map
find_recipe list_sources export_agent_contextIngestion & Loop Starter
Tool | Description |
| Ingests, crawls, and indexes documentation from any URL or raw content directly into local SQLite, with optional instant implementation recipe synthesis. |
Context & Implementation Blueprints
Tool | Description |
| High-level orchestrator: detects project dependencies, resolves versions, retrieves relevant chunks, APIs, examples, and pitfalls, and packs evidence-grounded context within a strict token budget. Supports auto-ingestion from |
API & Knowledge Intelligence
Tool | Description |
| Inspects OpenAPI endpoints with parameters, request/response schemas, and auth requirements. |
| Discovers verified code examples filtered by framework, language, and task. |
| Finds deprecations, breaking changes, rate limits, and server-only restrictions. |
| Compiles evidence-grounded blueprints with documented facts vs inferred steps. |
Verification & Change Intelligence
Tool | Description |
| Deterministically checks code against indexed OpenAPI schemas, parameters, required body fields, and version contracts. |
| Compares documentation versions/snapshots to detect added, removed, modified, and deprecated endpoints. |
| Scans workspace project files for breaking changes and deprecated APIs, returning file, line, snippet, and certainty. |
Retrieval & Search
Tool | Description |
| Hybrid FTS5 retrieval over indexed documentation chunks with version boosting. |
| Retrieves a specific document chunk or complete page by ID with untrusted annotations. |
| Reconciles workspace dependencies using the hierarchical SemVer confidence ladder. |
| Lists indexed documentation sources, snapshots, and machine-readability status. |
Agent Exports & Structure
Tool | Description |
| Retrieves the hierarchical documentation tree, section headings, and token footprints. |
| Generates |
Performance
DocOrbit is built natively in Node.js 24 with node:sqlite and zero external dependencies. Cold boot takes < 40ms.
Scaling Performance (From Repository Test Suite)
Measured on SQLite in WAL mode via automated benchmarks (tests/integration/retrieval-benchmark.test.ts and tests/integration/benchmark.test.ts):
Workload | Metric | Measured Value | Requirement |
1,000 Chunks | Ingestion & FTS Indexing | 12.4ms (0.012ms/chunk) | — |
Search Query Latency | 1.8ms | < 50ms | |
Context Packing Latency | 3.2ms | < 100ms | |
10,000 Chunks | Search Query Latency | 8.4ms | < 100ms |
Context Packing Latency | 14.2ms | < 100ms | |
Total Heap Memory | 38.6 MB | — | |
Page Ingestion | 50 KB HTML Page Normalization | 1.8ms | < 100ms |
500 KB HTML Page Normalization | 12.6ms | < 350ms | |
5 MB HTML Page Normalization | 118.4ms | < 2,500ms | |
50-Page Batch Ingestion | 94.2ms (1.88ms/page) | — |
Empirical Benchmark (17-Task Suite)
DocOrbit includes a reproducible, auditable benchmark suite across 17 tasks covering 5 ecosystems (npm, pypi, cargo, go, composer):
4 Training Tasks: Used for algorithm calibration.
6 Held-Out Evaluation Tasks: Real-world library tasks (Next.js 15 async params, Stripe 2024 PaymentIntents, Pydantic v2 field validator, FastAPI lifespan, Tokio-Postgres, Gin v1.9).
7 Verification Tasks: Code checking against removed APIs, wrong HTTP methods, missing parameters, and version mismatches.
Measured System Metrics
All runs save raw JSON execution artifacts to eval-results/raw/ for independent verification:
Metric | Official Docs Fetch¹ | Headless Scraper (Firecrawl) | Context7 (Real MCP) | DocOrbit (Real MCP) |
Overall Task Success Rate | 82.4% | 82.4% | 82.4% | 88.2% |
Held-Out Eval Success Rate | 83.3% | 83.3% | 83.3% | 100.0% |
Correct Version Selected | 88.2% | 88.2% | 88.2% | 94.1% |
Retrieval Precision@k | 46.5% | 61.5% | 69.1% | 94.1% |
Retrieval Recall@k | 65.3% | 70.9% | 75.3% | 94.1% |
Mean Packed Tokens | ~668 | ~200 | ~50 | ~1,514 |
Mean Query Latency | ~144ms | ~140ms | ~50ms | ~3ms |
AST Verification Catches | — | — | — | 9 |
False Positives on Valid Code | — | — | — | 0 |
¹ Official Docs Fetch is direct HTTPS retrieval from known official documentation URLs (not an open-ended search engine). Results reflect empirical benchmark measurements recorded under eval-results/raw/.
Code Verification
DocOrbit provides closed-loop AST verification via check_api without calling an LLM:
Agent-Generated Code
│
▼
┌───────────────┐
│ AST Parser │ ◄── JS/TS, Python, cURL extractor
└──────┬────────┘
│
▼
┌───────────────┐
│ Schema Verifier│ ◄── Evaluates against SQLite OpenAPI schemas & version rules
└──────┬────────┘
│
├──► [VERIFIED] (Parameters, method, endpoint, and version match)
├──► [WARNING] (Deprecated endpoint; alternative suggested)
├──► [MISMATCH] (Removed API, missing required fields, version conflict)
└──► [INSUFFICIENT_EVIDENCE] (Dynamic/computed expression; safe non-blocking fallback)Example 1: Removed API Endpoint
// Agent calls removed Stripe Charges endpoint
const res = await fetch('https://api.stripe.com/v1/charges', { method: 'POST' });Result:
{
"status": "mismatch",
"severity": "error",
"message": "Endpoint \"POST /v1/charges\" was removed in the active API version.",
"rule": "endpoint_removed",
"provenance": { "sourceUrl": "https://docs.stripe.com/api", "docVersion": "2024-10-28" }
}Example 2: Ambiguous Dynamic Expressions
When code relies on runtime variables:
const url = getApiUrl();
fetch(url, { method: 'POST' });DocOrbit returns status: "insufficient_evidence", avoiding false positives on dynamic or unresolvable AST nodes.
Security Model
Documentation ingested from external websites must be treated as untrusted input. DocOrbit isolates external content through multiple defense layers:
Untrusted Provenance Tagging: All retrieved documentation carries explicit
untrusted: trueflags in metadata. Security boundaries are never stripped.SSRF Protection: Prohibits private IP ranges (RFC 1918, RFC 4193), loopback (
127.0.0.1), link-local, and cloud metadata endpoints (169.254.169.254) on all requests and redirect hops.Non-Destructive Security Annotations: Detects suspicious instructions (prompt injections, exfiltration directives, shell command triggers) and tags them in metadata without mutating the text.
Resource Bounded: Hard streaming byte limits (10MB default) and request timeouts prevent denial-of-service via decompression bombs or infinite streams.
Local Web Dashboard
DocOrbit includes an embedded local web dashboard powered by native node:http (port 3737) with zero browser build steps:
# Launch dashboard on http://127.0.0.1:3737/
npx docorbit dashboardVisual Health: Status of indexed sources, snapshots, chunks, and token footprints.
API Explorer: Filterable OpenAPI schemas with parameters, request/response models, and auth requirements.
Pitfalls & Warnings: Color-coded view of deprecations, runtime restrictions, and breaking changes.
Interactive Verifier: Test code snippets in real-time against indexed contracts.
Documentation Map: Interactive token hierarchy tree.
Export Center: One-click preview and export of
AGENTS.md,CLAUDE.md, andskill.md.
CLI Reference
# Workspace & Versioning
docorbit init [dir] [-p|-g] # Scan project dependencies and generate docs.lock
docorbit update [pkg] [-p|-g]# Selectively or globally refresh documentation versions
# Ingestion & Discovery
docorbit inspect <url> # Probe domain for machine-readable specifications
docorbit add <url> [-p|-g] # Ingest, chunk, and index documentation into SQLite
# Search & Retrieval
docorbit search "<q>" [-p|-g]# Hybrid FTS5 search across documentation chunks
docorbit context "<t>" [-p|-g] Pack token-budgeted context for coding agents
# API & Implementation Knowledge
docorbit api "<query>" [-p|-g] Inspect structured OpenAPI endpoints
docorbit examples "<t>" [-p] # Filter code examples by framework and language
docorbit pitfalls "<t>" [-p] # Inspect deprecations and runtime traps
docorbit recipes "<g>" [-p] # Assemble evidence-grounded blueprints
# Verification & Change Intelligence
docorbit verify <code> [-p] # Verify code against indexed schemas
docorbit diff [source] [-p] # Compare documentation versions and snapshots
docorbit impact [source] [-p]# Scan workspace for breaking changes
# Dashboard & Exports
docorbit dashboard [-p|-g] # Launch local inspection UI (alias: ui)
docorbit export [fmt] [-p|-g]# Export AGENTS.md, CLAUDE.md, skill.md, llms.txt, docs-map.md
docorbit mcp [-p|-g] # Start Model Context Protocol server (stdio / HTTP)CLI Storage Flags
Flag | Description |
(None / Default) | Project-Local Default: Resolves to |
| Explicitly targets project-local storage in the nearest project root (or specified directory). Bypasses interactive prompts. |
| Explicitly targets the user-wide global documentation store ( |
| Custom SQLite database file path override. |
Repository Structure
docorbit/
├── bin/
│ └── docorbit.js # Executable binary entry point
├── docs/ # Specifications and research
│ ├── architecture.md # Deep architectural specification
│ ├── competitive-analysis.md # Ecosystem analysis vs Context7, Firecrawl, etc.
│ └── product-spec.md # Product requirements and capabilities
├── site/ # Landing page and documentation website
├── src/
│ ├── cli/ # Command-line interface and command handlers
│ ├── core/ # Ingestion pipeline, source manager, and implementation services
│ ├── crawler/ # SecureFetcher with SSRF and streaming bounds
│ ├── discovery/ # Discovery providers and purpose ranker
│ ├── evaluation/ # Benchmark runners and comparative strategies
│ ├── export/ # AGENTS.md, CLAUDE.md, and skill.md generators
│ ├── mcp/ # 15 MCP tools, Stdio and Streamable HTTP transports
│ ├── normalizer/ # HTML-to-Markdown, OpenAPI parser, and chunk slicer
│ ├── retrieval/ # FTS5 retrieval, intent detection, and context packer
│ ├── security/ # SSRF validation and prompt injection detection
│ ├── shared/ # Domain models, hashing, and SemVer logic
│ ├── storage/ # SQLite schema, WAL setup, and repositories
│ ├── verification/ # AST code extractor and schema contract verifier
│ ├── workspace/ # Dependency scanner for 8 package ecosystems
│ └── index.ts # Public programmatic SDK exports
└── tests/
├── fixtures/ # In-memory test servers (Fixtures A–J)
├── integration/ # Real-world benchmark and transport suites
└── unit/ # Unit test suites across all componentsCurrent Status
Documentation Ingestion: Autonomous discovery (
llms.txt, OpenAPI, Sitemap, Markdown, Skill)Semantic Retrieval: SQLite FTS5 with section breadcrumbs and indivisible code fences
Version Intelligence: Project awareness across 8 ecosystems and deterministic
docs.lockAPI & Implementation Knowledge: OpenAPI 3.x parser, code examples, pitfalls, and recipes
Agent MCP Integration: 15 MCP tools over
stdioand Streamable HTTPAST Code Verification: Schema and parameter contract checking (
check_api)Documentation Diffing & Impact: Breaking change detection and workspace scanning
Local Web Dashboard: Zero-dependency UI for interactive verification and exploration
Empirical Benchmark: Auditable 17-task comparative evaluation suite
License
MIT License. See LICENSE for details.
Available Tools
15 toolsanalyze_impactB
Compare detected documentation and API changes against current project workspace files. Identifies affected files, exact line numbers, code snippets, matched patterns, and traceable reasons with certainty rankings (high, medium, heuristic).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Alias for toVersion. | |
| from | No | Alias for fromVersion. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| project | No | Workspace root directory containing code files to analyze. | |
| sourceId | No | Optional documentation source ID filter. | |
| toVersion | No | Target or upgraded documentation version (e.g. "v15"). | |
| projectDir | No | Alias for project directory. | |
| fromVersion | No | Current or base documentation version (e.g. "v14"). | |
| toSnapshotId | No | Optional target snapshot ID. | |
| fromSnapshotId | No | Optional base snapshot ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the behavioral burden and does reasonably well: it discloses the output shape (affected files, line numbers, snippets, matched patterns) and the certainty ranking scheme (high/medium/heuristic), which is genuinely useful context. It omits any prerequisites (e.g., that a diff or versions/snapshots must exist) and cost or permission profile.
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 with the core action front-loaded and the output contract following. No filler, though the second sentence is a dense enumeration rather than integrated into the narrative.
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 10-parameter comparison tool with no annotations, the description covers the return contract adequately since no output schema exists, but it leaves the operational context thin: no prerequisites, no statement of what must already exist (a detected diff, valid versions/snapshots), and no relationship to the sibling diff/check tools that produce those inputs.
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 100%, so the schema already explains every parameter including the from/to aliases, versions, snapshots, project path, format enum, and sourceId filter. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
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?
The description names a specific action (compare detected documentation/API changes) and resource (current project workspace files), so the purpose is unambiguous. It does not, however, differentiate itself from likely-adjacent siblings such as diff_docs or check_api, leaving the agent to infer the boundary.
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?
There is no explicit when-to-use, when-not-to-use, or named alternative. An agent can infer that this answers 'what will these changes break,' but nothing tells it whether to reach for this instead of diff_docs or check_api first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_apiA
Verify agent/generated code against indexed OpenAPI schemas and documentation. Detects invalid endpoints, wrong HTTP methods, missing required parameters, deprecations, removed APIs, version syntax conflicts, and response assumptions. Distinguishes verified, warning, mismatch, and insufficient_evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | The generated code snippet, route handler, or API client call to verify. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| library | No | Target library or SDK name (e.g. "stripe", "next"). | |
| project | No | Workspace root directory to auto-resolve project dependencies and versions. | |
| snippet | No | Alternative alias for code snippet. | |
| version | No | Target documentation/API version (e.g. "v14", "v15", "1.0"). If omitted, project version is auto-detected. | |
| filePath | No | Optional path of the file being verified for context. | |
| language | No | Programming language of the code (e.g. "typescript", "javascript", "python", "curl"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses detection categories and four result classifications (verified, warning, mismatch, insufficient_evidence), which is useful, but omits side-effect profile, permissions, and output format details beyond what the schema enum provides.
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 front-loaded sentences: the first states purpose, the second enumerates detection and classification behavior. No filler or repetition.
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?
The description provides adequate context for a verification tool, covering purpose, detection categories, and result statuses. However, for an 8-parameter tool with no required parameters and no output schema, it leaves gaps around parameter interactions (e.g., code vs snippet alias, project/version auto-detection) and when to prefer json vs markdown.
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 100%, so the schema already documents all 8 parameters. The description adds no parameter-level meaning beyond the schema, which meets the baseline of 3.
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?
Names a specific verb ('Verify') and resource ('agent/generated code against indexed OpenAPI schemas and documentation'), and the listed detection categories make its scope distinct from retrieval-oriented siblings like find_api or search_docs.
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?
Describes what the tool does but gives no explicit when-to-use guidance, prerequisites, or alternatives to sibling tools. Usage is only implied by the verb 'Verify' applied to generated code.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diff_docsA
Compare documentation snapshots and versions to detect added, removed, modified, and deprecated API endpoints, parameters, pitfalls, and content sections. Produces deterministic diffs ignoring formatting-only changes.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Alias for toVersion. | |
| from | No | Alias for fromVersion. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| sourceId | No | Optional documentation source ID filter. | |
| toVersion | No | Target documentation version to compare against (e.g. "v15", "2.0"). | |
| fromVersion | No | Base documentation version (e.g. "v14", "1.0"). | |
| toSnapshotId | No | Target snapshot ID to compare. | |
| fromSnapshotId | No | Base snapshot ID to compare. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and adds meaningful behavioral context: it states the diff is deterministic and ignores formatting-only changes, and it enumerates the categories of changes detected. It does not explicitly state permissions or side effects, but the comparison nature implies a read-only operation.
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 sentences, front-loaded with the core purpose and followed by a key behavioral trait. Every sentence earns its place with no redundant or filler content.
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?
No output schema exists, and the description does not explain the structure of the returned diff or the default behavior when optional version/snapshot parameters are omitted (all 8 parameters are optional). While it describes what changes are detected, it leaves key operational details unstated.
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 100%, so the schema already documents all 8 parameters in detail. The description mentions snapshots and versions broadly but adds no syntax, defaults, or format details beyond what the schema provides; baseline 3 is appropriate.
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?
The description uses a specific verb ('Compare') and resource ('documentation snapshots and versions'), and explicitly lists what it detects: added, removed, modified, and deprecated API endpoints, parameters, pitfalls, and content sections. It clearly distinguishes itself from sibling tools like get_version or search_docs, which retrieve rather than diff.
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 implied by the purpose—comparing versions/snapshots—but there is no explicit guidance on when to use this tool versus alternatives such as get_version or search_docs, nor any mention of prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_agent_contextB
Deterministically generate and export agent-native documentation context files (AGENTS.md, CLAUDE.md, skill.md, llms.txt, docs-map.md) grounded in project dependency versions and authoritative documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Target agent file format to generate (default: "agents.md"). | |
| docVersion | No | Optional target documentation version (e.g. "v14", "v15"). | |
| projectDir | No | Optional project directory for resolving workspace dependency versions. | |
| targetSource | No | Optional library or skill name label. | |
| responseFormat | No | Response output format: "markdown" (default, raw exported content) or "json" (structured metadata). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it never says whether files are written to disk, where they land, whether existing files are overwritten, or what permissions are needed. 'Deterministically' implies reproducibility but discloses nothing about side effects or failure modes for a tool whose name promises an export.
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?
A single front-loaded sentence with no filler; the parenthetical format list is functional rather than padding. It is dense but every clause (determinism, file types, grounding sources) contributes to selection.
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 5-parameter tool with no annotations and no output schema, the description is thin: it omits output destination, side effects, and any relationship to the many sibling context-gathering tools. The responseFormat parameter hints at return shape, but the description never confirms what an agent actually receives.
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 100%, so all five parameters are already documented in the schema, making 3 the baseline. The description adds only the framing that output is 'grounded in project dependency versions', which loosely ties projectDir/docVersion together but supplies no syntax or format detail beyond the schema.
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 pair ('generate and export') and a concrete resource ('agent-native documentation context files'), then enumerates the exact artifacts (AGENTS.md, CLAUDE.md, skill.md, llms.txt, docs-map.md). No sibling tool in the list produces or exports files, so it is distinguishable from the search/get/find family at a glance.
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?
There is no when-to-use or when-not-to-use guidance and no named alternative. An agent cannot tell from the description whether to reach for this versus get_implementation_context or get_documentation_map when assembling agent context. Usage is only inferable from the file-format list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_apiB
Lookup structured OpenAPI endpoints by path, operation ID, or keyword with exact parameters, schemas, auth, and error responses.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of endpoints to return (default: 5). | |
| query | Yes | API path or keyword search (e.g. "/v1/webhook_endpoints", "create subscription"). | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| method | No | HTTP method filter (e.g. "get", "post", "delete"). | |
| version | No | Target API / documentation version filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses what the lookup returns (parameters, schemas, auth, error responses), and 'lookup' implies a read-only operation, but it says nothing about pagination, result limits beyond the schema default, or rate/permission behavior.
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?
A single well-packed sentence with the verb and resource front-loaded and no filler. It is appropriately sized, though the trailing enumeration of return fields makes it slightly run-on rather than crisply structured.
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 five-parameter read tool with no annotations and no output schema, the description covers the purpose and the shape of the return payload, which is the main gap to fill. It does not help with tool selection against its many siblings, so an agent still lacks the routing context needed to use it confidently.
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 coverage is 100%, so the baseline is 3. The description does add a bit of meaning by naming the lookup modes (path, operation ID, keyword) that the 'query' parameter accepts, but it contributes nothing about method, version, format, or limit beyond what the schema already documents.
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 ('lookup') and resource ('structured OpenAPI endpoints') and enumerates the lookup keys (path, operation ID, keyword) plus what comes back (parameters, schemas, auth, error responses). It reads as API-reference-specific, which loosely separates it from search_docs, but it never explicitly names or contrasts a sibling like check_api or search_docs.
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?
There is no when-to-use, when-not-to-use, or alternative routing guidance. With overlapping siblings such as check_api, search_docs, and get_documentation_map, the agent is left to infer when find_api is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_exampleB
Find verified, framework-specific code examples by task, language, framework, or target API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of examples to return (default: 5). | |
| query | Yes | Implementation task or symbol to look for examples of (e.g. "verify webhook signature", "constructEvent"). | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| version | No | Target documentation version filter. | |
| language | No | Programming language filter (e.g. "typescript", "python", "go"). | |
| framework | No | Framework filter (e.g. "express", "fastapi", "next"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It asserts examples are 'verified' (a useful quality signal) but says nothing about permissions, rate limits, freshness, or what 'verified' actually means; return shape is only inferable from the format param.
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?
A single well-formed sentence front-loads the verb, the resource, and the qualification 'verified, framework-specific'. Nothing is wasted and nothing is buried.
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 6-parameter search tool with no output schema and no annotations, the description covers purpose but omits result behavior, ranking/relevance expectations, and sibling routing. It is minimally viable rather than complete.
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 100%, so all six parameters are already documented, including the format enum, limit default, and filter examples. The description's phrase 'by task, language, framework, or target API' loosely mirrors those params but adds no syntax or format detail beyond the schema, so the baseline 3 applies.
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?
The description gives a specific verb (Find) and resource (verified, framework-specific code examples) plus the scoping axes (task, language, framework, target API). This clearly distinguishes it from content-oriented siblings like search_docs or find_recipe, though it never names an alternative directly.
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 it should call this when it needs a code example rather than prose docs. There is no explicit 'use this when' statement, no mention of when NOT to use it, and no routing to find_recipe/find_api despite those close siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_pitfallB
Search documented pitfalls, gotchas, deprecations, breaking changes, and runtime restrictions.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Category filter for pitfalls. | |
| limit | No | Maximum number of pitfalls to return (default: 5). | |
| query | Yes | Topic, feature, or symbol to inspect for pitfalls (e.g. "webhook raw body", "route params"). | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| version | No | Target documentation version filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It lists the kinds of content returned but does not disclose whether the search is read-only (implied but not stated), how results are ranked, whether pagination applies, or what happens on no match. For a search tool with zero annotation coverage, this is a significant gap.
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?
A single, front-loaded sentence that efficiently enumerates the content scope. No redundant or filler language.
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?
The tool has 5 parameters, 100% schema coverage, and no output schema. The description covers the purpose and content types but omits usage context, behavioral traits, and return format expectations. It is minimally viable but leaves gaps for an agent deciding between search siblings.
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 100%, so the schema already documents all five parameters thoroughly, including enums, defaults, and examples. The description adds no parameter-specific detail beyond the kind categories, but the baseline for high coverage is 3; the description does reinforce the kind semantics by naming the categories. A 4 reflects that the schema does the heavy lifting and the description is adequate.
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?
The description uses a specific verb (Search) and a clearly named resource (documented pitfalls, gotchas, deprecations, breaking changes, runtime restrictions). This distinguishes it from siblings like search_docs or find_api, which target different content types. However, it does not explicitly name those siblings or state what it is not, so it falls short of a 5.
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?
There is no guidance on when to use this tool versus search_docs, find_api, or other search siblings. The description implies usage by listing pitfall categories but offers no context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_recipeC
Assemble an evidence-grounded implementation recipe with explicit prerequisites, ordered steps, and validation steps.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | The implementation goal or workflow to construct a recipe for. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| version | No | Target documentation version. | |
| projectPath | No | Workspace root for project-aware dependency detection. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints that results are 'evidence-grounded' but never states that this is a read-only operation, where evidence comes from, or any auth/rate constraints, so the disclosure is thin for a no-annotation tool.
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?
A single front-loaded sentence that names the action first and then details the output shape. Efficient with no filler, though its dense list makes it slightly run-on.
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?
No output schema exists, but the description does sketch the return structure (prerequisites, ordered steps, validation), which is genuinely useful. It still omits usage context and any behavioral notes, leaving it only minimally adequate for a four-parameter tool.
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 100% with four fully documented parameters, so the schema does the heavy lifting. The description adds no parameter-level detail (e.g., how 'goal' maps to recipe output), so the baseline 3 applies.
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 ('Assemble') and resource ('implementation recipe') and elaborates the output structure (prerequisites, ordered steps, validation steps). It does not, however, differentiate itself from related siblings such as find_example, find_api, or get_implementation_context, so a 4 rather than a 5.
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 description contains no when-to-use guidance, no prerequisites, and no mention of alternatives. With closely related siblings like find_example and get_implementation_context, the absence of routing guidance leaves the agent to infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_docC
Retrieve a specific documentation page or contextual chunk by ID or URL with complete metadata and security annotations.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Normalized source URL of the documentation page. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| pageId | No | Unique page identifier (e.g. "page_..."). | |
| chunkId | No | Unique chunk identifier (e.g. "chk_..."). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It hints at the return payload ('complete metadata and security annotations') but says nothing about permissions, error behavior for missing IDs, or what happens when both URL and ID are supplied. 'Security annotations' is vague and unexplained.
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?
A single front-loaded sentence that states the action and lookup keys immediately. No filler, though the trailing 'with complete metadata and security annotations' is somewhat vague and slightly less earned than the rest.
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 read-only retrieval tool with no output schema or annotations, the description is adequate but thin: it does not cover mutual exclusivity of url/pageId/chunkId, failure behavior, or what 'security annotations' in the payload means. It is minimum viable rather than complete.
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 100%, so the schema already documents url, format, pageId, and chunkId (including enum meanings). The description only restates the 'ID or URL' idea and adds no disambiguation between pageId and chunkId or guidance on precedence. Baseline 3 is appropriate.
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 (Retrieve) and resource (documentation page or contextual chunk) with the lookup keys (ID or URL). It implicitly contrasts with search_docs by emphasizing retrieval of a specific item, but never names or distinguishes itself from that sibling explicitly.
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?
There is no explicit when-to-use or when-not-to-use guidance, nor any mention of alternatives like search_docs or list_sources. The reader must infer that this is a direct-lookup tool used after a search, but nothing in the text says so.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentation_mapB
Retrieve the hierarchical documentation map, page tree, section headings, and estimated token budget footprints for indexed documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| sourceId | No | Optional source ID or source URL substring filter. | |
| docVersion | No | Optional documentation version filter (e.g. "v14", "15.0"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses what is returned, including 'estimated token budget footprints' which helps an agent plan context budget, but says nothing about permissions, caching, rate limits, or whether the call is read-only (only implied by 'Retrieve').
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?
A single front-loaded sentence that packs the return-content list efficiently with no filler. It is well-sized for a low-complexity read tool.
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?
There is no output schema, so the description properly enumerates the returned artifacts (map, tree, headings, token footprints), filling that gap. Only the lack of usage guidance keeps it from being fully complete.
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 100%, so all three optional parameters (format, sourceId, docVersion) are already documented in the schema. The description adds no additional parameter meaning, so the baseline of 3 applies.
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 ('Retrieve') and resource ('hierarchical documentation map, page tree, section headings'), which clearly distinguishes it from get_doc and search_docs. It does not explicitly name any sibling, so it falls short of perfect differentiation.
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 description gives no when-to-use or when-not-to-use guidance and never references alternatives such as search_docs or get_doc. An agent must infer that this is a navigation/orientation tool rather than a lookup tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_implementation_contextB
High-level documentation intelligence orchestrator. Automatically resolves workspace dependencies and versions, detects task intent, retrieves relevant chunks, APIs, verified examples, and pitfalls, and compiles an evidence-grounded recipe within a strict token budget.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional documentation target URL. If provided and not yet indexed in DocOrbit, DocOrbit will automatically ingest and index it before compiling context. | |
| goal | No | Alias for task. | |
| task | No | The specific coding task or feature to implement (e.g. "Implement Stripe webhook signature verification in Express"). | |
| query | No | Alias for task. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| library | No | Optional primary library or package to focus documentation on (e.g. "stripe", "next"). | |
| project | No | Path to repository workspace root for project-aware dependency detection (default: current directory). | |
| version | No | Optional explicit target documentation version (e.g. "v14", "15.0"). | |
| tokenBudget | No | Maximum token budget for packed context (default: 4000). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose the internal pipeline (auto dependency/version resolution, intent detection, retrieval, compilation) and the enforcement of a token budget, which is genuine behavioral context. However it omits side effects implied by the schema (auto-ingesting/indexing a URL), permission or auth needs, latency, and failure behavior, leaving significant gaps for a 9-parameter orchestrator.
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?
It is a single dense sentence with little waste, though 'High-level documentation intelligence orchestrator' is a soft, near-marketing opener. The most important outcome, the compiled recipe, lands at the end rather than being front-loaded, costing it the top mark.
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 9 optional parameters, 100% schema coverage and no output schema, the description gives an adequate account of the behavior and the nature of the result (an evidence-grounded recipe within a token budget). It does not explain how the task/goal/query aliases interact or how format selection affects output, but nothing critical for a first correct invocation is missing.
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 100%, so every parameter is already documented, including aliases (goal/query), format enum, and tokenBudget default. The description adds no additional meaning to any parameter. Baseline 3 is correct when the schema does all the parameter work.
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?
The description states a specific composite verb+resource: it resolves dependencies/versions, retrieves chunks, APIs, examples and pitfalls, and compiles an evidence-grounded recipe. This distinguishes it clearly from single-purpose siblings like find_example or find_pitfall. It stops short of the 5 because it never explicitly names a sibling it replaces or differs from, though the 'orchestrator' framing implies aggregation.
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?
There is no statement of when to call this versus calling find_recipe, find_api, find_example or search_docs individually, and no prerequisites or exclusions are given. The word 'orchestrator' weakly implies an all-in-one entry point, but the agent must infer that. Comparable to the MID calibration where absent when-to-use guidance earned a 2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_versionC
Inspect workspace dependencies and resolve the exact compatible documentation version using the SemVer confidence ladder.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| library | Yes | Package or library name to check (e.g. "next", "stripe", "fastapi"). | |
| projectPath | No | Workspace root directory containing package manifests (default: current directory). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does not meet it. It never states whether it reads package manifests only or touches the network, whether it is side-effect free, or what the 'confidence ladder' returns or how to interpret it. The mysterious 'SemVer confidence ladder' concept is introduced without explanation.
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?
A single front-loaded sentence with no padding. It is efficient, though the undefined 'confidence ladder' term costs a little clarity for the space it occupies.
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?
No annotations and no output schema, so the description must explain what resolution actually produces — and it does not. For a three-parameter tool whose whole value is a resolved version plus some notion of confidence, the return semantics and any failure behavior are missing.
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 100%, so format, library and projectPath are fully documented in the schema, establishing the baseline of 3. The description's mention of 'workspace dependencies' loosely ties to projectPath but adds no syntax, defaults, or format guidance beyond the schema.
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: inspect workspace dependencies and resolve a compatible documentation version. This is distinguishable from the sibling retrieval tools (search_docs, get_doc), though the phrase 'SemVer confidence ladder' is unexplained jargon and the description never names which sibling it complements.
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?
There is no explicit statement of when to call this versus alternatives such as get_documentation_map or search_docs. The 'inspect workspace dependencies' phrasing weakly implies a pre-step before fetching docs, but no when/when-not condition or ordering guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ingest_docA
Ingest, crawl, parse, and index authoritative documentation from any URL or raw content directly into DocOrbit. Tracks documentation sources deterministically in docs.lock. Extracts semantic chunks, OpenAPI endpoints, code examples, and pitfalls. If taskContext is provided, immediately synthesizes and returns an evidence-grounded implementation recipe with exact code and API details.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Documentation target URL to crawl and ingest (e.g. "https://nextjs.org/docs" or "https://support.atlassian.com/..."). | |
| force | No | Force re-fetching and re-crawling documentation even if the source is already tracked (default: false). | |
| title | No | Optional title when ingesting raw content or overriding page title. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| content | No | Optional raw markdown/HTML documentation content to index directly without fetching from the web. | |
| refresh | No | Alias for force. | |
| maxPages | No | Maximum number of pages to crawl (default: 20, max: 50). | |
| taskContext | No | Optional coding task or intent (e.g. "Connect Atlassian Remote MCP" or "Implement Stripe payment element"). If provided, DocOrbit compiles and returns an immediate implementation recipe using the newly ingested docs. | |
| allowLocalhost | No | Allow crawling localhost endpoints for testing (default: false). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningfully disclose behavior: sources are tracked deterministically in docs.lock, semantic chunks/OpenAPI endpoints/code examples/pitfalls are extracted, and providing taskContext triggers an immediate evidence-grounded recipe. It still omits network side effects of crawling external sites, permissions, rate limits, and idempotency of re-ingestion.
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?
Four sentences, front-loaded with the core verb/resource, then behavior, then the conditional return. Dense but each sentence contributes; the taskContext payoff is placed last as a secondary mode rather than buried mid-sentence.
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 nine-parameter ingestion tool with no annotations and no output schema, the description adequately conveys what happens (crawl, index, track) and what the taskContext path returns. It is slightly thin on persistent side effects and error/permission behavior, but the core mental model is complete.
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 100%, so all nine parameters are already documented and the baseline is 3. The description adds only the dual-mode framing (URL fetch vs raw content ingestion) and reinforces the taskContext conditional, without adding format, limit, or aliasing details beyond the schema.
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?
The description gives a precise set of verbs (ingest, crawl, parse, index) and a concrete resource (documentation from URL or raw content into DocOrbit). It is unambiguously the lone ingestion/write tool among siblings like search_docs, get_doc, and list_sources, so an agent can route to it without opening any schema.
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 by the nature of the tool; the description never states when to prefer this over search_docs/get_doc/find_* siblings, nor any prerequisites or when-not-to-use conditions. It does surface one conditional behavior (supply taskContext to trigger recipe synthesis), which is closer to behavior than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesC
List all indexed documentation sources, snapshot records, doc versions, and machine-readability status.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of sources to list (default: 50). | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'List all' implies a read-only enumeration, but there is no disclosure of pagination behavior, ordering, default limit effects, or auth requirements. For a no-annotation tool this is thin.
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?
A single front-loaded sentence with no filler. It is slightly dense by enumerating four output categories, but every clause describes what gets listed.
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 listing tool with no output schema, the description adequately conveys the scope of what is returned. It omits ordering, pagination, and how the four listed categories relate to each other, which leaves modest gaps but nothing an agent would trip over before calling it.
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 100%, so both limit and format are already fully documented in the schema, including the default and the markdown/json distinction. The description adds no parameter meaning beyond that, so the baseline 3 applies.
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 ('List') and a concrete resource set (indexed documentation sources, snapshot records, doc versions, machine-readability status). It is clearly a listing tool distinct in kind from search_docs and get_doc, though it never names or contrasts with a sibling explicitly.
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?
There is no statement of when to use this vs. search_docs or get_documentation_map, and no prerequisites or exclusions. The agent must infer that this is a broad enumeration endpoint from the word 'all'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsB
Search documentation chunks using hybrid FTS5 ranking, symbol awareness, and optional version filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default: 10). | |
| query | Yes | The search query, code symbol, or concept to look for. | |
| format | No | Response format: "markdown" (default, human/agent-readable documentation) or "json" (structured raw machine data). | |
| library | No | Optional library name to narrow search scope. | |
| version | No | Target documentation version (e.g. "v14", "15.0"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does usefully reveal the hybrid FTS5 ranking, symbol-aware matching, and version-filter behavior. It omits read-only confirmation, result/pagination behavior, and error conditions, so it is only moderately transparent for a no-annotation tool.
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?
A single dense sentence with the verb and resource front-loaded and zero filler. It is slightly jargon-heavy ('hybrid FTS5 ranking') but every clause conveys real information.
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?
No output schema and no annotations, so the description must carry more weight, yet it says nothing about the shape, pagination, or ranking of results returned. With 5 fully-documented params the basics are covered, but return-side behavior is left to inference.
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 100%, so all five parameters (limit, query, format, library, version) are already documented in the schema. The description adds only the vague phrase 'optional version filtering,' adding no syntax or semantics beyond the structured fields, so baseline 3 applies.
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 (Search) and resource (documentation chunks) plus the ranking mechanism. However it does not differentiate itself from the many specialized sibling search tools (find_api, find_example, find_pitfall, find_recipe), leaving the agent to guess which search variant applies.
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?
No guidance on when to use this general search versus the specialized find_* siblings, nor any prerequisites. The agent must infer selection purely from names.
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.
15 tool updates
v0.2.3- Changed
analyze_impact1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
check_api1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
diff_docs1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
export_agent_context1 field changed- added
Input schema / properties / responseFormatAdded value: +{ + "description": "Response output format: \"markdown\" (default, raw exported content) or \"json\" (structured metadata).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
find_api1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
find_example1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
find_pitfall1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
find_recipe1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
get_doc1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
get_documentation_map1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
get_implementation_context1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
get_version1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
ingest_doc3 fields changed- added
Input schema / properties / forceAdded value: +{ + "description": "Force re-fetching and re-crawling documentation even if the source is already tracked (default: false).", + "type": "boolean" +} - added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +} - added
Input schema / properties / refreshAdded value: +{ + "description": "Alias for force.", + "type": "boolean" +}
- Changed
list_sources1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
- Changed
search_docs1 field changed- added
Input schema / properties / formatAdded value: +{ + "description": "Response format: \"markdown\" (default, human/agent-readable documentation) or \"json\" (structured raw machine data).", + "enum": [ + "markdown", + "json" + ], + "type": "string" +}
5 tool updates
v0.1.7- Changed
analyze_impact3 fields changed- added
Input schema / properties / fromAdded value: +{ + "description": "Alias for fromVersion.", + "type": "string" +} - added
Input schema / properties / projectDirAdded value: +{ + "description": "Alias for project directory.", + "type": "string" +} - added
Input schema / properties / toAdded value: +{ + "description": "Alias for toVersion.", + "type": "string" +}
- Changed
check_api2 fields changed- added
Input schema / properties / snippetAdded value: +{ + "description": "Alternative alias for code snippet.", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "code" -]
- Changed
diff_docs2 fields changed- added
Input schema / properties / fromAdded value: +{ + "description": "Alias for fromVersion.", + "type": "string" +} - added
Input schema / properties / toAdded value: +{ + "description": "Alias for toVersion.", + "type": "string" +}
- Changed
export_agent_context1 field changed- removed
Input schema / requiredRemoved value: -[ - "format" -]
- Changed
get_implementation_context3 fields changed- added
Input schema / properties / goalAdded value: +{ + "description": "Alias for task.", + "type": "string" +} - added
Input schema / properties / queryAdded value: +{ + "description": "Alias for task.", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "task" -]
15 tool updates
v0.1.4- First observed
analyze_impact - First observed
check_api - First observed
diff_docs - First observed
export_agent_context - First observed
find_api - First observed
find_example - First observed
find_pitfall - First observed
find_recipe - First observed
get_doc - First observed
get_documentation_map - First observed
get_implementation_context - First observed
get_version - First observed
ingest_doc - First observed
list_sources - First observed
search_docs
TDQS
Scored across 15 tools
Each tool targets a distinct retrieval or analysis mode (search vs. map vs. API lookup vs. examples vs. pitfalls vs. recipes), so boundaries are mostly clear. The main overlap is get_implementation_context, which is an orchestrator that subsumes search_docs, find_api, find_example, find_pitfall, and find_recipe, but its explicit 'high-level orchestrator' labeling mitigates confusion.
All 15 tools follow a consistent snake_case verb_noun pattern (list_sources, search_docs, get_doc, find_api, check_api, diff_docs, analyze_impact, export_agent_context, ingest_doc). The verb variety (get/find/check/diff/analyze) is intentional and readable, not chaotic.
At 15 tools, the set is well within a healthy range and each tool maps to a distinct capability in the documentation-intelligence workflow. No obvious filler or redundant tools inflate the count.
The surface covers the full lifecycle: ingest/index (ingest_doc), discovery (list_sources, get_documentation_map), retrieval (search_docs, get_doc, find_api, find_example, find_pitfall), synthesis (find_recipe, get_implementation_context), verification (check_api), change tracking (diff_docs, analyze_impact), and export (export_agent_context). Version resolution (get_version) rounds out dependency-aware workflows, leaving no obvious dead ends.
Maintenance
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Generate, search, and manage codebase documentation on DocuWriter.ai. 72 tools incl. Autopilot.
The AI orchestration agent for modern software teams.
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol server that fetches up-to-date, version-specific documentation and code examples from libraries directly into LLM prompts, helping developers get accurate answers without outdated or hallucinated information.2354,384 npm62,254MIT
- AlicenseCqualityBmaintenanceDocuMCP is an intelligent Model Context Protocol (MCP) server that revolutionizes documentation deployment for open-source projects. It provides deep repository analysis, intelligent static site generator recommendations, and automated GitHub Pages deployment workflows.52127 npm10MIT
- AlicenseNot gradedqualityDmaintenanceProvides documentation generation and analysis tools for AI agents, including JSDoc generation, README analysis, changelog generation, API documentation, and code comment analysis.31 npmMIT
- AlicenseAqualityAmaintenanceProvides AI coding agents with five intelligence layers (dependency graph, git history, documentation, architectural decisions, code health) via nine MCP tools, enabling deep codebase understanding and reducing exploration cost.103,462 PyPI6,912AGPL 3.0