The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Lyrenth MCP listing page.
Read the web through Lyrenth's index from any MCP client.
Exposes three tools:
read_url turns a public web page into a clean AIDocument: stable
Markdown plus title, description, and structure, with the navigation and
boilerplate stripped. Your agent reads cleaned, low-token content instead of
raw HTML, and every result shows how many tokens it saved vs the raw page.read_urls does the same for up to 20 URLs in one batch call.check_usage reports your plan tier and credit usage.Reads resolve through Lyrenth's cross-caller cache, and for verified domains they return the publisher's canonical version.
Every tool declares all four MCP tool annotations (read-only, non-destructive, idempotent, and open or closed world) as explicit booleans, and the HTTP transport ships with a 14-test suite covering its security posture.
If your MCP client supports remote HTTP servers with a custom header (Claude and Cursor remote connectors do), there is nothing to run:
https://api.lyrenth.com/mcpAuthorization: Bearer aiwk_your_key_hereSame three tools, same key. The npx path below is for clients that speak MCP over stdio, and for anyone who prefers a local process.
Download lyrenth-mcp.mcpb from the
latest release and
open it. Claude Desktop installs the server and asks for your API key; there is
no config file to edit. The bundle carries the same code as the npm package.
To build it yourself: ./scripts/build-mcpb.sh.
Add to your MCP config (Claude Desktop: claude_desktop_config.json):
Then ask your assistant to read a page, for example: "Read
https://example.com/article and summarize it." It will call read_url and get
the cleaned AIDocument back.
| Tool | Arguments | Returns |
|---|---|---|
read_url | url (string, required), fresh (boolean, optional), max_tokens (integer, optional) | The page as a clean AIDocument: a short provenance header (token count + how much smaller than raw HTML) plus the Markdown body. fresh: true forces a fresh fetch instead of the cached copy; max_tokens caps the body to your context budget, trimmed at a clean paragraph or sentence boundary. |
read_urls | urls (array of 1-20 strings, required), fresh (boolean, optional), max_tokens (integer, optional) | Up to 20 pages in one call, each as a clean AIDocument, with per-URL error isolation (a failed URL is reported and doesn't block the others). Billed one credit per successfully-read URL. |
check_usage | none | Your plan tier, credits used against your monthly limit, credits remaining, and the reset date. |
| Env var | Required | Default | Notes |
|---|---|---|---|
LYRENTH_API_KEY | yes | none | Free key at https://lyrenth.com/signup |
LYRENTH_API_URL | no | https://api.lyrenth.com | Override for staging or self-host |
The server sends exactly two things to Lyrenth's API (api.lyrenth.com): the URLs you ask it to read, and your API key to authenticate and meter the call. Nothing else leaves your machine: no page content you hold locally, no conversation context, no telemetry. How Lyrenth handles fetched pages and account data is covered by the privacy policy: https://www.lyrenth.com/privacy.
MIT. See LICENSE.
Part of the Lyrenth project. The AIDocument format is an open contract; see https://lyrenth.com/llms-full.txt.