Reviews a data migration's Discovery findings and returns risks, each with a next step.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Review a data migration's Discovery results and return the risks found, highest severity first, each with a next step. Send open questions with answer null.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http stratus-decide https://stratus-decide.onrender.com/mcp
Review a data migration's Discovery results and return the risks found, highest severity first, each with a next step. Send open questions with answer null.
| Argument | Type | Description |
|---|---|---|
| max_risks | integer | |
| submission* | any |
{
"type": "object",
"$defs": {
"SOW": {
"type": "object",
"title": "SOW",
"properties": {
"provided": {
"type": "boolean",
"title": "Provided",
"default": true
},
"use_case": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Use Case",
"default": null
},
"sold_scope": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"title": "Sold Scope",
"default": [],
"maxItems": 200,
"description": "Object names in the sold scope."
},
"assumptions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 2000
},
"title": "Assumptions",
"default": [],
"maxItems": 100
},
"out_of_scope": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"title": "Out Of Scope",
"default": [],
"maxItems": 200
},
"success_definition": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Success Definition",
"default": null
}
},
"description": "What was sold. Optional: leave it out if you don't have it."
},
"Flag": {
"type": "object",
"title": "Flag",
"required": [
"description"
],
"properties": {
"owner": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Owner",
"default": null,
"description": "Who owns resolving it."
},
"waiting_on": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Waiting On",
"default": null,
"description": "What the object is waiting on."
},
"description": {
"type": "string",
"title": "Description",
"maxLength": 2000
},
"date_flagged": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date Flagged",
"default": null
}
}
},
"Source": {
"type": "object",
"title": "Source",
"required": [
"who"
],
"properties": {
"who": {
"type": "string",
"title": "Who",
"maxLength": 200,
"description": "Person who gave the answer."
},
"date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Date",
"default": null
},
"role": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Role",
"default": null
}
}
},
"Timing": {
"enum": [
"day1",
"fast_follow"
],
"type": "string",
"title": "Timing"
},
"ObjectItem": {
"type": "object",
"title": "ObjectItem",
"required": [
"category",
"question"
],
"properties": {
"answer": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
],
"title": "Answer",
"default": null
},
"source": {
"anyOf": [
{
"$ref": "#/$defs/Source"
},
{
"type": "null"
}
],
"default": null
},
"category": {
"$ref": "#/$defs/ObjectCategory"
},
"question": {
"type": "string",
"title": "Question",
"maxLength": 2000
}
}
},
"Criticality": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"title": "Criticality"
},
"ProjectItem": {
"type": "object",
"title": "ProjectItem",
"required": [
"category",
"question"
],
"properties": {
"answer": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
],
"title": "Answer",
"default": null,
"description": "Null or empty = open question."
},
"source": {
"anyOf": [
{
"$ref": "#/$defs/Source"
},
{
"type": "null"
}
],
"default": null
},
"category": {
"$ref": "#/$defs/ProjectCategory"
},
"question": {
"type": "string",
"title": "Question",
"maxLength": 2000,
"description": "The question as the agent asked it."
}
}
},
"ObjectResult": {
"type": "object",
"title": "ObjectResult",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"maxLength": 200,
"description": "Object name, e.g. Account."
},
"flags": {
"type": "array",
"items": {
"$ref": "#/$defs/Flag"
},
"title": "Flags",
"default": [],
"maxItems": 50
},
"items": {
"type": "array",
"items": {
"$ref": "#/$defs/ObjectItem"
},
"title": "Items",
"default": [],
"maxItems": 150
},
"criticality": {
"$ref": "#/$defs/Criticality",
"default": "medium"
},
"has_hierarchy": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Has Hierarchy",
"default": null,
"description": "Null = not yet known."
}
}
},
"ObjectCategory": {
"enum": [
"meaning_and_use",
"where_it_lives",
"dependencies",
"hierarchy",
"history_and_rules",
"data_shape"
],
"type": "string",
"title": "ObjectCategory"
},
"ProjectCategory": {
"enum": [
"purpose_and_success",
"people",
"data_landscape",
"purchased",
"process",
"scope"
],
"type": "string",
"title": "ProjectCategory"
},
"DiscoveredNotSold": {
"type": "object",
"title": "DiscoveredNotSold",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"title": "Name",
"maxLength": 200
},
"what": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "What",
"default": null
},
"reason": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"title": "Reason",
"default": null
},
"timing": {
"anyOf": [
{
"$ref": "#/$defs/Timing"
},
{
"type": "null"
}
],
"default": null
},
"requested_by": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Requested By",
"default": null
}
}
},
"DiscoverySubmission": {
"type": "object",
"title": "DiscoverySubmission",
"properties": {
"sow": {
"anyOf": [
{
"$ref": "#/$defs/SOW"
},
{
"type": "null"
}
],
"default": null,
"description": "Scope baseline, if you have it. Without it, scope checks are skipped and one risk is raised."
},
"objects": {
"type": "array",
"items": {
"$ref": "#/$defs/ObjectResult"
},
"title": "Objects",
"default": [],
"maxItems": 100
},
"engagement_id": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Engagement Id",
"default": null
},
"project_items": {
"type": "array",
"items": {
"$ref": "#/$defs/ProjectItem"
},
"title": "Project Items",
"default": [],
"maxItems": 300
},
"discovered_not_sold": {
"type": "array",
"items": {
"$ref": "#/$defs/DiscoveredNotSold"
},
"title": "Discovered Not Sold",
"default": [],
"maxItems": 200
}
}
}
},
"title": "validate_migration_discoveryArguments",
"required": [
"submission"
],
"properties": {
"max_risks": {
"type": "integer",
"title": "Max Risks",
"default": 25
},
"submission": {
"$ref": "#/$defs/DiscoverySubmission"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 6, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.