broadcast
Which TV transmitters actually reach an address, terrain-graded, and what is on now.
Should I use this
Quality & Safety
Findings (3)
- HIGH
- LOWin media_sources
- LOWin media_station_readiness
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"broadcast": {
"url": "https://dtv.rootz.global/mcp"
}
}
}Remote endpoints
https://dtv.rootz.global/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
⚪media_whats_on(query, at, outlet, limit)
What is airing right now, or at a given time. Returns programmes with descriptions and, for each, when the claim was observed and when it expires. Accepts free text.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text: a title, genre, or channel name. Optional."
},
"at": {
"type": "string",
"description": "ISO 8601 instant. Defaults to now."
},
"outlet": {
"type": "string",
"description": "Restrict to one channel by name."
},
"limit": {
"type": "number"
}
}
}⚪media_receivable(query, lat, lon, antenna_ft, full_power_only, ...)
Which television transmitters reach a specific latitude and longitude, graded by real terrain between the tower and that point. Answers "what can I actually watch from here", which listings services cannot.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text, e.g. \"42.4086,-73.3054\" or a note about the location."
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"antenna_ft": {
"type": "number",
"description": "Receiving antenna height in feet above ground. Default 30."
},
"full_power_only": {
"type": "boolean"
},
"terrain": {
"type": "boolean",
"description": "Compute terrain grades. Default true. First call for a location takes ~15s; cached after."
}
}
}⚪media_still_true(query, outlet)
Is a remembered claim about a programme still current? Returns when it was observed, whether it has expired, and what replaced it. This is the question a model cannot answer about its own training data.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The programme or claim to check."
},
"outlet": {
"type": "string"
}
},
"required": [
"query"
]
}🟢media_outlets(query, region, kind, limit)
Search stations, networks and streaming channels by name, callsign, network or owner. Returns licence status, transmitter power and antenna height where filed.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"region": {
"type": "string",
"description": "Two-letter US state."
},
"kind": {
"type": "string",
"description": "broadcast_station | network | streaming_service"
},
"limit": {
"type": "number"
}
},
"required": [
"query"
]
}⚪media_closed(query, limit)
Channels that have shut down, with the date they closed. Useful for checking whether a channel a model remembers still exists.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"limit": {
"type": "number"
}
}
}⚪media_verify(query, airing_id, record, signature, record_type)
Verify a signed record from this service. Pass an airing_id, or pass back a record you cached earlier with its signature and we will confirm it is byte-identical to what we signed. The public key and exact canonicalisation are at /.well-known/dtv-intel-signing.json so you can also verify offline without calling us.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text; an airing id is picked out of it if present."
},
"airing_id": {
"type": "number"
},
"record": {
"type": "object",
"description": "A previously returned signed claim."
},
"signature": {
"type": "string",
"description": "Base64 Ed25519 signature that came with the record."
},
"record_type": {
"type": "string",
"description": "Defaults to \"airing\"."
}
}
}🟢media_station_readiness(query, callsign)
Whether a US television station website can be read by an AI assistant: which AI crawlers it blocks by name in robots.txt, whether it publishes llms.txt or /.well-known/ai, and whether it has structured data. Pass a callsign for one station, or nothing for the industry-wide summary broken down by owner group.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "A callsign such as WNYT, or free text. Omit for the summary."
},
"callsign": {
"type": "string"
}
}
}⚪media_freshness(query)
How current this dataset is: when each source last ran, how many assertions are live versus expired, and the gaps we know we have.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
}
}⚪media_sources(query)
Where the data comes from, each with its licence and whether it may be redistributed.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
}
}Community
Evidence