Skip to main content

LinkRescue MCP Server

PyPI License: MIT

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

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, the server falls back to realistic simulated data so local testing and demos keep working.

Requirements

  • Python 3.11+
  • pip

Quick Start

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 http://localhost:3000/api/v1
LINKRESCUE_API_KEY API key for authenticated requests empty

Example:

export LINKRESCUE_API_BASE_URL="https://your-api.example.com/api/v1"
export LINKRESCUE_API_KEY="your-api-key"
python main.py

Running Options

Run directly:

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": {
      "url": "http://localhost:8000/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): crawl from sitemap
  • max_depth (optional, default 3): crawl depth

Returns scan metadata, broken-link details, and summary statistics.

monitor_links

Inputs:

  • url (required)
  • frequency_hours (optional, default 24)

Returns monitoring ID, schedule details, and status.

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.

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

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

Additional README Variants

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

Metadata

Release files for linkrescue-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for linkrescue-mcp 0.1.1
File Size Uploaded
linkrescue_mcp-0.1.1.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for linkrescue-mcp 0.1.1
File Interpreter ABI Platform
linkrescue_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.0 kB

Release files / linkrescue_mcp-0.1.1.tar.gz

Download URL linkrescue_mcp-0.1.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9af6617a12bc10d75ccb3cae898319414503573c11da97fa7cd10390af789f6b
BLAKE2b-256 checksum
How to use checksums
12dca2b53707aca1e2b397cd8689026b9238c0f4d739628b0426e0e03b3cf72a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / linkrescue_mcp-0.1.1-py3-none-any.whl

Download URL linkrescue_mcp-0.1.1-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
933e81771f424c473e9b2d3b874673fd9d772eb38c4b14f252f9501a68bd7140
BLAKE2b-256 checksum
How to use checksums
152dc9dc3dfeb478f71c5b2a000de955933f9275260cf683c9649d676c8be9ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page