# Remote connector (OAuth)

> One URL and a sign-in with your Onto account — no key to paste, nothing to install.

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

---

Remote connector\[01\]

## Remote connector (OAuth)

One URL — `https://api.buildonto.dev/mcp` — and a sign-in with your Onto account. No key to paste, nothing to install.

### What connecting does

\[02\]

your client ⇄ api.buildonto.dev

You add https://api.buildonto.dev/mcp

1.  01Add the URL
    
    In your client's connector settings — or with one command in Claude Code and Codex.
    
2.  02The client finds the sign-in
    
    Its first call is refused with a `401` pointing at `api.buildonto.dev`'s own OAuth metadata. The client registers itself there.
    
3.  03You approve
    
    You sign in to your Onto account on `app.buildonto.dev` and allow the client. That's the only step that needs you.
    
4.  04It gets a token
    
    The client swaps a one-time code (PKCE, S256) for an access token that lasts an hour and a refresh token that lasts 30 days, and renews them itself.
    
5.  05The tools appear
    
    The same six tools as the local server, calling the same endpoints.
    

Six tools in your client, billed to your account

### Connect your client

\[03\]

Claude, Claude Code, Cursor, Codex and ChatGPT all connect by URL. Pick yours for the exact place it goes:

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”.

**Where the calls show up.** Connecting costs nothing; connector calls bill your account like any API call, and appear in your usage under a key the dashboard names _ChatGPT / Claude Connector_. Plans and credits are on [Billing](https://app.buildonto.dev/billing).

### How sign-in works

\[04\]

What it is

Authorization server`https://api.buildonto.dev` — Onto's own; no third party

Endpoints`/authorize`, `/token`, `/register` (dynamic client registration), `/revoke`

SecurityPKCE with S256 is required; the access token is bound to the /mcp resource

Scope`onto:read`

TokensAccess: 1 hour. Refresh: 30 days, used once and replaced each time

Or a key/mcp also takes an `onto_sk_` API key as the Bearer token

### Test it with the Inspector

\[05\]

To watch the whole flow — the 401, the sign-in, the tools — run the official MCP Inspector, set the transport to `Streamable HTTP`, paste the URL and connect:


```
npx @modelcontextprotocol/inspector
```

Then list the tools and call `read_url` with `{ "url": "https://stripe.com/pricing" }`.

### Remote or local

\[06\]

Remote connectorLocal server

TransportStreamable HTTP at /mcp (SSE at /sse)stdio, via npx

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

SetupPaste one URL, approveA config block, then restart

Tools and billingSame six, same creditsSame six, same credits

Copy as Markdown[](/mcp/remote.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"
  }
}
```