{
  "kind": "mcp_sandbox_discovery",
  "surface": "anonymous-sandbox",
  "name": "breakout-scanner-sandbox",
  "title": "Breakout Scanner MCP sandbox",
  "description": "Anonymous Streamable HTTP MCP test workspace with deterministic stale fixtures and simulated write proposals only.",
  "version": "1.0.0",
  "transport": "streamable-http",
  "url": "https://breakoutscanner.com/mcp/sandbox",
  "wellKnown": "https://breakoutscanner.com/.well-known/mcp-sandbox",
  "authentication": "none",
  "tools": [
    {
      "name": "breakout_scanner_market_snapshot",
      "title": "market.snapshot (Breakout Scanner sandbox)",
      "description": "Read a bounded, as-of market snapshot for resolved symbols. Sandbox behavior: deterministic demo only; no live data, account state, network, persistence, or workspace mutation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbols": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 20
            },
            "minItems": 0,
            "maxItems": 500
          },
          "market": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "asOf": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "minItems": 0,
            "maxItems": 100
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "sandbox_read"
            ]
          },
          "capability": {
            "type": "string",
            "enum": [
              "market.snapshot"
            ]
          },
          "demo": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "liveData": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "fixtureVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "asOf": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "symbol": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 20
                },
                "company": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "price": {
                  "type": "number",
                  "minimum": 0
                },
                "changePct": {
                  "type": "number"
                },
                "atNew52WeekHigh": {
                  "type": "boolean"
                }
              },
              "required": [
                "symbol",
                "company",
                "price",
                "changePct",
                "atNew52WeekHigh"
              ],
              "additionalProperties": false
            },
            "minItems": 0,
            "maxItems": 10
          },
          "evidence": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "asOf": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80
                }
              },
              "required": [
                "source",
                "asOf"
              ],
              "additionalProperties": false
            },
            "minItems": 1,
            "maxItems": 4
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 300
            },
            "minItems": 4,
            "maxItems": 4
          }
        },
        "required": [
          "kind",
          "capability",
          "demo",
          "liveData",
          "fixtureVersion",
          "asOf",
          "rows",
          "evidence",
          "limitations"
        ],
        "additionalProperties": false
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://breakout-scanner-sandbox/market-snapshot.html",
          "visibility": [
            "model",
            "app"
          ]
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "capability": "market.snapshot",
      "capabilityVersion": "1",
      "sandboxOnly": true
    },
    {
      "name": "breakout_scanner_watchlist_change",
      "title": "watchlist.change (Breakout Scanner sandbox)",
      "description": "Propose one bounded change to a user-owned watchlist after explicit approval. Sandbox behavior: deterministic demo only; no live data, account state, network, persistence, or workspace mutation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string",
            "enum": [
              "create",
              "add_symbols",
              "remove_symbols",
              "rename",
              "delete"
            ]
          },
          "watchlistId": {
            "type": "integer",
            "minimum": 1,
            "maximum": 2000000000
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "newName": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "symbols": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 20
            },
            "minItems": 0,
            "maxItems": 500
          }
        },
        "required": [
          "operation"
        ],
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "simulated_write_proposal"
            ]
          },
          "capability": {
            "type": "string",
            "enum": [
              "watchlist.change"
            ]
          },
          "capabilityVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
          },
          "demo": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "simulated": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "proposalId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "actionHash": {
            "type": "string",
            "minLength": 64,
            "maxLength": 64
          },
          "approvalRequired": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "not_applied"
            ]
          },
          "workspaceMutation": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "submittedToProductionApproval": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "input": {
            "type": "object",
            "properties": {
              "operation": {
                "type": "string",
                "enum": [
                  "create",
                  "add_symbols",
                  "remove_symbols",
                  "rename",
                  "delete"
                ]
              },
              "watchlistId": {
                "type": "integer",
                "minimum": 1,
                "maximum": 2000000000
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "newName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "symbols": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 20
                },
                "minItems": 0,
                "maxItems": 500
              }
            },
            "required": [
              "operation"
            ],
            "additionalProperties": false
          },
          "receipt": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "sandbox_receipt"
                ]
              },
              "applied": {
                "type": "boolean",
                "enum": [
                  false
                ]
              },
              "persistent": {
                "type": "boolean",
                "enum": [
                  false
                ]
              },
              "message": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              }
            },
            "required": [
              "kind",
              "applied",
              "persistent",
              "message"
            ],
            "additionalProperties": false
          },
          "fixtureVersion": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "asOf": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 300
            },
            "minItems": 4,
            "maxItems": 4
          }
        },
        "required": [
          "kind",
          "capability",
          "capabilityVersion",
          "demo",
          "simulated",
          "proposalId",
          "actionHash",
          "approvalRequired",
          "status",
          "workspaceMutation",
          "submittedToProductionApproval",
          "input",
          "receipt",
          "fixtureVersion",
          "asOf",
          "limitations"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true
      },
      "capability": "watchlist.change",
      "capabilityVersion": "1",
      "sandboxOnly": true
    }
  ],
  "asOf": "2026-08-22T16:00:00.000Z",
  "fixtureVersion": "2026-08-22-demo-1",
  "liveData": false,
  "persistent": false,
  "protocolOnly": true,
  "mcpApps": {
    "extension": "io.modelcontextprotocol/ui",
    "mimeTypes": [
      "text/html;profile=mcp-app"
    ],
    "resourceUri": "ui://breakout-scanner-sandbox/market-snapshot.html"
  },
  "limitations": [
    "Demo fixtures only; no live market data or external network calls.",
    "No authentication, account context, user state, persistence, or model budget is used.",
    "Write calls return simulated proposals and receipts only; nothing is submitted for approval or applied.",
    "Fixtures are stale by design and as of 2026-08-22T16:00:00.000Z."
  ]
}
