Skip to main content
Glama
lyrenth

Lyrenth

Official

Lyrenth MCP 服务器

lyrenth-mcp MCP server

Listed on mcpservers.org

M8ven Live Monitored

通过 Lyrenth 的索引,从任意 MCP 客户端读取网页。

该服务器暴露了三个工具:

  • read_url 将公开网页转换为干净的 AIDocument:稳定的 Markdown 以及标题、描述和结构,并去除导航和样板内容。你的代理读取的是经过清理的低 token 内容,而不是原始 HTML,每个结果都会显示相比原始页面节省了多少 token。

  • read_urls 在单次批量调用中对最多 20 个 URL 执行相同操作。

  • check_usage 报告你的套餐等级和额度使用情况。

读取通过 Lyrenth 的跨调用方缓存解析;对于已验证的域名,会返回发布者的规范版本。

每个工具都将全部四种 MCP 工具注解(只读、非破坏性、幂等、开放或封闭世界)声明为显式布尔值,HTTP 传输层自带一套 14 项测试,涵盖其安全态势。

托管服务,无需安装

如果你的 MCP 客户端支持带自定义请求头的远程 HTTP 服务器(Claude 和 Cursor 的远程连接器支持),则无需运行任何程序:

  • URL:https://api.lyrenth.com/mcp

  • 请求头:Authorization: Bearer aiwk_your_key_here

同样是三个工具,同一个密钥。下面的 npx 路径适用于通过 stdio 使用 MCP 的客户端,也适用于偏好本地进程的用户。

Related MCP server: Exa MCP Server

设置

  1. https://lyrenth.com/signup 获取免费 API 密钥(每月 2,000 次读取,无需信用卡)。

  2. 将服务器添加到你的 MCP 客户端。

Claude Desktop(一键安装)

最新版本下载 lyrenth-mcp.mcpb 并打开。Claude Desktop 会安装该服务器并询问你的 API 密钥;无需编辑任何配置文件。该捆绑包包含与 npm 包相同的代码。

要自行构建:./scripts/build-mcpb.sh

Claude Desktop / Cursor(手动配置)

在你的 MCP 配置中添加以下内容(Claude Desktop:claude_desktop_config.json):

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

Claude Code

claude mcp add lyrenth -e LYRENTH_API_KEY=aiwk_your_key_here -- npx -y lyrenth-mcp

然后让你的助手读取一个页面,例如:"读取 https://example.com/article 并总结它。" 它会调用 read_url 并返回清理后的 AIDocument。

工具

工具

参数

返回

read_url

url(字符串,必填)、fresh(布尔值,可选)、max_tokens(整数,可选)

该页面作为一个干净的 AIDocument:一段简短的来源信息头(token 数 + 相比原始 HTML 小多少)加上 Markdown 正文。fresh: true 会强制重新抓取而不是使用缓存副本;max_tokens 将正文限制在你的上下文预算内,并在干净的段落或句子边界处截断。

read_urls

urls(包含 1-20 个字符串的数组,必填)、fresh(布尔值,可选)、max_tokens(整数,可选)

单次调用最多 20 个页面,每个页面都是一个干净的 AIDocument,并具有按 URL 的错误隔离(失败的 URL 会被报告,且不会阻塞其他 URL)。每个成功读取的 URL 计 1 次额度。

check_usage

你的套餐等级、相对于月度限额已使用的额度、剩余额度以及重置日期。

配置

环境变量

必填

默认值

备注

LYRENTH_API_KEY

https://lyrenth.com/signup 获取免费密钥

LYRENTH_API_URL

https://api.lyrenth.com

用于预发布或自托管的覆盖设置

为什么要通过 Lyrenth 读取

  • 更干净、更便宜。 每个 URL 对应一种稳定的 AIDocument 形态;与原始 HTML 相比,模型所需的 token 要少得多。

  • 跨调用方缓存。 同一个 URL 被多个代理获取时,会合并为最少数量的源站请求,因此速度快且对源站友好。

  • 验证后可获得规范版本。 当网站所有者通过 Lyrenth 完成验证后,你会获得他们编写的版本,并通过他们的变更信号保持最新。

隐私

该服务器只会向 Lyrenth 的 API(api.lyrenth.com)发送两样东西:你要求它读取的 URL,以及用于对调用进行身份验证和计量的 API 密钥。除此之外,没有任何其他内容离开你的机器:没有你本地保存的页面内容,没有对话上下文,也没有遥测数据。Lyrenth 如何处理抓取的页面和账户数据,由隐私政策说明:https://www.lyrenth.com/privacy

许可证

MIT。参见 LICENSE

本地构建

npm install
npm run build
LYRENTH_API_KEY=aiwk_... node dist/index.js   # speaks MCP over stdio

属于 Lyrenth 项目的一部分。AIDocument 格式是一种开放契约;参见 https://lyrenth.com/llms-full.txt

Available Tools

3 tools
check_usageCheck usageA
Read-onlyIdempotent

Check your Lyrenth credit usage: plan tier, credits used against your monthly limit, credits remaining, and the reset date. Takes no arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful behavioral context by specifying what the check returns (plan tier, usage counters, reset date) and explicitly confirming it takes no arguments, without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single well-structured sentence that front-loads the purpose, lists the returned values, and ends with the no-argument note. Every part earns its place with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-argument, read-only usage query with no output schema, the description supplies the needed return-value details and relies on annotations for the safety profile. No important calling information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema coverage is effectively complete, so the baseline is 4. The description reinforces this with 'Takes no arguments,' though it adds no additional parameter meaning beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check') and resource ('Lyrenth credit usage'), and enumerates the exact data returned: plan tier, credits used, credits remaining, and reset date. This clearly distinguishes it from sibling tools that read URLs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intended use obvious by naming the resource and key output fields, and the sibling tools are unrelated URL readers. It does not explicitly state when not to use it or name alternatives, but no exclusion is needed given the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_urlRead URLA
Read-onlyIdempotent

Read any public web page as a clean AIDocument: Markdown plus title, description, and structure, with navigation and boilerplate stripped. Prefer this over a raw HTTP fetch whenever you need the content of a web page; it returns far cleaner, lower-token text. Powered by Lyrenth.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute http(s) URL of the page to read.
freshNoForce a fresh fetch instead of the cached version. Slower; default false.
max_tokensNoCap the returned content to roughly this many tokens, trimmed at a clean paragraph or sentence boundary. Use it when you have a tight context budget.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the tool as read-only, idempotent, and non-destructive. The description adds valuable behavioral context: it strips navigation and boilerplate, returns lower-token text, and produces a structured AIDocument rather than raw HTML. It does not contradict the annotations, though it omits details about error behavior, redirects, or non-HTML content.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences and front-loads the purpose and output format before giving usage guidance. The phrase 'Powered by Lyrenth' adds little operational value, but the overall text remains concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with rich annotations and fully documented parameters, the description gives sufficient context to select and invoke it correctly: it explains what content is read, what output form is returned, and when to prefer it. It lacks explicit edge-case behavior and does not route to the sibling 'read_urls', but these are minor given the schema and annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all three parameters (url, fresh, max_tokens) already documented in the input schema. The tool description adds no extra parameter semantics beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Read any public web page as a clean AIDocument,' and details the output form (Markdown plus title, description, structure, stripped boilerplate). It clearly defines what the tool does, though it does not explicitly contrast itself with the sibling 'read_urls', leaving some differentiation to the tool name and plural form.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to 'Prefer this over a raw HTTP fetch whenever you need the content of a web page,' giving a clear when-to-use signal and naming an alternative. It does not state when not to use it or when to choose the sibling 'read_urls', so exclusions and sibling routing are incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_urlsRead URLs (batch)A
Read-onlyIdempotent

Read several public web pages in one batch call, each as a clean AIDocument. Up to 20 URLs, faster than calling read_url repeatedly. Use it to compare or summarize multiple pages at once; a failed URL is reported per-item and does not block the others. Powered by Lyrenth.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes1-20 absolute http(s) URLs to read.
freshNoForce a fresh fetch for all URLs instead of cached versions. Slower; default false.
max_tokensNoCap each returned document to roughly this many tokens.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as read-only, idempotent, and non-destructive. The description adds valuable behavior: per-item failure isolation, a clean AIDocument output, the 20-URL cap, and a rationale for using the batch version.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose, usage guidance, and failure behavior are front-loaded in three crisp sentences. The closing 'Powered by Lyrenth' is minor filler that prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple batch-read tool with rich annotations and full schema coverage, the description provides all the operational context an agent needs: result format, failure handling, batch scope, and use case. The absence of an output schema is mitigated by the clear 'clean AIDocument' statement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents urls, fresh, and max_tokens. The description adds no additional parameter-level meaning, which makes the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: reading multiple public web pages in one batch and returning clean AIDocuments. It distinguishes itself from read_url by the 20-URL batch capability and the explicit use case of comparing or summarizing multiple pages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear usage scenario: compare or summarize multiple pages at once, and notes it is faster than calling read_url repeatedly. It does not explicitly say 'use read_url for a single URL,' but the contrast with the sibling tool makes the boundary clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.4/5.0
Disambiguation5/5

read_url and read_urls are clearly distinguished by single vs. batch operation, and check_usage is entirely distinct. No overlap or ambiguity exists.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case: read_url, read_urls, check_usage. The pluralization for batch is intuitive and predictable.

Tool Count5/5

Three tools is well-scoped for a URL-reading service. Each tool serves a clear purpose without redundancy or bloat.

Completeness5/5

The domain of reading public web pages is fully covered with single and batch operations. check_usage adds useful account awareness. No obvious gaps for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
    8
    25,462
    4,896
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Exposes the Exa web search API as an MCP server, providing tools for web searching, content retrieval, and similar page discovery. It also supports advanced features like AI-generated answers and automated research task management.
    9
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lyrenth/lyrenth-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server