plan_migration
Plan a migration
Create 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.
namenew_siterequiredold_siterequiredsite_aliasesidempotency_keyrequired
dev.redirxPublished by redirx.devOfficial publisherv0.3.0Updated Oct 26, 2026
Map old site URLs to new ones during a migration, review proposals and export approved redirects.
Redirx's hosted MCP server (app.redirx.dev), published by redirx.dev; no sign-in required; Streamable HTTP; 10 tools.
No AI overview yet: these facts come from the registry entry and the server itself.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/dev.redirx%2Fredirx/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"redirx": {
"type": "http",
"url": "https://app.redirx.dev/mcp"
}
}
}Plan a migration
Create 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.
namenew_siterequiredold_siterequiredsite_aliasesidempotency_keyrequiredImport a URL inventory
Import 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 15,000 old / 20,000 new URLs and 16 MiB of URL text. Importing never authorizes a charge.
siderequiredurlsrequiredmigration_idrequiredidempotency_keyrequiredRun a migration
Match 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 person can complete; after paying, retry with the same input and key. A queued run finishes in minutes: poll get_migration after retry_after_seconds. confirmed_pairs must be pairs a person confirmed, never guesses.
migration_idrequiredconfirmed_pairsidempotency_keyrequirednew_inventory_idrequiredold_inventory_idrequiredGet migration status
Read 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.
migration_idrequiredList migration matches
Read a run's mappings in stable URL order: the latest proposal, the current decision and its revision. Follow data.next_cursor until null with the same run and filter; one page is not the whole run. Keep each revision and data.selection_revision for resolve_matches and export_redirects. Confidence is an uncalibrated model estimate. Decisions with actor_kind "engine" came from the previous RedirX engine and can be changed like any other.
limitcursorfilterrun_idrequiredmigration_idrequiredResolve matches
Record audited decisions with optimistic concurrency, after the user agrees: approve (confirms the proposed target, or target_url if given), set_target (an exact URL from the new inventory), reject, defer or intentional_removal. Each needs mapping_id and the expected_revision you read. Inspect every outcome: a batch can partly fail; on revision_conflict reread list_matches and reassess.
run_idrequireddecisionsrequiredmigration_idrequiredidempotency_keyrequiredRefine matches
Resume 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 first.
run_idrequiredmigration_idrequiredidempotency_keyrequiredexpected_seed_revisionrequiredExport redirects
Create an immutable redirect file from the run's approved decisions at exactly the selection revision you reviewed (data.selection_revision). allow_partial needs the user's explicit agreement to the listed exclusions. Small files come back in data.content; every file is readable as the returned resource_uri and downloadable by the signed-in user at download_url. Export does not install redirects.
formatrequiredrun_idrequiredrevisionrequiredmigration_idrequiredallow_partialidempotency_keyrequiredVerify redirects
Only 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_migration for results. This does not install rules or establish Google indexing, canonicals, robots or sitemaps; inspect unchecked results before claiming success.
artifact_idrequiredlive_originrequiredmigration_idrequiredidempotency_keyrequiredorigin_rewritesdeployment_confirmationrequiredPing
Connection check. Returns "pong". Has no side effects.
Takes no parameters.
83% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.
A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.