# MCP server

> Give any MCP client six Onto tools — by URL with an OAuth sign-in, or locally with npx.

Source: https://docs.buildonto.dev/mcp
Section: MCP server

---

MCP Server\[01\]

## MCP server

Give any MCP client six Onto tools — read, score, map, batch and extract. Connect by URL with an OAuth sign-in, or run it locally with `npx`.

### What a tool call does

\[02\]

your client → api.buildonto.dev/mcp

You ask your client about a page

1.  01You ask
    
    Your agent has no reader of its own for the page — so it looks at the tools it has.
    
2.  02It picks a tool
    
    One of Onto's six, with arguments — here `read_url` and the URL.
    
3.  03The call reaches Onto
    
    Over the connector URL, signed in with OAuth — or through the local `npx` server with your `onto_sk_` key.
    
4.  04The matching API call runs
    
    Each tool calls its `/v1` endpoint, so the credits are the API's, charged once.
    
5.  05Markdown comes back
    
    The agent reads the clean page and answers from it.
    

Clean Markdown in the chat, billed like any API call

### Install it

\[03\]

Install in

![](/integrations/claude-code.png)Claude Code

One command

$ claude mcp add --scope user --transport http onto https://api.buildonto.dev/mcp

Copy command[Docs →](https://docs.buildonto.dev/mcp/claude-code)

1.  Run it in a terminal. Claude Code asks you to approve Onto on first use.
2.  Then ask Claude Code to “read example.com with onto”.

Step-by-step for every client is on [Set up your client](/mcp/setup).

### Two ways to connect

\[04\]

Remote connectorLocal server

Add it withThe URL `https://api.buildonto.dev/mcp``npx -y @ontosdk/mcp@latest`

Signs in withYour Onto account, over OAuthAn `onto_sk_` key in `ONTO_API_KEY`

TransportStreamable HTTP (SSE at /sse too)stdio, Node 20+

Used byClaude Code, Claude Desktop, Cursor, Codex, ChatGPTWindsurf, Cline, Continue — anything that runs a command

Both expose the same six tools and bill the same account. Details on the [remote connector](/mcp/remote) and the local server's [configuration](/mcp/configuration).

### The six tools

\[05\]

ToolReturnsCallsCredits

`read_url`The page as Markdown, with its size, reduction and cache state`/v1/read`1

`read_and_score`Markdown plus the score, grade and hallucination risk`/v1/read-and-score`1

`score_url`Just the score, and why — penalties and recommendations`/v1/score`free

`extract_data`The JSON-LD, OpenGraph and meta the page declares`/v1/extract`1

`map_site`A site's URLs, from its sitemap or its start page's links`/v1/map`1

`batch`Up to 50 URLs — or a site — read, scored or extracted`/v1/batch`1 per URL

Inputs and outputs for each are on the [Tools reference](/mcp/tools).

### MCP or the API

\[06\]

Same endpoints, same credits, same errors — MCP is a transport. Use it when an agent you don't write should read the web; call the [Read API](/api/read) yourself when you control the code and want retries, caching and batching on your terms.

**One account, one balance.** Tool calls draw on the same monthly credits as your API calls. `score_url` is free; everything else costs what its endpoint does.

Copy as Markdown[](/mcp.md "Open the raw Markdown")

---
## Structured Data (JSON-LD)
```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Onto Docs",
  "url": "https://docs.buildonto.dev",
  "description": "How to use Onto: serve AI agents Markdown from your Next.js site, call the Read API, connect over MCP, and read the AIO score.",
  "inLanguage": "en",
  "publisher": {
    "@type": "Organization",
    "name": "Onto",
    "url": "https://buildonto.dev"
  }
}
```