mcpField
L
link-check-lite

link-check-lite

本地服务
github.com开发工具04 天前更新

关于 link-check-lite

link-check-lite 检查给定网页链接的状态码、失效情况和重定向目标,面向需要本地命令行或 MCP 检查、而非整站爬取的开发者和网站维护者。

主要功能

  1. 01检查 HTTP 状态码
  2. 02识别失效链接
  3. 03显示重定向链和最终 URL
  4. 04从文本文件读取链接
  5. 05提供命令行、Python API 和 MCP 服务

适用场景

  1. 01发布前验证链接
  2. 02在 CI 工作流中检查链接列表
  3. 03让 AI 应用检查指定 URL

MCP 相关

内置 MCP 服务提供 `check_links`,每次调用最多检查 200 个指定 URL。它为每个链接返回状态、最终 URL、重定向和错误信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"tidybytetools-link-check-lite": {
"command": "uvx",
"args": [
"link-check-lite"
]
}
}
}
启动命令uvx link-check-lite

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypilink-check-lite1.1.1

工具

1

收录的工具列表 · 更新于 4 天前

参数类型必填说明
urlsarray是
timeoutnumber否

详细介绍

Tidy Byte Tools

link-check-lite

License: MIT Python 3.10+ MCP server MCP Registry PyPI downloads Glama score

免费。无需 API 密钥。在你自己的计算机上运行。只访问你提供的链接。

用于检查链接列表的工具。它会告诉你哪些链接正常、哪些已失效,以及重定向最终到达的位置。 需要站点地图、速度检查、可疑域名警告或 CSV 报告?付费版可提供这些功能:在 Gumroad 上购买 link-check

采用 MIT 许可证。适用于 Windows、Mac 和 Linux,需要 Python 3.10 或更高版本。检查器本身仅使用 Python 内置工具。

安装

pip install link-check-lite

或者使用 pipx,它会将程序安装在独立空间中:

pipx install link-check-lite

想要直接使用 GitHub 上的最新代码?

pip install git+https://github.com/tidybytetools/link-check-lite

使用方法

将链接放入文本文件,每行一个。以 # 开头的行会被跳过。

link-check-lite links.txt
link-check-lite links.txt -w 3 --timeout 20   # gentler and more patient

运行示例:

OK   200 https://example.com/
OK   200 https://httpbin.org/redirect/2  -> https://httpbin.org/get (2 redirects)
FAIL 404 https://example.com/old-page
FAIL --- https://no-such-site.example  ([Errno -2] Name or service not known)

4 checked, 2 ok, 2 broken

所有链接正常时,退出代码为 0;任意链接失效时,退出代码为 1,因此可用于 cron 作业或 CI。

在终端中运行时,程序会在结尾显示一行关于付费版的简短提示。使用 --quiet 可关闭此提示;将输出通过管道传递时则不会显示。

已知限制

  • 有些网站会屏蔽机器人。 即使页面在浏览器中能正常打开,它们也可能返回 403 或 429。
  • 不支持 JavaScript。 不会跟随由 JavaScript 执行的重定向。
  • 仅支持文本文件。 不支持 CSV 输入和站点地图,结果会打印到屏幕上。
  • 不检查 robots.txt,也没有针对各网站的速率限制。 它会同时检查 5 个链接,并稍作停顿。不要用它检查单个网站上的数千个页面。
  • 不是安全检查工具。 它不会告诉你链接是否属于骗局。

Lite 版与付费版

lite(免费)link-check
状态码和失效链接是是
重定向链和最终 URL是是
文本文件输入是是
CSV 输入和站点地图 URL(含站点地图索引)否是
响应时间和慢速链接标记否是
http 与 https 检查否是
相似域名和可疑域名警告(本地规则)否是
robots.txt 和每个网站每秒一次请求否是
CSV、JSON 和 Markdown 报告否是

与其他免费工具的比较

以下工具均免费。选择适合你的工具即可。

link-check-litelycheelinkcheckermuffet
检查纯链接列表是是否,会爬取网站否,会爬取网站
爬取整个网站否否是是
安装方式pip二进制文件 / cargopip二进制文件 / go
内置 AI 应用 MCP 服务是否否否
选项丰富否是是是

如果你需要爬取大型网站,或检查 Markdown 文件中的链接,lychee 和 linkchecker 都是很好的选择。

在 AI 应用中使用(MCP)

内置了一个小型免费 MCP 服务。它为你的 AI 应用提供一个工具:check_links。无需 API 密钥或账号。它需要 uv,安装后会提供 uvx 命令。

手动运行,检查它能否启动(它会安静地等待应用与其通信):

uvx --from link-check-lite link-check-lite-mcp

更简便的方式是启动同一个服务:uvx link-check-lite mcp。

选择下面的应用并复制对应代码块。保存后重启应用。

Claude Desktop

打开 设置 > 开发者 > 编辑配置。这会打开 claude_desktop_config.json。添加以下内容:

{
  "mcpServers": {
    "link-check-lite": {
      "command": "uvx",
      "args": ["--from", "link-check-lite", "link-check-lite-mcp"]
    }
  }
}

如果 Claude 提示找不到 uvx,运行 which uvx(Mac/Linux)或 where uvx(Windows),并将完整路径填入 "command"。

Cursor

将相同的代码块放入 ~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目):

{
  "mcpServers": {
    "link-check-lite": {
      "command": "uvx",
      "args": ["--from", "link-check-lite", "link-check-lite-mcp"]
    }
  }
}
VS Code

VS Code 使用 servers,而不是 mcpServers。将以下内容放入项目中的 .vscode/mcp.json,或运行 MCP: 打开用户配置,以便在所有项目中使用:

{
  "servers": {
    "link-check-lite": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "link-check-lite", "link-check-lite-mcp"]
    }
  }
}

也可以通过一条命令添加:

code --add-mcp '{"name":"link-check-lite","type":"stdio","command":"uvx","args":["--from","link-check-lite","link-check-lite-mcp"]}'
Cline

在 Cline 面板中,点击 MCP Servers 图标,打开 配置,然后点击 配置 MCP Servers。在 mcpServers 中添加以下内容:

{
  "mcpServers": {
    "link-check-lite": {
      "command": "uvx",
      "args": ["--from", "link-check-lite", "link-check-lite-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Codex

一条命令:

codex mcp add link-check-lite -- uvx --from link-check-lite link-check-lite-mcp

或者将以下内容添加到 ~/.codex/config.toml:

[mcp_servers.link-check-lite]
command = "uvx"
args = ["--from", "link-check-lite", "link-check-lite-mcp"]
Gemini CLI

此仓库也是一个 Gemini CLI 扩展。使用以下命令安装:

gemini extensions install https://github.com/tidybytetools/link-check-lite

工具:check_links(urls, timeout=10.0)。最多发送 200 个链接。每个链接都会返回一条结果。

在 GitHub Actions 中使用

Link Check Lite 已上架 GitHub Marketplace。 每次推送时检查链接。将链接放入文本文件,每行一个。然后将此步骤添加到工作流中:

- uses: actions/checkout@v7
- uses: tidybytetools/link-check-lite@v1
  with:
    file: links.txt          # one link per line
    # fail-on-broken: "false"  # pass even if some links are broken

@v1 始终指向最新的 1.x 版本。若要固定到某个具体版本,请使用完整标签,例如 @v1.1.2。

只要有任何链接失效,该步骤就会失败。它还会在运行摘要中生成简短报告。它会从 PyPI 安装 link-check-lite。你的链接只会发送到它们所指向的网站。

输入
输入默认值作用
filelinks.txt每行包含一个链接的文本文件。以 # 开头的行会被跳过。
workers5同时检查的链接数量。
timeout10每个链接的等待秒数。
fail-on-brokentrue设为 false,即使部分链接失效,步骤也会通过。
version(空)PyPI 上的 link-check-lite 版本。留空则使用最新版本。
python-version3.12要安装的 Python 版本。
输出
输出含义
checked已检查的链接数量。
ok正常的链接数量。
broken失效的链接数量。

在 Python 中使用

from link_check_lite import check_link
print(check_link("https://example.com"))
# {'url': 'https://example.com', 'status': 200, 'ok': True, 'final_url': 'https://example.com', 'redirects': [], 'error': None}

面向 AI Agent

  • 适用场景: 你需要确认网页链接是否有效,以及它们最终重定向到哪里。
  • 不适用场景: 你需要判断链接是否安全、爬取整个网站,或检查速度或 https。上述需求请使用付费版本。
  • 输入: 一个 http(s) URL 列表(每次 MCP 调用最多 200 个),以及可选的秒数参数 timeout。
  • 输出: 一个 {url, status, ok, final_url, redirects, error} 列表。链接无法连接时,status 为 null。ok 为 true 表示状态码在 200-399 之间。redirects 会按跳转顺序列出每次跳转,格式为 "CODE url"。
  • 所有链接都正常时,CLI 退出代码为 0;任何链接失效或发生错误时,退出代码为 1。另请参阅 llms.txt。

测试

pip install "mcp>=1.10,<2"
python3 -m unittest discover tests

测试使用一个小型本地 Web 服务器,因此无需联网。

许可证

MIT。参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。