失效链接检测 MCP 服务

LinkRescue MCP Server 是一个用于失效链接检测与修复的 MCP 服务,支持扫描网站或站点地图、持续监控链接状态,并为 AI 代理生成可执行的修复建议,主要应用于联盟营销和网站维护场景。

  • by carsonroell-debug
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 carsonroell-debug/linkrescue-mcp

使用说明

LinkRescue MCP Server

Find broken affiliate links fast, prioritize by impact, and generate fix suggestions your AI agent can act on.

One call. 38+ affiliate networks checked. Silent tracking failures caught.

One-click install: Install on MCPize | pip install linkrescue-mcp

LinkRescue MCP exposes broken-link scanning, monitoring, and remediation workflows through the Model Context Protocol (MCP), so tools like Claude and Cursor can run link-health operations directly.

What You Get

  • check_broken_links: scan a URL (or sitemap) and return a structured broken-link report
  • monitor_links: set up recurring monitoring for a website
  • get_fix_suggestions: generate prioritized remediation recommendations
  • health_check: verify MCP server and backend API connectivity

If the LinkRescue backend API is unreachable, tools raise an error naming the endpoint they could not reach. They never return invented findings. For local testing, set LINKRESCUE_DEMO_MODE=1 to get sample data — every simulated payload carries "simulated": true and an explicit warning.

Hosted endpoint (no install)

LinkRescue runs a remote MCP server at https://www.linkrescue.io/api/mcp (streamable HTTP). Get a free API key at linkrescue.io/signup, then point any remote-capable MCP client at it:

{
  "mcpServers": {
    "linkrescue": {
      "url": "https://www.linkrescue.io/api/mcp",
      "headers": { "Authorization": "Bearer lr_your_api_key" }
    }
  }
}

The hosted server exposes check_links, start_site_scan, get_scan and get_fix_suggestions. It never returns simulated data. The stdio package below is for local and offline use.

Quick Start

{
  "mcpServers": {
    "linkrescue": {
      "command": "linkrescue-mcp"
    }
  }
}

Then ask your AI agent:

"Scan example.com for broken affiliate links"

Free vs Pro

Tool Free Pro Agency
health_check Yes Yes Yes
check_broken_links (up to 50 pages) Yes Yes Yes
check_broken_links (up to 2,000 pages) - Yes Yes
check_broken_links (unlimited + sitemap crawl) - - Yes
get_fix_suggestions - Yes Yes
monitor_links (daily) - Yes Yes
monitor_links (hourly + webhooks) - - Yes
Multi-site monitoring - 5 sites 25 sites

Free tier gives you single-page broken-link checks. Pro unlocks the full crawler + fix suggestions + recurring monitoring. Agency adds hourly checks, webhooks, and unlimited site count.

Current pricing lives at linkrescue.io/pricing — that page is the single source of truth. Install on MCPize.

Install

MCPize (Recommended)

One-click install with managed hosting: Install on MCPize

PyPI

pip install linkrescue-mcp
linkrescue-mcp

From source

git clone https://github.com/carsonroell-debug/linkrescue-mcp.git
cd linkrescue-mcp
pip install -r requirements.txt
python main.py

MCP endpoint:

  • http://localhost:8000/mcp

Configuration

Variable Description Default
LINKRESCUE_API_BASE_URL Base URL for LinkRescue API https://www.linkrescue.io/api/v1
LINKRESCUE_API_KEY API key for authenticated requests empty
LINKRESCUE_DEMO_MODE Return labelled sample data instead of erroring when the API is unreachable. Off by default — never enable against a real site. empty (off)

Example:

export LINKRESCUE_API_BASE_URL="https://www.linkrescue.io/api/v1"
export LINKRESCUE_API_KEY="your-api-key"
linkrescue-mcp

Get an API key at linkrescue.io/settings/api (Pro and Agency tiers only).

Running Options

Run via the installed entry point:

linkrescue-mcp

Run directly from source:

python main.py

Run via FastMCP CLI:

fastmcp run main.py --transport streamable-http --port 8000

Connect an MCP Client

Claude Desktop

Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "linkrescue": {
      "command": "linkrescue-mcp"
    }
  }
}

Claude Code

claude mcp add linkrescue --transport http http://localhost:8000/mcp

Try It

fastmcp list-tools main.py
fastmcp call-tool main.py health_check '{}'
fastmcp call-tool main.py check_broken_links '{"url":"https://example.com"}'

Tool Inputs and Outputs

check_broken_links

Inputs:

  • url (required): site URL to scan
  • sitemap_url (optional, Agency tier): crawl from sitemap
  • max_depth (optional, default 3): crawl depth

Returns scan metadata, broken-link details, and summary statistics. Affiliate links that resolve but have lost their tracking parameters are reported as exposure — a count of links that earn nothing when clicked. LinkRescue does not estimate lost revenue; multiply by your own RPM.

monitor_links

Inputs:

  • url (required)
  • frequency_hours (optional, default 24; Agency tier supports 1)

Returns monitoring ID, schedule details, and status. Free tier returns a simulated monitor (no persistence).

get_fix_suggestions

Input:

  • full report from check_broken_links, or
  • raw broken_links array, or
  • JSON string of either format

Returns prioritized actions and suggested remediation steps. Pro and Agency tiers only.

health_check

No input. Returns server status and backend API reachability.

Deployment

Smithery

This repo includes smithery.yaml and smithery.json.

  1. Push repository to GitHub
  2. Create/add server in Smithery
  3. Point Smithery to this repository

Docker / Hosting Platforms

A Dockerfile is included for Railway, Fly.io, and other container hosts.

# Railway
railway up

# Fly.io
fly launch
fly deploy

Set LINKRESCUE_API_BASE_URL and LINKRESCUE_API_KEY in your host environment.

Architecture

Agent (Claude, Cursor, etc.)
  -> MCP
LinkRescue MCP Server (this repo)
  -> HTTP API
LinkRescue Backend API (linkrescue.io)

This server is a translation layer between MCP tool calls and LinkRescue API operations.

License

MIT — Built by Freedom Engineers

Related

Additional README Variants

  • Developer-focused version: README.dev.md
  • Marketplace-focused version: README.marketplace.md