---
schema: "interfacedelta-service-md/1"
target_key: "sha256:6fa30c180df8017a623ec963f4253f694e45bbca91c455b008f2842530a37001"
origin: "https://app.broadcastwell.com"
protocols: ["mcp"]
observed_at: "2026-11-12T18:05:22.381Z"
generated_at: "2026-11-13T02:05:40.329Z"
record_url: "https://interfacedelta.com/atlas/sha256:6fa30c180df8017a623ec963f4253f694e45bbca91c455b008f2842530a37001"
record_api: "https://interfacedelta.com/api/v1/record/services/sha256:6fa30c180df8017a623ec963f4253f694e45bbca91c455b008f2842530a37001"
source: "InterfaceDelta atlas"
license_note: "Use of this record is governed by https://interfacedelta.com/terms."
---

# Service record: https://app.broadcastwell.com

## Identity
- Origin: https://app.broadcastwell.com
- Endpoints: https://app.broadcastwell.com/mcp/demo/kalvenor
- Protocols: mcp
- Registry names: io.github.Broadcastwell/connector
- First retained observation: 2026-11-12T18:05:22.381Z
- Latest observation: 2026-11-12T18:05:22.381Z

## Tools
- Tool 1: compare\_runs (mcp); inputs: brand\_account\_id, other\_run\_id, run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 2: get\_battlecard (mcp); inputs: brand\_account\_id, competitor, run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 3: get\_displacement (mcp); inputs: brand\_account\_id, limit, offset, question\_id, run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 4: get\_fixes (mcp); inputs: run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 5: get\_history (mcp); inputs: brand\_account\_id, key, scope; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 6: get\_index\_category (mcp); inputs: none shown; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 7: get\_method (mcp); inputs: brand\_account\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 8: get\_proof (mcp); inputs: brand\_account\_id, experiment\_id, include\_superseded; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 9: get\_question (mcp); inputs: question\_id, run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 10: get\_receipts (mcp); inputs: offset, question\_id, run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 11: get\_results (mcp); inputs: run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 12: get\_sources (mcp); inputs: brand\_account\_id, domain, limit, offset, run\_id; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 13: list\_alerts (mcp); inputs: brand\_account\_id, limit, offset; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 14: list\_runs (mcp); inputs: none shown; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
- Tool 15: search\_answers (mcp); inputs: brand\_account\_id, engine, limit, offset, query, run\_id, verdict; inputs omitted: 0; annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}
Tools omitted: 0.

## Effect readings (AI)
- Tool 1 (compare\_runs): ◇ AI reading; state: counted; reads (confidence 0.84); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 2 (get\_battlecard): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 3 (get\_displacement): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 3 purpose: ◇ AI reading; Returns competitors named in scheduled answers that left out the client, broken down by question and engine for one run.; lens: tool-purpose-v1; model: not recorded.
- Tool 4 (get\_fixes): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 5 (get\_history): ◇ AI reading; state: counted; reads (confidence 0.893); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 6 (get\_index\_category): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 6 purpose: ◇ AI reading; Fetches the Index panel published for your saved category; a missing entry does not mean it was measured as absent.; lens: tool-purpose-v1; model: not recorded.
- Tool 7 (get\_method): ◇ AI reading; state: counted; reads (confidence 0.91); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 7 purpose: ◇ AI reading; Returns the method version, its five engines, figure definitions, proof rules, and stated limits on what the numbers prove.; lens: tool-purpose-v1; model: not recorded.
- Tool 8 (get\_proof): ◇ AI reading; state: counted; reads (confidence 0.9); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 8 purpose: ◇ AI reading; Returns controlled lift experiment results: target and control counts, lift in points, and a fixed verdict for each experiment.; lens: tool-purpose-v1; model: not recorded.
- Tool 9 (get\_question): ◇ AI reading; state: counted; reads (confidence 0.8); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 9 purpose: ◇ AI reading; Fetches the details and measured totals for one buyer question, identified by ID within a specified run.; lens: tool-purpose-v1; model: not recorded.
- Tool 10 (get\_receipts): ◇ AI reading; state: counted; reads (confidence 0.88); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 10 purpose: ◇ AI reading; Retrieves saved answers and their cited sources for a single question in a run, five per page.; lens: tool-purpose-v1; model: not recorded.
- Tool 11 (get\_results): ◇ AI reading; state: counted; reads (confidence 0.901); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 11 purpose: ◇ AI reading; Fetches the output of a finished measurement run, identified by its run ID.; lens: tool-purpose-v1; model: not recorded.
- Tool 12 (get\_sources): ◇ AI reading; state: counted; reads (confidence 0.91); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 12 purpose: ◇ AI reading; Lists the pages that AI answer engines cited in one scheduled-answer run, ranked by citation count and filterable by domain.; lens: tool-purpose-v1; model: not recorded.
- Tool 13 (list\_alerts): ◇ AI reading; state: counted; reads (confidence 0.91); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 13 purpose: ◇ AI reading; Lists recent alerts for a brand account where a rate, engine or question type shifted significantly between scheduled runs, newest first.; lens: tool-purpose-v1; model: not recorded.
- Tool 14 (list\_runs): ◇ AI reading; state: counted; reads (confidence 0.87); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 15 (search\_answers): ◇ AI reading; state: counted; reads (confidence 0.88); lens: side-effects@1; model: claude-haiku-5.5.
- Tool 15 purpose: ◇ AI reading; Retrieves stored AI engine answers that mention a given term, returning a short excerpt and receipt ID for each match.; lens: tool-purpose-v1; model: not recorded.

## Change history
No changes recorded in the retained history.

## Payment rails
- Protocols observed: none.
- HTTP 402 seen in retained observations: false.

## Not covered
- We don't call tools.
- We don't rate or certify.
- We don't publish prices.
- We cover only what was observed.

## Evidence
- Identity: observed / declared; observation time: 2026-11-12T18:05:22.381Z.
- Tools: declared; observation time: 2026-11-12T18:05:22.381Z.
- Effect readings (AI): AI reading; observation time: 2026-11-12T18:05:22.381Z.
- Change history: observed; observation time: 2026-11-12T18:05:22.381Z; change observation times: none.
- Payment rails: observed; observation time: 2026-11-12T18:05:22.381Z.

```json
{
  "schema": "interfacedelta-service-md/1",
  "target_key": "sha256:6fa30c180df8017a623ec963f4253f694e45bbca91c455b008f2842530a37001",
  "origin": "https://app.broadcastwell.com",
  "protocols": [
    "mcp"
  ],
  "observed_at": "2026-11-12T18:05:22.381Z",
  "generated_at": "2026-11-13T02:05:40.329Z",
  "record_url": "https://interfacedelta.com/atlas/sha256:6fa30c180df8017a623ec963f4253f694e45bbca91c455b008f2842530a37001",
  "record_api": "https://interfacedelta.com/api/v1/record/services/sha256:6fa30c180df8017a623ec963f4253f694e45bbca91c455b008f2842530a37001",
  "source": "InterfaceDelta atlas",
  "license_note": "Use of this record is governed by https://interfacedelta.com/terms.",
  "identity": {
    "origin": "https://app.broadcastwell.com",
    "endpoints": [
      "https://app.broadcastwell.com/mcp/demo/kalvenor"
    ],
    "protocols": [
      "mcp"
    ],
    "registry_names": [
      "io.github.Broadcastwell/connector"
    ],
    "first_retained_observation": "2026-11-12T18:05:22.381Z",
    "latest_observation": "2026-11-12T18:05:22.381Z"
  },
  "tools": [
    {
      "name": "compare_runs",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "other_run_id",
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.84
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_battlecard",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "competitor",
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_displacement",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "limit",
        "offset",
        "question_id",
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns competitors named in scheduled answers that left out the client, broken down by question and engine for one run.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_fixes",
      "protocol": "mcp",
      "inputs": [
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_history",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "key",
        "scope"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.893
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "get_index_category",
      "protocol": "mcp",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Fetches the Index panel published for your saved category; a missing entry does not mean it was measured as absent.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_method",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.91
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns the method version, its five engines, figure definitions, proof rules, and stated limits on what the numbers prove.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_proof",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "experiment_id",
        "include_superseded"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.9
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Returns controlled lift experiment results: target and control counts, lift in points, and a fixed verdict for each experiment.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_question",
      "protocol": "mcp",
      "inputs": [
        "question_id",
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.8
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Fetches the details and measured totals for one buyer question, identified by ID within a specified run.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_receipts",
      "protocol": "mcp",
      "inputs": [
        "offset",
        "question_id",
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.88
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Retrieves saved answers and their cited sources for a single question in a run, five per page.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_results",
      "protocol": "mcp",
      "inputs": [
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.901
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Fetches the output of a finished measurement run, identified by its run ID.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "get_sources",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "domain",
        "limit",
        "offset",
        "run_id"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.91
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists the pages that AI answer engines cited in one scheduled-answer run, ranked by citation count and filterable by domain.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "list_alerts",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "limit",
        "offset"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.91
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Lists recent alerts for a brand account where a rate, engine or question type shifted significantly between scheduled runs, newest first.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    },
    {
      "name": "list_runs",
      "protocol": "mcp",
      "inputs": [],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.87
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      }
    },
    {
      "name": "search_answers",
      "protocol": "mcp",
      "inputs": [
        "brand_account_id",
        "engine",
        "limit",
        "offset",
        "query",
        "run_id",
        "verdict"
      ],
      "inputs_omitted": 0,
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "effects": {
        "marker": "◇ AI reading",
        "state": "counted",
        "classes": [
          {
            "class": "reads",
            "confidence": 0.88
          }
        ],
        "lens": "side-effects@1",
        "model": "claude-haiku-5.5"
      },
      "purpose": {
        "marker": "◇ AI reading",
        "text": "Retrieves stored AI engine answers that mention a given term, returning a short excerpt and receipt ID for each match.",
        "lens": "tool-purpose-v1",
        "model": null
      }
    }
  ],
  "tools_omitted": 0,
  "tools_state": "recorded",
  "changes": [],
  "payment_rails": {
    "protocols": [],
    "http_402_seen": false
  },
  "not_covered": [
    "We don't call tools.",
    "We don't rate or certify.",
    "We don't publish prices.",
    "We cover only what was observed."
  ],
  "evidence": [
    {
      "section": "Identity",
      "classes": [
        "observed",
        "declared"
      ],
      "observed_at": "2026-11-12T18:05:22.381Z"
    },
    {
      "section": "Tools",
      "classes": [
        "declared"
      ],
      "observed_at": "2026-11-12T18:05:22.381Z"
    },
    {
      "section": "Effect readings (AI)",
      "classes": [
        "AI reading"
      ],
      "observed_at": "2026-11-12T18:05:22.381Z"
    },
    {
      "section": "Change history",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-12T18:05:22.381Z",
      "observation_times": []
    },
    {
      "section": "Payment rails",
      "classes": [
        "observed"
      ],
      "observed_at": "2026-11-12T18:05:22.381Z"
    }
  ]
}
```
