Token导航 LogoToken导航TokenDH.com
MCP Broken Link Checker logo
运维云端stdio官方级别未说明来源级核验

MCP Broken Link Checker

MCP Server

一个提供断链检查功能的MCP服务器,支持流式HTTP传输,适用于AI助手检查URL、扫描网页和爬取整个网站的断链。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
网页爬取TypeScriptClaudeHTTP传输Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

davinoishi

提供方

davinoishi

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 3000:3000 broken-link-checker-mcp

详细介绍

断链检查器MCP服务器

一个模型上下文协议(MCP)服务器,它提供可流式传输的HTTP传输能力以进行链接检查。该服务器使像Claude这样的AI助手能够检查URL、扫描网页,并爬取整个网站以查找损坏的链接。

特点

  • 四个强大的工具 用于链接检查:

- check_url - 验证单个URL - check_html - 检查HTML内容中的所有链接 - check_page - 获取网页上的所有链接并检查它们 - check_site - 递归地抓取并检查整个网站

  • 可流式传输的HTTP传输 - 准备就绪以使用无服务器架构,无需持久连接
  • JSON-RPC 2.0 - 支持标准MCP协议
  • 综合结果 - 状态码、重定向、响应时间以及详细的错误信息
  • 可配置选项 - 超时设置、重定向处理、自定义用户代理

安装

npm install
npm run build

用法

运行服务器

开发模式:

npm run dev

生产模式:

npm run build
npm start

服务器默认将在3000端口启动(可通过配置调整) PORT 环境变量)。

终点(或端点)

  • 健康检查: GET /health
  • MCP端点: POST /mcp

与Claude代码一起使用

在您的MCP设置中添加:

claude mcp add --transport http broken-link-checker http://localhost:3000/mcp

或者手动添加到您的MCP配置中:

{
  "mcpServers": {
    "broken-link-checker": {
      "transport": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

工具

1. 检查网址

检查单个URL是否正常或已损坏。

参数:

  • url (字符串,必填)- 要检查的URL
  • timeout (数字,可选)- 请求超时时间,单位为毫秒(默认:30000)
  • followRedirects (布尔值,可选) - 是否跟随重定向(默认:true)
  • maxRedirects (数字,可选)- 最大重定向次数(默认:5)
  • userAgent (字符串,可选)- 自定义的用户代理字符串

示例:

{
  "tool": "check_url",
  "arguments": {
    "url": "https://example.com",
    "timeout": 10000
  }
}

回答:

{
  "url": "https://example.com",
  "status": 200,
  "statusText": "OK",
  "broken": false,
  "responseTime": 123
}

2. 检查HTML

检查HTML内容中的所有链接。

参数:

  • html (字符串,必需) - 要检查的HTML内容
  • baseUrl (字符串,必填) - 解析相对链接的基础URL
  • 所有选项来自 check_url

示例:

{
  "tool": "check_html",
  "arguments": {
    "html": "About",
    "baseUrl": "https://example.com"
  }
}

回答:

{
  "totalLinks": 5,
  "brokenLinks": 1,
  "workingLinks": 4,
  "results": [...]
}

3. 检查页面

获取一个网页并检查其中的所有链接。

参数:

  • url (字符串,必填)- 要检查的页面的URL
  • 所有选项来自 check_url

示例:

{
  "tool": "check_page",
  "arguments": {
    "url": "https://example.com"
  }
}

回复:

{
  "page": {
    "url": "https://example.com",
    "status": 200,
    "broken": false
  },
  "totalLinks": 25,
  "brokenLinks": 2,
  "workingLinks": 23,
  "links": [...]
}

4. 检查网站

递归地抓取并检查网站上的所有链接。

参数:

  • url (字符串,必填)- 网站的起始URL
  • maxPages (数字,可选)- 要检查的最大页面数(默认:50)
  • 所有选项来自 check_url

示例:

{
  "tool": "check_site",
  "arguments": {
    "url": "https://example.com",
    "maxPages": 10
  }
}

回答:

{
  "totalPages": 10,
  "totalLinks": 150,
  "brokenLinks": 5,
  "workingLinks": 145,
  "pages": [...]
}

会话使用示例

一旦连接到Claude Code,您就可以使用自然语言:

"Check if https://example.com is working"
"Scan https://mysite.com and find all broken links"
"Crawl https://blog.example.com and report any 404 errors"
"Check all the links on this page: https://docs.example.com/api"

API 示例

直接HTTP请求

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "check_url",
      "arguments": {
        "url": "https://example.com"
      }
    }
  }'

列出可用工具

curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

部署

Docker

创建一个 Dockerfile

FROM node:22-alpine

WORKDIR /app

COPY package*.json ./
RUN npm ci --production

COPY dist ./dist

EXPOSE 3000

CMD ["node", "dist/index.js"]

构建并运行:

npm run build
docker build -t broken-link-checker-mcp .
docker run -p 3000:3000 broken-link-checker-mcp

云部署

此服务器采用可流式传输的HTTP传输方式,并已准备好支持无服务器架构。部署至:

  • Google Cloud Run - 空闲时自动归零
  • AWS Elastic Beanstalk(亚马逊网络服务 弹性豆茎服务) - 管理的Node.js托管服务
  • Azure 应用服务 - 集成部署
  • 渲染 一键部署
  • 铁路 - 基于Git的部署

建筑学(或“建筑”)

这个实现使用了:

  • Express.js - HTTP服务器
  • MCP SDK(MCP软件开发工具包) - 模型上下文协议实现
  • 得到了 - 用于链接检查的HTTP客户端
  • parse5(解析器5) - HTML解析
  • TypeScript - 类型安全的实现
  • 佐德 - 运行时模式验证

与原始的断链检查器进行比较

这个MCP服务器提供:

  • ✅ 支持MCP协议以集成AI
  • ✅ HTTP传输(无状态,已准备好使用无服务器架构)
  • 简洁、专注的API
  • ✅ 现代TypeScript实现

原始图书馆提供:

  • 高级HTML解析选项
  • 机器人排除协议支持
  • 命令行界面(CLI)
  • 基于事件发射器的流处理
  • 更细致的配置

许可证

麻省理工学院(MIT)

做出贡献

欢迎贡献!这是一个参考实现,可以扩展以下功能:

  • 额外的链接检查选项
  • 更好的错误处理
  • 缓存层
  • 速率限制
  • 认证支持
  • Webhook通知

致谢/鸣谢

受到……的启发 断链检查器 由史蒂文·瓦尚(Steven Vachon)所著/所制/等(具体根据上下文确定,此处为泛指创作或相关贡献)。

目录标签

目录标签

网页爬取TypeScriptClaudeHTTP传输断链检查本地部署MCP服务器AI集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP