Skip to main content

MCP server for broken link detection, monitoring, and AI-powered fix suggestions

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linkrescue_mcp-0.1.1.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linkrescue_mcp-0.1.1-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file linkrescue_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: linkrescue_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for linkrescue_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9af6617a12bc10d75ccb3cae898319414503573c11da97fa7cd10390af789f6b
MD5 5a52a59951c12e926d9cb7eb4c1a2ae7
BLAKE2b-256 12dca2b53707aca1e2b397cd8689026b9238c0f4d739628b0426e0e03b3cf72a

See more details on using hashes here.

File details

Details for the file linkrescue_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: linkrescue_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for linkrescue_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 933e81771f424c473e9b2d3b874673fd9d772eb38c4b14f252f9501a68bd7140
MD5 6bd0994adb2705f032649907808f3f99
BLAKE2b-256 152dc9dc3dfeb478f71c5b2a000de955933f9275260cf683c9649d676c8be9ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page