Onto MCP Server
This server lets AI agents read and assess web content cleanly, without parsing raw HTML.
read_url — Fetch any URL as clean, agent-ready Markdown (with optional cache bypass).
score_url — Get a 0–100 AI-readability (AIO) score with penalties, benefits, and recommendations.
read_and_score — Read clean Markdown and get the AIO trust score in one call.
batch — Process up to 50 URLs (or an auto-discovered site) in a single call, choosing read, read-and-score, or extract mode.
map_site — Discover a site's URLs via sitemap or on-page links without reading the pages.
extract_data — Pull structured data already on the page (JSON-LD, OpenGraph, meta tags) plus the AIO score.
Every response includes a one-line Onto report showing reduction, tokens saved, and AIO score.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Onto MCP Server Read https://stripe.com/pricing and summarize the pricing tiers."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Onto MCP Server
The official Onto Model Context Protocol server. Add clean web content reading and AI-readability scoring to Claude Code, Cursor, Cline, Zed, or any MCP-compatible AI client.
What this does
Onto's MCP server exposes these tools to any AI agent:
read_url— Read any URL and get back clean, agent-ready Markdown (typically 10× smaller than raw HTML)score_url— Get the AIO (AI-readability) score for any URL with a breakdown of what helps and what hurts AI consumptionread_and_score— Both at once: clean content plus quality assessment so the agent knows how much to trust the sourcebatch— Read, score, or extract many URLs (an explicit list or a whole site) in one callmap_site— Discover a site's URLs via its sitemap, without reading themextract_data— Return the structured data a page already declares (JSON-LD, OpenGraph, meta)
Every tool response ends with a one-line ⚡ Onto report — reduction, tokens saved, and AIO score — so the value is visible on every call.
This is the official MCP wrapper for the Onto Read API. It's a thin, deterministic layer: Onto cleans and scores with a rule-based engine (no LLM in the loop), so your agent's own model never has to parse raw HTML.
Related MCP server: cleanfetch
Why use this?
When AI agents read websites today, they parse hundreds of KB of React noise to find a few KB of actual content. This burns tokens and causes hallucinations.
Onto strips the noise server-side, returns the agent-ready format, and reports a confidence score for the source. One tool call, one accurate answer.
Quick start
1. Get an Onto API key
Sign up at app.buildonto.dev and create an API key at Read → Keys.
Free tier: 1,000 credits / month. No credit card.
2. Install in Claude Code
Add to your Claude Code MCP config:
{
"mcpServers": {
"onto": {
"command": "npx",
"args": ["-y", "@ontosdk/mcp@latest"],
"env": {
"ONTO_API_KEY": "onto_sk_live_your_key_here"
}
}
}
}Restart Claude Code. The Onto tools (read_url, score_url, read_and_score, batch, map_site, extract_data) will appear in the available tools list.
3. Install in Cursor
Add the Onto server to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this repo). Or use the UI: Customize (sidebar) → MCPs → add a custom server, same JSON.
{
"mcpServers": {
"onto": {
"command": "npx",
"args": ["-y", "@ontosdk/mcp@latest"],
"env": {
"ONTO_API_KEY": "onto_sk_live_your_key_here"
}
}
}
}Fully quit Cursor (Cmd+Q / Ctrl+Q) and reopen.
See examples/ for Cline, Zed, and Continue configs.
4. Use it
In Claude Code or Cursor, try:
Read https://stripe.com/pricing using Onto and summarize the pricing tiers.
The agent calls read_url, gets clean Markdown, and returns an accurate summary without parsing hundreds of KB of layout HTML.
Tools
read_url
Returns clean Markdown for a URL with metadata about the extraction (sizes, reduction %, cache state).
Input:
Field | Type | Required | Description |
| string | yes | Publicly accessible HTTP(S) URL |
| boolean | no | If true, bypass cache (default: false) |
score_url
Returns the AIO (AI-readability) score for a URL — 0-100 with a letter grade, hallucination risk, and a structured list of penalties / benefits / recommendations.
Input:
Field | Type | Required | Description |
| string | yes | URL to score |
read_and_score
Returns clean Markdown plus the AIO score in one call. Recommended default for agentic workflows.
Input: same as read_url.
batch
Process many URLs in one call. N credits — one per URL in the list after the list is known. Failed URLs (ok: false) are refunded. Default mode read-and-score is still N, not 2N. Give an explicit list or a base URL whose pages are auto-discovered.
Input:
Field | Type | Required | Description |
| string[] | one of | Explicit list of URLs (max 50). Use this or |
| string | one of | Base URL whose pages are auto-discovered via sitemap. Use this or |
|
| no | What to do per URL (default |
| number | no | Site mode only: max pages to discover (default 25, max 50) |
map_site
Discover a site's URLs (sitemap → on-page links) without reading them. 1 credit per call (not per discovered URL) — use it to plan which pages to read or batch next.
Input:
Field | Type | Required | Description |
| string | yes | Base URL of the site to map |
| number | no | Max URLs to return (default 100, max 1000) |
extract_data
Return the structured data a page already declares — JSON-LD, OpenGraph, and meta tags — plus the AIO score. Deterministic; no fields are inferred by a model.
Input:
Field | Type | Required | Description |
| string | yes | URL to extract structured data from |
Pricing
Tier | Monthly credits | Price |
Free | 1,000 | $0 |
Starter | 10,000 | $9 |
Growth | 100,000 | $49 |
Scale | 500,000 | $250 |
Enterprise | Custom | Contact sales |
MCP tool credits match the live API meter:
Tool | Credits |
| 1 |
| 1 |
| 0 (free) |
| 1 |
| 1 per call (not per discovered URL) |
| N — one per URL in the list after the list is known; failed URLs ( |
Connect / OAuth is not a debit.
Manage your subscription at app.buildonto.dev/read/billing. Credit packs ($5–$200) are available for overflow once you're on a paid tier.
Configuration
Environment variables:
ONTO_API_KEY(required) — Your Onto API key from app.buildonto.dev/read/keysONTO_API_BASE(optional) — Override the API base URL (default:https://api.buildonto.dev)
Troubleshooting
"Invalid Onto API key"
Verify your key at app.buildonto.dev/read/keys. If you recently rotated keys, your MCP config may have a stale value.
"Monthly quota exceeded"
You've used your monthly allotment. Upgrade at app.buildonto.dev/read/billing or wait for the monthly reset. Paid tiers can also top up with credit packs.
Tool doesn't appear in Claude Code / Cursor
Verify the config file is valid JSON
Restart the MCP host (Claude Code, Cursor, etc.)
Check the host's MCP logs for connection errors
Make sure
npxis on your PATH
"Request timed out"
The target site may be slow or unreachable. Onto's request timeout is 15 seconds. Retry, or try a different URL.
Links
Onto homepage: buildonto.dev
API documentation: docs.buildonto.dev
Dashboard: app.buildonto.dev
GitHub issues: github.com/ravixalgorithm/onto-mcp/issues
Contact: founder@buildonto.dev
About Onto
Onto is the compatibility layer for the agent web. Three products on one engine:
Read (this MCP server + API) — AI developers read any URL cleanly
Serve (Next.js SDK) — Site owners serve clean Markdown to AI crawlers
Act (coming Q3 2026) — Agents act on websites through semantic intent
Built for AI agents reading the web. Built so they read it correctly.
License
MIT
Available Tools
6 toolsbatchAInspect
Process many URLs in ONE call (billed as one request) — so you do not spend a credit per URL. Give either "urls" (an explicit list, up to 50) or "site" (a base URL whose pages are auto-discovered via sitemap). "mode" picks what to do per URL: "read" (Markdown), "read-and-score" (Markdown + AIO trust score, default), or "extract" (JSON-LD + OpenGraph + meta + score). Use this for full-site reads or bulk URL processing.
Inputs: mode, site, urls, limit.
extract_dataAInspect
Extract the structured data a page already declares — JSON-LD (schema.org), OpenGraph cards, and meta tags — plus the AIO trust score. Deterministic, no AI: returns only data present in the page. Use for fast, reliable facts (prices, products, articles) when the site publishes structured data.
Inputs: url (required), fresh.
map_siteAInspect
Discover a site's URLs (from sitemap.xml, falling back to on-page links) without reading them. Fast and cheap — use it to plan which pages to read or crawl next.
Inputs: url (required), limit.
read_and_scoreAInspect
Read any URL and return both clean Markdown AND the AIO accuracy score in one call. The recommended default for most AI workflows — gives both content and quality assessment together, so the AI agent can decide how much to trust the content.
Inputs: url (required), fresh.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Several tools overlap in purpose: read_url and read_and_score both retrieve content, with the latter adding a score; batch can perform both reading and extraction, duplicating read_url, read_and_score, and extract_data for bulk use. This creates ambiguous boundaries, especially when deciding between single-URL versus batch tools or whether to use read_url versus read_and_score.
Most tools follow a verb_noun pattern (read_url, score_url, map_site, extract_data), but read_and_score is a verb-verb phrase and batch is a single word without a clear verb_noun structure. The mix of conventions is still readable but not fully predictable.
With 6 tools, the server is well-scoped for its domain of URL reading, scoring, and extraction. Each tool contributes to the overall workflow without being overwhelming, and the count is within the ideal 3-15 range.
The tool surface covers the full lifecycle: map_site for discovery, read_url/read_and_score for content retrieval, score_url for quality assessment, extract_data for structured data, and batch for bulk processing. No essential operations are missing for the stated purpose of AI-ready web content extraction and analysis.
Maintenance
Related MCP Connectors
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Cloud scraping & crawling API for AI agents. Turn any URL into clean, LLM-ready markdown.
Read a URL as clean markdown, screenshot a website, url to PDF. Web access for agents, no signup.
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
Related MCP Servers
- AlicenseAqualityDmaintenanceConverts URLs and raw HTML to clean Markdown, enabling AI assistants to read web pages for summarization, analysis, or ingestion.22 npm1MIT
- AlicenseAqualityCmaintenanceEnables AI agents to read web pages reliably, returning clean markdown content, hyperlinks, and metadata without navigation or ad noise.35 npmMIT
- AlicenseAqualityDmaintenanceEnables AI agents to fetch any web page as clean markdown or screenshot it, turning URLs into LLM-ready context.24 npmMIT

HatFetchofficial
AlicenseAqualityCmaintenanceEnables LLM agents to read any website by scraping and crawling into clean Markdown, automatically bypassing bot detection with residential proxies.352 npmMIT