Levirge Search gives AI agents web search and page reading over one remote
MCP server. Your agent searches the web, opens pages, APIs and feeds, and gets
back readable Markdown or the parts of a JSON or XML body it asked for. Pages
that need JavaScript or refuse plain requests open in a full browser
automatically.

Endpoint: `https://search.levirge.com/mcp` · Protocol: MCP over Streamable
HTTP · Auth: OAuth 2.0, bearer token as fallback.

## Connecting

**OAuth (recommended).** Add `https://search.levirge.com/mcp` as a remote MCP
server. Sign-in runs through `auth.levirge.com` with OAuth 2.0; Claude,
ChatGPT, Cursor and other OAuth-capable clients open the sign-in page on first
use and handle the token for you. No key to copy.

**Personal token.** For a client without OAuth, create a token in the Search
web app under **Profile → Your tokens** and send it on every request:

```http
Authorization: Bearer <token>
```

Tokens are per user; revoke one there at any time.

**Step-by-step guides:**

- [Claude Code](/search/install/claude-code) — marketplace install, two
  commands.
- [Claude Desktop](/search/install/claude-desktop) — step by step, no
  terminal.
- [Codex](/search/install/codex)
- [OpenCode](/search/install/opencode)
- [pi.dev](/search/install/pidev)

To confirm a connection works, run `stealth_list`. It is read-only and returns
the list of sources that open in the full browser.

## Tools

Nine tools. Each entry gives the tool's name, its title as clients show it,
what it does and whether it reads or writes.

### `search` — Web search
Searches the web and returns a list of results, each with `title`, `url` and
`content`.

- `query` — the search terms.
- `limit` — results to return, up to 50.

Read-only.

### `fetch` — Fetch URL
Opens a URL and returns its body. Takes any http(s) URL: web pages, JSON REST
APIs, XML APIs and RSS/Atom feeds. Web pages come back as Markdown with a
short block naming the route used; JSON and XML come back as the raw body, so
they parse directly. YouTube video URLs return the title, channel,
description and full timestamped transcript.

Pages that need JavaScript, refuse plain requests or rate-limit are retried in
a full browser, and the source is remembered so later requests go straight to
the browser. Rate-limited sources are paced to their published cooldown.
Bodies are cached, so a follow-up call on the same URL is cheap.

- `url` — the page, API or feed to open.
- `select` — return only the listed parts of the body, applied on the server.
  On JSON and XML, jq-lite paths such as `commits[].sha` or
  `feed.entry[].link.@href`, returned in the source's own shape. On Markdown
  or text, case-insensitive patterns: each heading section that contains one
  is returned whole.
- `schema` — `true` returns the body's shape instead of the body: keys, types
  and array lengths for JSON/XML, the heading outline for Markdown.
- `max_bytes` — caps the size of the returned body (API bodies can run to
  several MB).
- `headers` — custom request headers, such as `Authorization` for an API you
  have access to. A request with headers always opens in the full browser and
  skips the shared cache.

Read-only.

### `fetch_async` — Queue background fetch
Queues a list of URLs (up to 200) to open in the background and returns
straight away. Each job uses the same routing, pacing and caching as `fetch`.
Use it for many pages, or several on one rate-limited source.

- `urls` — the URLs to queue.

Write: it adds jobs to your queue. Queuing the same URL again does not
duplicate it.

### `fetch_results` — Collect background fetch results
Returns results for URLs queued with `fetch_async`. Each URL is `done` (with
its content), `pending` (with the retry attempt and time when backing off),
`failed` (with the error) or `unknown` (never queued). Failed or unknown URLs
can be queued again.

- `urls` — the URLs to collect.
- `select`, `schema`, `max_bytes` — shape each body exactly as in `fetch`,
  applied to every result in the batch.

Read-only.

### `stealth_list` — List stealth domains
Lists the sources that need the full browser: pages that need JavaScript or
refuse plain requests.

Read-only. Touches only your own workspace settings.

### `stealth_failures` — List stealth failures
Lists sources that were refused even in the full browser. Each entry has the
domain, failure count, last URL, decision and time. A `registry_hit` entry
means a source that used to open in the full browser has stopped working.

Read-only. Touches only your own workspace settings.

### `stealth_add` — Register stealth domain
Marks a domain (or URL) as a source that needs the full browser, so later
requests to it go straight to the browser.

- `domain` — the domain or URL.

Write. Adding the same domain twice leaves the list unchanged.

### `stealth_remove` — Remove stealth domain
Removes a domain (or URL) from the full-browser list, so requests to it are
sent directly again. Typical case: a source added after an HTTP 429
rate-limit, which the full browser does not help with.

- `domain` — the domain or URL.

Write, and the only destructive tool: it removes an entry from your
workspace's list. Clients that ask before destructive calls will ask here.

### `feedback` — Send feedback
Sends a report to the Levirge Search team about a tool that did not work as
expected: a wrong or garbled body, bad routing, missing search results or
confusing `select`/`schema` behaviour.

- `feedback` — what was done, what was expected and what happened (10–4000
  characters).
- `tool` — which tool misbehaved.
- `context` — the URL or query involved.

Write: each call adds a new report. Nothing is changed or removed.

## Plans, privacy and support

- **Plans:** [Pricing](/search/pricing) — what each plan includes.
- **Privacy:** [Privacy policy](https://levirge.com/privacy).
- **Support:** [hello@levirge.com](mailto:hello@levirge.com), or the
  `feedback` tool from inside your agent.

## More

- [Examples](/search/examples) — worked research runs with the payloads shown.
- [FAQs](/search/faq) — what comes up before people connect.
- [search.md](/search.md) — this product as Markdown, for agents.
- [mcp.json](/search/mcp.json) — the machine-readable server definition.
