Docs MCP functions

Three MCP functions — docs_list, docs_search, docs_read — for agents to browse and read the Aeontel documentation.

The Aeontel MCP server ships three read-only functions (exposed as MCP tools via server.tool(...)) that let agents browse and read the docs at docs.aeontel.com. They are part of the regular MCP surface at POST /mcp — no separate server, no extra auth beyond the one you already use for Aeontel.

docs_list

Browse the docs table of contents. Call this first to discover what pages exist before reading.

Parameters

  • section?: "general" | "platform" | "api" | "cli" | "mcp" | "libraries" — restrict to one top-level area.

Response: { title, path, section, summary }[]. No IDs, no raw URLs — just the data an agent needs to plan the next call.

JSON
{
  "title": "Agents",
  "path": "/concepts/agents",
  "section": "General",
  "summary": "AI agents with instructions, a model, and bound functions."
}

docs_search

Keyword search across every page. Returns the top matches ranked by a simple term-frequency score. Title matches are weighted heavily.

Parameters

  • query: string — the keyword or phrase (minimum 2 chars).
  • section?: DocSection — same values as docs_list.
  • response_format?: "concise" | "detailed"concise (default) returns 5 hits with ≤300-char excerpts; detailed returns 10 hits with ≤800-char excerpts.

Response: { title, path, section, excerpt }[].

Search backend

The in-process search scores pages by term frequency over the bundled llms-full.txt. It's intentionally simple — fast, cacheable on the edge, no external index to keep in sync. Swap in embeddings later if usage warrants it.

docs_read

Fetch the full markdown for a specific doc page.

Parameters

  • path: string — from docs_list. Trailing .md is accepted.
  • response_format?: "full" | "summary"full (default) returns the entire markdown. summary returns only the frontmatter plus the first ~400 chars — handy for quick skim before committing to a read.

Errors: unknown paths return an actionable message — Unknown doc path "xxx". Call docs_list to see available paths, or docs_search to find by keyword. — so agents know how to recover.

Design notes

These functions are designed per Anthropic's tool-writing guide (MCP calls them tools on the wire; Aeontel-side they're functions):

  • Unambiguous parameters — typed enums, never free-form strings for known domains (DocSection, response_format).
  • Response shapes stripped of low-signal data — no raw URLs when a path suffices, no internal IDs.
  • Actionable errors — every error message names the remediation function.
  • Response-format enums — callers opt into verbosity instead of the server guessing.
  • Namespaced namesdocs_* groups these functions together the way the guide endorses (asana_search, asana_projects_search).