protogrid

Search / io.github.stratus-consulting/stratus-decide

DECIDE: Migration Discovery Risk Review

R0· no sign-in

Run after each discovery iteration to see what's still uncertain, who to ask next, and what changed.

v0.6.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality78good
Trust97of 100
Uptime, 30 days100%
Latency p50319 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "stratus-decide": {
      "type": "http",
      "url": "https://stratus-decide.onrender.com/mcp"
    }
  }
}
claude mcp add --transport http stratus-decide https://stratus-decide.onrender.com/mcp
[mcp_servers.stratus-decide]
url = "https://stratus-decide.onrender.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "stratus-decide": {
      "type": "remote",
      "url": "https://stratus-decide.onrender.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "stratus-decide": {
      "type": "http",
      "url": "https://stratus-decide.onrender.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=stratus-decide&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc3RyYXR1cy1kZWNpZGUub25yZW5kZXIuY29tL21jcCJ9"
}
{
  "servers": {
    "stratus-decide": {
      "type": "http",
      "url": "https://stratus-decide.onrender.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "stratus-decide": {
      "httpUrl": "https://stratus-decide.onrender.com/mcp"
    }
  }
}
extensions:
  "stratus-decide":
    enabled: true
    name: "stratus-decide"
    type: streamable_http
    uri: "https://stratus-decide.onrender.com/mcp"
    timeout: 300

Quality 78 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene75 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: validate_migration_discovery (readOnlyHint, destructiveHint, idempotentHint, openWorldHint)
  • pass
    tools.token_costabout 2,054 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
  • pass
    tools.hidden_textno hidden text in tool names, descriptions, schemas or annotations
stability67 · weight 15
  • pass
    stability.changes4 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
  • pass
    stability.new_linksno tool change named a new site
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

1 tools, about 2,054 tokens to load them all · tool set c6c3fa910c58 · tools last changed 2026-11-10 · checked 2026-11-14 07:03 UTC

Tool changes

  • validate_migration_discoverychangedinput schema
  • validate_migration_discoverychangeddescription, input schema, output schema
    before

    Review a migration's current discovery findings and return the open risks, highest severity first, each with a next step: who to ask and what to ask. Call after each discovery iteration with the full, cumulative findings (open questions with answer null) and the same engagement_id, to see which risks are new, still open or closed. Minimal example submission: {"engagement_id": "acme-crm-2026", "sow": {"use_case": "Consolidate two legacy CRMs into one Salesforce org.", "sold_scope": ["Account", "Contact", "Opportunity"]}, "project_items": [{"category": "purpose_and_success", "question": "Why now?", "answer": "Legacy CRM contract ends in Q2.", "source": {"who": "VP Sales"}}], "objects": [{"name": "Account", "criticality": "high", "has_hierarchy": true, "items": [{"category": "meaning_and_use", "question": "What does Account mean?", "answer": null}], "flags": [{"description": "Parent hierarchy source not provided", "owner": "Finance"}]}]}

    after · 92% of words in common

    Review a migration's current discovery findings and return the open risks, highest severity first, each with a next step: who to ask and what to ask. Call after each discovery iteration with the full, cumulative findings (open questions with answer null) and the same engagement_id, to see which risks are new, still open or closed. Minimal example submission: {"engagement_id": "acme-crm-2026", "sow": {"use_case": "Consolidate two legacy CRMs into one Salesforce org.", "scope": ["Account", "Contact", "Opportunity"]}, "project_items": [{"category": "purpose", "question": "Why choose to migrate now?", "answer": "Legacy CRM contract ends in Q2.", "source": {"who": "VP Sales"}}], "objects": [{"name": "Account", "criticality": "high", "has_hierarchy": true, "items": [{"category": "object_context", "question": "What does Account mean to the business?", "answer": null}], "flags": [{"description": "Parent hierarchy source not provided", "owner": "Finance"}]}]}

  • validate_migration_discoverychangedtitle, description, output schema
    before

    Review a data migration's Discovery results and return the risks found, highest severity first, each with a next step. Send everything you learned, including open questions with answer null. Call again with the same engagement_id as Discovery progresses. Minimal example submission: {"engagement_id": "acme-crm-2026", "sow": {"use_case": "Consolidate two legacy CRMs into one Salesforce org.", "sold_scope": ["Account", "Contact", "Opportunity"]}, "project_items": [{"category": "purpose_and_success", "question": "Why now?", "answer": "Legacy CRM contract ends in Q2.", "source": {"who": "VP Sales"}}], "objects": [{"name": "Account", "criticality": "high", "has_hierarchy": true, "items": [{"category": "meaning_and_use", "question": "What does Account mean?", "answer": null}], "flags": [{"description": "Parent hierarchy source not provided", "owner": "Finance"}]}]}

    after · 76% of words in common

    Review a migration's current discovery findings and return the open risks, highest severity first, each with a next step: who to ask and what to ask. Call after each discovery iteration with the full, cumulative findings (open questions with answer null) and the same engagement_id, to see which risks are new, still open or closed. Minimal example submission: {"engagement_id": "acme-crm-2026", "sow": {"use_case": "Consolidate two legacy CRMs into one Salesforce org.", "sold_scope": ["Account", "Contact", "Opportunity"]}, "project_items": [{"category": "purpose_and_success", "question": "Why now?", "answer": "Legacy CRM contract ends in Q2.", "source": {"who": "VP Sales"}}], "objects": [{"name": "Account", "criticality": "high", "has_hierarchy": true, "items": [{"category": "meaning_and_use", "question": "What does Account mean?", "answer": null}], "flags": [{"description": "Parent hierarchy source not provided", "owner": "Finance"}]}]}

  • validate_migration_discoverychangeddescription, input schemameaning changed
    before

    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.

    after · 26% of words in common

    Review a data migration's Discovery results and return the risks found, highest severity first, each with a next step. Send everything you learned, including open questions with answer null. Call again with the same engagement_id as Discovery progresses. Minimal example submission: {"engagement_id": "acme-crm-2026", "sow": {"use_case": "Consolidate two legacy CRMs into one Salesforce org.", "sold_scope": ["Account", "Contact", "Opportunity"]}, "project_items": [{"category": "purpose_and_success", "question": "Why now?", "answer": "Legacy CRM contract ends in Q2.", "source": {"who": "VP Sales"}}], "objects": [{"name": "Account", "criticality": "high", "has_hierarchy": true, "items": [{"category": "meaning_and_use", "question": "What does Account mean?", "answer": null}], "flags": [{"description": "Parent hierarchy source not provided", "owner": "Finance"}]}]}

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-4d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://stratus-decide.onrender.com/mcp streamable-httpnoneyes100%319 ms2026-07-282026-11-14

Tools (1)

validate_migration_discoveryReview a migration's current discovery findings and return the open risks, highest severity first, each with a next step: who to ask and what to ask. Call after each discovery iteration with the full, cumulative findings (open questions with answer null) and the same engagement_id, to see which risks are new, still open or closed. Minimal example submission: {"engagement_id": "acme-crm-2026", "sow": {"use_case": "Consolidate two legacy CRMs into one Salesforce org.", "scope": ["Account", "Contact", "Opportunity"]}, "project_items": [{"category": "purpose", "question": "Why choose to migrate now?", "answer": "Legacy CRM contract ends in Q2.", "source": {"who": "VP Sales"}}], "objects": [{"name": "Account", "criticality": "high", "has_hierarchy": true, "items": [{"category": "object_context", "question": "What does Account mean to the business?", "answer": null}], "flags": [{"description": "Parent hierarchy source not provided", "owner": "Finance"}]}]}

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.stratus-consulting/stratus-decide",
  "icons": [
    {
      "src": "https://stratus-decide.onrender.com/icon-light.png",
      "sizes": [
        "512x512"
      ],
      "theme": "light",
      "mimeType": "image/png"
    },
    {
      "src": "https://stratus-decide.onrender.com/icon-dark.png",
      "sizes": [
        "512x512"
      ],
      "theme": "dark",
      "mimeType": "image/png"
    }
  ],
  "title": "DECIDE: Migration Discovery Risk Review",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://stratus-decide.onrender.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.6.0",
  "repository": {
    "url": "https://github.com/stratus-consulting/decide-mcp",
    "source": "github"
  },
  "websiteUrl": "https://stratus-decide.onrender.com/docs",
  "description": "Run after each discovery iteration to see what's still uncertain, who to ask next, and what changed."
}