LYRENTH
AgentsDocsPricingBenchmarksIndex statsAboutBlogFor site ownersStatusContact
/docs / mcp
For agent developers

MCP server

Give any MCP client a web reader. Two ways in: connect to our hosted endpoint with your key in a header, or run the published package locally with npx. Same three tools either way.

Where it lives

Published and listed

The same server, whichever way you find it.

Hosted

Connect to api.lyrenth.com/mcp

Nothing to install, nothing to keep running. Add one remote connector and your client has the tools.

Endpoint

https://api.lyrenth.com/mcp

Transport

Streamable HTTP, stateless. Every request is self-contained, so there is no session to lose and a reconnect costs nothing. POST is the only method; a GET is answered 405 because a stateless server has no standing stream to offer.

Auth

Authorization: Bearer aiwk_your_key_here

The key travels on each request and is used for that request only. There is no shared key behind the endpoint, which is deliberate: your reads are billed to your account and nobody else's. Starting a connection and listing the tools needs no credential, so a client can see what is on offer before you paste a key; only an actual tool call needs one.

01

In Claude

Open the connector settings, add a custom connector, and give it the URL above. Add one header, Authorization, with the value Bearer followed by your key. Claude's remote connectors accept custom headers, so there is no OAuth step and nothing to install.

02

In Cursor

Open the MCP settings, add a server, choose the HTTP (remote) kind, and paste the same URL and header. Cursor reads the same mcpServers object, so the JSON below works if you prefer editing the file directly.

03

In Claude Code

One command, no file to edit.

claude mcp add --transport http lyrenth https://api.lyrenth.com/mcp \
  --header "Authorization: Bearer aiwk_your_key_here"
04

Anywhere else that speaks remote MCP

The same entry, as JSON. Merge it into any mcpServers object you already have rather than replacing the file.

{
  "mcpServers": {
    "lyrenth": {
      "type": "http",
      "url": "https://api.lyrenth.com/mcp",
      "headers": { "Authorization": "Bearer aiwk_your_key_here" }
    }
  }
}

To check the endpoint is reachable before you wire anything up, list the tools without a key. Introspection is open, so this answers with the three tools and their schemas.

curl -X POST https://api.lyrenth.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Local

Run it yourself with npx

For clients that spawn a local process, or when you would rather the key stayed on your machine.

Needs Node.js 18 or newer and nothing else: there is nothing to clone or build, because npx fetches the published package on first use. Claude Desktop reads claude_desktop_config.json; Cline reads cline_mcp_settings.json; Cursor and Windsurf take the same object through their own MCP settings. In every one of them the entry is identical:

{
  "mcpServers": {
    "lyrenth": {
      "command": "npx",
      "args": ["-y", "lyrenth-mcp"],
      "env": { "LYRENTH_API_KEY": "aiwk_your_key_here" }
    }
  }
}

In Claude Code, the same thing as one command:

claude mcp add --env LYRENTH_API_KEY=aiwk_your_key_here lyrenth \
  -- npx -y lyrenth-mcp
Tools

What your agent gets

Three tools, all read-only. None of them writes anything, anywhere.

read_url

Reads one public web page as a clean AIDocument: a short provenance header (status, render mode, word count, token count, how much smaller than the raw HTML) followed by the Markdown body. fresh forces a live re-fetch instead of the stored copy. max_tokens caps the body to a context budget, trimmed at a clean paragraph or sentence boundary.

arguments
url (string, required) · fresh (boolean) · max_tokens (integer)
read_urls

The same read for up to 20 pages in one call, which is faster than calling read_url in a loop. A URL that fails is reported in its own section and does not block the others. Billed one credit per successfully-read URL.

arguments
urls (array of 1 to 20 strings, required) · fresh (boolean) · max_tokens (integer)
check_usage

Reports the plan tier on the key, credits used against the monthly limit, credits remaining, and the reset date. Costs nothing, so it is the right first call to prove a key is wired up correctly.

arguments
no arguments

Start with check_usage when you set a client up. It takes no arguments and costs nothing, so it proves the key is being passed correctly without spending a read. Then ask your assistant to read a page: it will call read_url and get clean Markdown back instead of raw HTML.

Environment variables (local only)

VariableRequiredDefaultNotes
LYRENTH_API_KEYrequirednoneYour key. Free one at /signup.
LYRENTH_API_URLoptionalhttps://api.lyrenth.comPoint the server at a different API host.
Privacy

What leaves your machine

Two things, and nothing else.

The URLs you ask it to read, and your key, so the call can be authenticated and metered. No page content you hold locally, no conversation context, no telemetry. How fetched pages and account data are handled is covered by the privacy policy.

Get a key, connect, read.

The free tier needs no card, and the same key works on every surface.