GradeTV
by gradetv.net in Other
Public TV and radio catalogue with measured stream health, folders and M3U feeds for VLC.
https://gradetv.net/mcp- Tools
- 47
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 709 ms
- 790 ms slowest 5%
- Last check
- Passed
- 4 h ago, next in 1 h
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"grade-4": {
"type": "http",
"url": "https://gradetv.net/mcp"
}
}
}47 tools
- list_programacao
Channels with a collected TV guide, up to 48 per page.
- get_programacao
The last TV guide available for the channel and up to 20 dates of its history.
- get_programacao_dia
The stored TV guide of a channel on one day. We collect and organize the available schedules. Read the channel and date you need instead of building an EPG collection process. Check available dates. The schedule is metadata; it does not provide a video archive or broadcast…
- api_index
The index of the whole API, with the languages and the HTML pages of each language.
- health
Liveness and the commit that is published now. The smoke test waits for its own deploy here.
- geo
The country and the language suggested for the caller. When the edge detects no country, it suggests BR with `source: "fallback"`; `detected` tells what the edge saw.
- list_countries
The countries in the catalog, with the playable count and the flag URL (`kind=radio` counts stations).
- list_tags
The tags of the playable radio stations, with the count, optionally by country.
- search_channels
Searches public channels (filters: q, country, category, language, network, quality, playable; kind=radio for radio stations, tag for a radio tag; sort=score orders by the health that a third party measures, sort=votes by the radio votes; online=1 returns only channels seen…
- list_languages
The languages that have a playable channel, with the count of each language.
- list_networks
The networks and broadcasters that have a playable channel, with the count.
- list_qualities
The different qualities found in the catalog streams (for radio, the codec and the bitrate).
- list_subdivisions
The states and provinces that have a playable channel.
- list_cities
The cities that have a playable channel. You can filter them by country and by state.
- get_channel
The full record of a channel, with the streams that already point to our hop.
- get_channel_guide
Today's TV guide of the channel (recorded by us): now, next and the list. It is available for the channels with a guide (`guide=1`) and is valid for up to two days. Check the date of the response; the channel record has the summary in `guide_now`.
- create_guest
Creates a guest `ipt_…`. It asks for no e-mail and no other data. Keep the token: if you lose the token, you lose the library, unless an account already claimed it (`POST /api/auth/claim`). Then the account keeps what the token saved.
- get_library
The whole library of the owner: folders, tabs, channels and the feed URLs of each level.
- create_category
Creates a personal folder (category). 8 folders at most per owner. The response has the whole updated library, so you do not need to reload `GET /api/library`.
- create_group
Creates a tab in a folder. 12 tabs at most per folder. The response has the whole updated library, so you do not need to reload `GET /api/library`.
- add_item
Adds a channel to a tab. 40 channels at most per tab. The response tells the folder and the tab where the channel went, so the screen opens in the right place. The response has the whole updated library, so you do not need to reload `GET /api/library`.
- get_history
The channels that the owner watched. It shows only the channels that are available in the catalog.
- record_watch
Records a watched channel in the owner's history.
- forget_watch
Removes a channel from the owner's history.
- clear_history
Clears the whole history of the owner at once.
- tv_state
Checks the TV device's activation by its six-digit code. The network is the fallback for clients without a playback cookie or UUID.
- tv_pass
Buy a TV pass for 2 devices: 0.10 USDC for 30 days, 0.29 for 90 or 0.99 for 365. No automatic renewal. A 402 uses x402 on Base; repeat the same call with PAYMENT-SIGNATURE (v2) or X-PAYMENT (v1). The shared ledger records the attempt, payment and entitlement. The code identifies…
- legacy_stream
Public metadata: the official site of the channel, the stream URL to copy into another player, and the legacy HTTP player. The legacy_url button opens http://legacy.gradetv.net/legacy?stream=ID, with no port in the address. The standalone page accepts lang=pt/en/es/fr/de/hu and…
- producer_services
Authorized broadcast offer on request: information and contacts for producers. It does not turn on streams; it only gives information and collects interest. To present a project, use contact.form_url in the browser, contact.email by e-mail, or POST /api/contact.
- report_play
Reports whether a channel played (ok=true) or not (ok=false with code). The browser and the system come from the User-Agent, and the country comes from the request data; the body cannot change them. The first report of a result on a day returns 201. It counts once per owner…
- play_reports
The raw reports of a channel, with the address. Operator only (METRICS_TOKEN). Use it to investigate one channel. In the current reports, the `ip` field has an identifier calculated from the network and a secret value. The retention period is in `retention_days`. The public…
- channel_health
The community health of the channel: the success rate, the failure reasons and the affected environments. It tells 'the channel is off the air' from 'the channel is blocked in your country'. `geo` tells whether it is a regional restriction or a general failure (with the…
- list_favorites
The favorites of the owner. It shows only the channels that are available in the catalog.
- add_favorite
Marks a channel as a favorite. A repeat does not add up: the public counter counts people, not clicks.
- remove_favorite
Removes the channel from the favorites and gives the point back to the public counter.
- list_comments
The community comments about a channel. When the call has a credential, each of your comments has `mine: true`; this is how the interface knows what you can delete.
- post_comment
Comments on a channel (20 per hour at most per owner). Without `author`, the server makes a nickname that stays the same for the same owner, so the person does not get a different name for each message.
- delete_comment
Deletes a comment of the owner. The 404 is on purpose: the API does not confirm that a comment with that id exists when it is not yours.
- chat_history
The last messages in the room of a channel (without WebSocket).
- chat_send
Sends a message to the room of a channel by HTTP. The speaker is the guest (`X-Guest-Token`), the same one that the WebSocket recognizes; without a guest, the account session.
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 4 h ago | Passed | 200 | 691 ms |
| 15 h ago | Passed | 200 | 693 ms |
| 27 h ago | Passed | 200 | 711 ms |
| 42 h ago | Passed | 200 | 686 ms |
| 2 days ago | Passed | 200 | 698 ms |
Show 10 older checks
| 3 days ago | Passed | 200 | 695 ms |
| 4 days ago | Passed | 200 | 709 ms |
| 4 days ago | Passed | 200 | 711 ms |
| 5 days ago | Passed | 200 | 732 ms |
| 5 days ago | Passed | 200 | 689 ms |
| 6 days ago | Passed | 200 | 701 ms |
| 6 days ago | Passed | 200 | 720 ms |
| 7 days ago | Passed | 200 | 699 ms |
| 7 days ago | Passed | 200 | 714 ms |
| 8 days ago | Passed | 200 | 709 ms |