Tools reference
The tools exposed by @ontosdk/mcp. Inputs, outputs, and example calls.
read_url
Fetch any public URL and return clean Markdown plus extraction stats. Typically returns 10× less payload than raw HTML.
Input
Output (excerpt)
"status": "success",
"url": "https://stripe.com/pricing",
"markdown": "# Stripe pricing\\n\\nIntegrated per-transaction pricing…",
"metadata": { ... },
"stats": { reduction_pct: 90.7, cached: false }Example agent call
# In any MCP-capable chat client:
> Use Onto to read https://stripe.com/pricing and summarize each plan.
# The agent invokes: read_url({ url: 'https://stripe.com/pricing' })score_url
Return the AIO (AI-readability) score for a URL — 0–100, letter grade, hallucination risk, and a structured list of what helps and what hurts AI consumption.
Input
Output (excerpt)
"score": 62, "grade": "C",
"hallucination_risk": "medium",
"penalties": [ ... ], "benefits": [ ... ],
"recommendations": [ ... ]Full scoring model: Concepts → AIO Score.
read_and_score
Both of the above in one call. Recommended default for agentic workflows — the model gets the content and the trust signal in a single round trip.
Input
Output
Union of the read_url and score_url payloads under a single top-level object. See POST /v1/read-and-score for the full schema.
batch
Process many URLs in one call — so the agent doesn't spend a credit per URL. Pass an explicit urls list or a site base URL (pages auto-discovered via sitemap), and a mode.
Input
Example agent call
# In any MCP-capable chat client:
> Use Onto to pull every page of https://stripe.com and extract their structured data.
# The agent invokes: batch({ site: 'https://stripe.com', mode: 'extract' })map_site
Discover a site's URLs (sitemap → links) without reading them. Cheap — use it to plan which pages to read or batch next.
Input
extract_data
Return the structured data a page already declares — JSON-LD, OpenGraph, meta — plus the AIO score. Deterministic, no AI: only data present in the page.
Input
Backed by the Read API
Every tool maps 1:1 to a Read API endpoint. If you need to drive these from a backend instead of an MCP client, hit the HTTP layer directly:
read_url→ POST /v1/readscore_url→ POST /v1/scoreread_and_score→ POST /v1/read-and-scorebatch→ POST /v1/batchmap_site→ POST /v1/mapextract_data→ POST /v1/extract