Map old site URLs to new ones during a migration, review proposals and export approved redirects.
Connect Remote server
claude mcp add --transport http redirx https://app.redirx.dev/mcp
{
"mcpServers": {
"redirx": {
"url": "https://app.redirx.dev/mcp"
}
}
}
{
"servers": {
"redirx": {
"type": "http",
"url": "https://app.redirx.dev/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://app.redirx.dev/mcp
Tools 12 found in our last check
plan_migrationCreate an owned old-site/new-site plan. Next call import_inventory for the old and new URL lists; planning does not crawl or run the model.
import_inventoryImport explicit HTTP(S) URL strings into an owned, immutable old or new inventory. No crawl or page fetch. Use data.inventory.id with run_migration only when data.inventory.status is complete; a partial import lists its exclusions and needs corrected input and a new key. Up to 1…
run_migrationMatch old URLs to new ones from two complete inventories. Migrations up to 500 old URLs run free (one free run a day, five in total per account). Otherwise the answer is payment_required with the one-time price ($1 per 50 old URLs, $10 minimum) and a checkout link that only a pe…
get_migrationRead an owned migration, its latest inventories, runs (with progress), exports and verifications, and the next recoverable action. Keep migration_id across reconnects; poll only after retry_after_seconds. A finished run still needs review before export.
group_matchesStart review here. Groups a run's mappings by the URL rewrite they apply (from → to, e.g. /product/{slug}/ → /products/{slug}), groups with the most undecided rows first. kind is moved, kept_tail, same_path, unchanged (no redirect needed) or unmatched; renamed counts rows whose…
list_matchesRead a run's mappings in stable URL order: the latest proposal, the current decision and its revision. Pass group_id (from group_matches) to read one group's rows. Follow data.next_cursor until null with the same run, filter and group; one page is not the whole run. data.counts…
resolve_groupAfter the person decides on a whole group from group_matches: record one decision (approve confirms each row's latest proposal; reject, defer or intentional_removal) for every row in the group that has no decision yet. Rows already decided are never changed, and rows in except_m…
resolve_matchesRecord audited decisions on individual rows with optimistic concurrency, after the user agrees (for a whole group, use resolve_group): approve (confirms the proposed target, or target_url if given), set_target (an exact URL from the new inventory), reject, defer or intentional_r…
refine_matchesResume a run that stopped part-way (same pass, kept proposals), or start its next pass, which learns from the targets people confirmed and the most confident proposals. Up to three passes per run; no new charge. Read the run's seed_revision from get_migration or list_matches fir…
export_redirectsCreate an immutable redirect file at exactly the selection revision you showed the person (data.selection_revision). Before exporting, ask the person what to include: every proposal is the default, or only those at or above a confidence; say how many fall below RedirX's recommen…
verify_redirectsOnly after the user confirms an export is installed: check each of its redirects on the live site (status, hops, final destination). Give live_origin (where the old URLs are served) and origin_rewrites mapping export destination origins to live ones ({} keeps them). Poll get_mig…
pingConnection check. Returns "pong". Has no side effects.
Details
| Endpoint | https://app.redirx.dev/mcp (Streamable HTTP) |
| First published | 26 Oct 2026 |
| Last updated | 26 Oct 2026 |
| Registry name | dev.redirx/redirx |
More data and analytics servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
