com.lyrenth/lyrenth-mcp
Read any public web page as a clean AIDocument (Markdown + structure) through Lyrenth.
Open source Open in the app JSON README (API)
About
Read any public web page as a clean AIDocument (Markdown + structure) through Lyrenth.
Details
- Kind
- MCP servers
- Topic
- Files & documents
- Publisher
- com.lyrenth
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.6
- Stars
- 1
- Last push
- 2026-08-27T20:44:24Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 03:01:14
- Updated
- 2026-08-29 03:01:14
- Origin id
com.lyrenth/lyrenth-mcp
README
# Lyrenth MCP server
[](https://glama.ai/mcp/servers/lyrenth/lyrenth-mcp)
[](https://mcpservers.org/servers/lyrenth/lyrenth-mcp)
[](https://m8ven.ai/mcp/lyrenth-lyrenth-mcp-0x2ngd)
Read the web through [Lyrenth](https://lyrenth.com)'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.
## Hosted, no install
If your MCP client supports remote HTTP servers with a custom header
(Claude and Cursor remote connectors do), there is nothing to run:
- URL: `https://api.lyrenth.com/mcp`
- Header: `Authorization: Bearer aiwk_your_key_here`
Same three tools, same key. The npx path below is for clients that
speak MCP over stdio, and for anyone who prefers a local process.
## Setup
1. Get a free API key at <https://lyrenth.com/signup> (2,000 reads/month, no card).
2. Add the server to your MCP client.
### Claude Desktop (one click)
Download `lyrenth-mcp.mcpb` from the
[latest release](https://github.com/lyrenth/lyrenth-mcp/releases/latest) 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`.
### Claude Desktop / Cursor (manual config)
Add to your MCP config (Claude Desktop: `claude_desktop_config.json`):
```json
{
"mcpServers": {
"lyrenth": {
"command": "npx",
"args": ["-y", "lyrenth-mcp"],
"env": { "LYRENTH_API_KEY": "aiwk_your_key_here" }
}
}
}
```
### Claude Code
```sh
claude mcp add lyrenth -e LYRENTH_API_KEY=aiwk_your_key_here -- npx -y lyrenth-mcp
```
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.
## Tools
| 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. |
## Configuration
| 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 |
## Why read through Lyrenth
- **Cleaner, cheaper.** One stable AIDocument shape per URL; far fewer tokens
than raw HTML to a model.
- **Cached across callers.** The same URL fetched by many agents collapses to a
minimal number of origin fetches, so it is fast and origin-friendly.
- **Canonical when verified.** When a site's owner has verified with Lyrenth,
you get the version they authored, kept fresh by their change signal.
## Privacy
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>.
## License
MIT. See [LICENSE](LICENSE).
## Local build
```sh
npm install
npm run build
LYRENTH_API_KEY=aiwk_... node dist/index.js # speaks MCP over stdio
```
Part of the [Lyrenth](https://lyrenth.com) project. The AIDocument format is an
open contract; see <https://lyrenth.com/llms-full.txt>.