redirx

Map old site URLs to new ones during a migration, review proposals and export approved redirects.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
86%
命名品質
93%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~7,773Token(工具定義)
~8.0 KB典型回應大小
顯著的注意力影響(128k 上下文的 6.07%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "redirx": {
      "url": "https://redirx-mcp-server.onrender.com/mcp"
    }
  }
}

遠端端點

https://redirx-mcp-server.onrender.com/mcpstreamable-http

它能做什麼

工具清單

工具(9)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟡plan_migration(old_site, new_site, name, site_aliases, idempotency_key, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "old_site": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8192,
      "description": "Origin of existing source pages, e.g. https://old.example; no page path, query, fragment or credentials."
    },
    "new_site": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8192,
      "description": "Origin of available destination pages, e.g. https://new.example; no page path, query, fragment or credentials."
    },
    "name": {
      "type": "string",
      "maxLength": 200
    },
    "site_aliases": {
      "description": "Additional explicitly allowed origins per side. Declare www or staging origins here before importing; aliases are not inferred.",
      "type": "object",
      "properties": {
        "old": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 8192
          }
        },
        "new": {
          "maxItems": 100,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 8192
          }
        }
      }
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[^\\x00-\\x1f\\x7f]+$"
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "old_site",
    "new_site",
    "idempotency_key",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
⚪import_inventory(migration_id, side, urls, idempotency_key, context)

Import explicit HTTP(S) URL strings into an owned immutable old or new inventory. No crawl or page scraping. Use data.inventory.id only when data.inventory.status is complete for run_migration; partial imports need corrected input and a new key. The free trial allows 500 old / 2000 new URLs and 2 MiB total URL text. When paid billing is enabled, paid runs allow 15000 old / 20000 new URLs and 16 MiB total. Importing never authorizes a charge.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "side": {
      "type": "string",
      "enum": [
        "old",
        "new"
      ],
      "description": "old = existing source pages; new = available destination pages."
    },
    "urls": {
      "minItems": 1,
      "maxItems": 20000,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 8192,
        "pattern": "^https?:\\/\\/"
      },
      "description": "Actual absolute page URLs, not a sitemap file URL. Preserve path case, escapes and query strings. Complete validates this supplied list, not full site coverage or reachability."
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[^\\x00-\\x1f\\x7f]+$"
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "side",
    "urls",
    "idempotency_key",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢run_migration(migration_id, old_inventory_id, new_inventory_id, quote_id, checkout_id, ...)

Run URL matching from immutable inventories. When current billing is enabled, the separate free trial allows 500 old URLs; paid purchases or monthly allowances support 15000 old / 20000 new URLs. Payment-required responses provide a browser billing link. Only a human completes checkout. Pass its verified checkout_id for a one-time purchase or select a subscription_id. Never approve extra URLs without explicit user consent to max_extra_amount_cents, the TOTAL extra-usage charge for this month after this run, not an incremental charge. Included retries and refinements do not buy URLs again. confirmed_pairs must be explicitly verified examples, never guesses.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "old_inventory_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "new_inventory_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "quote_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "checkout_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "subscription_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "approve_extra_urls": {
      "type": "boolean"
    },
    "max_extra_amount_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "confirmed_pairs": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "old_url": {
            "type": "string",
            "maxLength": 8192,
            "format": "uri"
          },
          "new_url": {
            "type": "string",
            "maxLength": 8192,
            "format": "uri"
          }
        },
        "required": [
          "old_url",
          "new_url"
        ]
      }
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[^\\x00-\\x1f\\x7f]+$"
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "old_inventory_id",
    "new_inventory_id",
    "idempotency_key",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢refine_matches(migration_id, run_id, expected_seed_revision, idempotency_key, context)

Resume a paused matching pass, or improve unresolved URL mappings with explicitly confirmed examples. Up to three total passes; does not consume another free migration. Read data.jev.seed_revision from get_migration first. If paused, honor retry_after_seconds and resolve the reported pause reason before resuming.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "run_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "expected_seed_revision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[^\\x00-\\x1f\\x7f]+$"
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "run_id",
    "expected_seed_revision",
    "idempotency_key",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_migration(migration_id, run_id, operation_id, context)

Read an owned migration summary and its next recoverable action. Retain migration_id and run_id across reconnects. Poll only after retry_after_seconds; a completed run still requires explicit review before export.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "run_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "operation_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_matches(migration_id, run_id, filter, cursor, limit, ...)

Read owned match exceptions in stable traffic order. Follow data.next_cursor until null using the same run and filter; one page is not the whole run. Retain each mapping revision and data.selection_revision for review/export. Traffic absence is distinct from observed zero. Confidence is an uncalibrated model estimate, never approval.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "run_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "filter": {
      "default": "all",
      "type": "string",
      "enum": [
        "all",
        "needs_review",
        "unmatched",
        "approved",
        "rejected"
      ]
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096
    },
    "limit": {
      "default": 100,
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "run_id",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡resolve_matches(migration_id, run_id, idempotency_key, decisions, context)

Apply audited, optimistic-concurrency decisions. To confirm a model-proposed target, use set_target with target_url, mapping_id and expected_revision after explicit user approval. Inspect every returned outcome: a batch can partially fail. On revision conflicts, reread matches and reassess the decision. Model predictions are never automatically verified examples.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "run_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[^\\x00-\\x1f\\x7f]+$"
    },
    "decisions": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "mapping_id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "expected_revision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "action": {
            "type": "string",
            "enum": [
              "accept_repair",
              "set_target",
              "approve",
              "reject",
              "defer",
              "intentional_removal"
            ]
          },
          "target_url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8192
          },
          "rationale": {
            "type": "string",
            "maxLength": 2000
          }
        },
        "required": [
          "mapping_id",
          "expected_revision",
          "action"
        ]
      }
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "run_id",
    "idempotency_key",
    "decisions",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡export_redirects(migration_id, run_id, format, revision, allow_partial, ...)

Create an immutable artifact from explicitly approved decisions. Use data.selection_revision from the latest review response as revision. allow_partial requires explicit agreement to exclusions. Export does not install redirects. Large downloads are returned only as backend-authorized artifact resources; this gateway never follows arbitrary URLs.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "run_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "format": {
      "type": "string",
      "enum": [
        "apache",
        "nginx",
        "wordpress",
        "vercel",
        "cloudflare",
        "shopify",
        "csv",
        "json"
      ],
      "description": "wordpress is Redirection plugin CSV; cloudflare is Pages _redirects, not Bulk Redirects CSV. csv and json are generic review mappings that need adaptation before installation."
    },
    "revision": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "allow_partial": {
      "default": false,
      "type": "boolean"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[^\\x00-\\x1f\\x7f]+$"
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "run_id",
    "format",
    "revision",
    "idempotency_key",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢verify_redirects(migration_id, artifact_id, deployment_id, deployment_confirmation, live_origin, ...)

Start or resume an owned artifact HTTP check. Supply an existing deployment_id, or explicitly confirm installation with live_origin and origin_rewrites ({} preserves artifact destinations). This does not install rules or establish Google indexing, page canonicals, robots permissions, or sitemap correctness. Inspect incomplete and unchecked results before claiming success.

輸入結構描述

{
  "type": "object",
  "properties": {
    "migration_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "artifact_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "deployment_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "deployment_confirmation": {
      "type": "boolean",
      "const": true
    },
    "live_origin": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "origin_rewrites": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 2048
      },
      "additionalProperties": {
        "type": "string",
        "minLength": 1,
        "maxLength": 2048
      }
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[^\\x00-\\x1f\\x7f]+$"
    },
    "context": {
      "type": "string",
      "description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
    }
  },
  "required": [
    "migration_id",
    "artifact_id",
    "idempotency_key",
    "context"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "minLength": 1
    },
    "migration_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "operation_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "minLength": 1
    },
    "next_action": {
      "type": "string",
      "minLength": 1
    },
    "retry_after_seconds": {
      "type": "number",
      "minimum": 0
    },
    "progress": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "message": {
              "type": "string"
            },
            "retryable": {
              "type": "boolean"
            },
            "next_action": {
              "type": "string"
            },
            "details": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            }
          },
          "required": [
            "code",
            "message",
            "retryable",
            "next_action"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "status",
    "next_action",
    "data",
    "error"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本9 個工具