Skip to main content
Glama

LinkRescue MCP Server

PyPI License: MIT MCPize

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

One call. 38+ affiliate networks checked. Revenue loss estimated.

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

Related MCP server: webcheck-mcp

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 ($19/mo)

Agency ($29/mo)

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

Revenue loss estimates

-

Yes

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.

Upgrade to Pro on MCPize — $19/mo or $190/yr. Agency $29/mo or $290/yr.

Install

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

http://localhost:3000/api/v1

LINKRESCUE_API_KEY

API key for authenticated requests

empty

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

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. Pro and Agency tiers include estimated monthly revenue loss for broken affiliate 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

Additional README Variants

  • Developer-focused version: README.dev.md

  • Marketplace-focused version: README.marketplace.md

Available Tools

4 tools
get_fix_suggestionsA

Given a broken links report, returns prioritized remediation suggestions.

Each suggestion includes the broken URL, a recommended action (update link, follow redirect, remove, etc.), a human-readable explanation, and a code snippet where applicable.

Accepts either the full JSON report from check_broken_links or just the broken_links array.

ParametersJSON Schema
NameRequiredDescriptionDefault
broken_links_reportYesThe scan report (JSON string or dict) from check_broken_links.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the tool's output format (prioritized suggestions with specific fields) and input flexibility (accepts full JSON or just array). However, it doesn't mention performance characteristics, error handling, or whether this is a read-only operation (though implied by 'returns').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly front-loaded with the core purpose in the first sentence, followed by details about output format and input flexibility. Every sentence adds value with zero waste. The structure flows logically from purpose to output details to input requirements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (which covers return values), no annotations, and 100% schema coverage, the description provides good context about purpose, usage, and behavioral aspects. However, for a tool that processes potentially complex broken link data, more detail about prioritization logic or suggestion criteria would enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context by explaining the parameter accepts either 'the full JSON report from check_broken_links or just the broken_links array' - clarifying format flexibility beyond what the schema's 'anyOf' indicates. This elevates the score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('returns prioritized remediation suggestions') and resources ('broken links report'). It distinguishes from sibling tools by specifying it processes output from 'check_broken_links' rather than performing scanning or monitoring itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('Given a broken links report') and mentions the specific sibling tool 'check_broken_links' as the source. However, it doesn't explicitly state when NOT to use it or mention alternatives among the other siblings like 'health_check' or 'monitor_links'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkA

Confirms the LinkRescue MCP server is alive and can reach the backend API.

Use this to verify connectivity before running scans. Returns server status, API reachability, and current configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing what the tool returns ('server status, API reachability, and current configuration') and its verification purpose. It doesn't mention error behavior or performance characteristics, but provides solid operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Perfectly structured with two sentences: first states purpose, second provides usage guidance and return values. Every word earns its place with zero redundancy or wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a zero-parameter health check tool with output schema. The description explains what it does, when to use it, and what it returns - covering all necessary context given the tool's simplicity and available structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters with 100% schema coverage, so baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on the tool's purpose and output.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('confirms', 'verify connectivity') and resources ('LinkRescue MCP server', 'backend API'). It distinguishes from siblings by focusing on server health rather than link scanning or monitoring operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool ('before running scans') and provides clear context about its verification purpose. The description distinguishes it from sibling tools that perform actual link operations rather than connectivity checks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: check_broken_links for scanning, get_fix_suggestions for remediation, health_check for connectivity, and monitor_links for ongoing monitoring. There is no overlap or ambiguity in their functions.

Naming Consistency4/5

The tools follow a consistent verb_noun pattern (check_broken_links, get_fix_suggestions, monitor_links), with one minor deviation (health_check uses noun_verb). This is mostly consistent and readable.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of broken link detection and management. Each tool earns its place, covering scanning, remediation, monitoring, and health checks without being too sparse or bloated.

Completeness5/5

The tool set provides complete coverage for the domain: check_broken_links for detection, get_fix_suggestions for remediation, monitor_links for ongoing tracking, and health_check for connectivity. There are no obvious gaps, and agents can follow a full workflow from scan to fix to monitoring.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    MCP server for website SEO + GEO analysis. Scan any URL to get scores across 5 categories (SEO, GEO, Performance, Security, Accessibility) with actionable fix recommendations. Enables AI coding assistants to audit websites and implement fixes autonomously.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Website health checker MCP server - SEO audit, accessibility scan, broken link detection, performance analysis, and page comparison.
    79
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/carsonroell-debug/linkrescue-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server