Skip to main content
Glama
Rachit8484

geoseo-mcp

by Rachit8484

find_broken_external_links

Detect dead, redirected, and flaky external links across HTML folders, group each URL by status, and list affected pages with suggested fixes.

Instructions

Find dead, redirected, or flaky outbound links across a folder of HTML.

Every external <a href> is collected (mailto:, tel:, javascript: and in-page anchors are skipped) and each unique URL is checked once with HEAD, falling back to GET for servers that refuse HEAD. Results are grouped as ok / redirect / client_error / server_error / timeout / dns_fail / error, and every non-ok link lists the pages it appears on plus a suggested action.

site_host (e.g. "example.com") marks absolute links to your own site as internal so they're skipped. Results are cached locally for cache_days (set 0 to force a fresh check); timeouts are never cached.

Input Schema

NameRequiredDescriptionDefault
folderYes
patternNo*.html
timeoutNo
max_urlsNo
site_hostNo
cache_daysNo
include_okNo
concurrencyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses the HEAD-with-GET-fallback check method, deduplication of unique URLs, the exact result groupings, the per-link page attribution and suggested action, and the caching rules (timeouts never cached, cache_days=0 forces refresh). It omits network-cost/rate-limit implications and permission needs for a tool that makes many outbound requests.

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?

Front-loaded with the purpose, then method, then result structure, then parameter semantics. Every sentence adds information an agent needs; the parenthetical listing skipped schemes and the caching caveat both earn their place.

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?

An output schema exists, so return shape needn't be explained, yet the description helpfully previews the result groupings. For a no-annotation network tool it is nearly complete, but it lacks any note on outbound-request volume, throttling expectations, or failure modes for the folder itself.

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

Parameters3/5

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

Schema description coverage is 0% across 8 parameters, so the description must compensate. It clearly explains site_host (with an example), cache_days (0 = fresh check), and implies timeout behavior, but pattern, max_urls, include_ok, and concurrency are never mentioned, leaving half the surface undocumented.

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 first sentence names a specific verb (find) and a precise resource/scope (dead, redirected, or flaky outbound links across a folder of HTML). It clearly separates this tool from siblings like internal_link_graph or audit_page by emphasizing external links only.

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 establishes the operating context well: it works on a folder of HTML files, collects only external <a href> links, and skips mailto/tel/javascript/anchors. It also explains how site_host converts own-site absolute links to internal so they're skipped. It never explicitly names an alternative tool or states when not to use it, so it falls short of a 5.

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