net.gradetv/grade
net.gradetv/gradePublic TV and radio catalogue with measured stream health, folders and M3U feeds for VLC.
Score: 100/100
Handshake verified by our own probe.
Tools · 47
Channels with a collected TV guide, up to 48 per page.
The last TV guide available for the channel and up to 20 dates of its history.
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. T…
The index of the whole API, with the languages and the HTML pages of each language.
Liveness and the commit that is published now. The smoke test waits for its own deploy here.
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.
The countries in the catalog, with the playable count and the flag URL (`kind=radio` counts stations).
The tags of the playable radio stations, with the count, optionally by country.
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 me…
The languages that have a playable channel, with the count of each language.
The networks and broadcasters that have a playable channel, with the count.
The different qualities found in the catalog streams (for radio, the codec and the bitrate).
The states and provinces that have a playable channel.
The cities that have a playable channel. You can filter them by country and by state.
The full record of a channel, with the streams that already point to our hop.
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…
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 a…
The whole library of the owner: folders, tabs, channels and the feed URLs of each level.
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`.
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`.
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 libra…
The channels that the owner watched. It shows only the channels that are available in the catalog.
Records a watched channel in the owner's history.
Removes a channel from the owner's history.
Clears the whole history of the owner at once.
Checks the TV device's activation by its six-digit code. The network is the fallback for clients without a playback cookie or UUID.
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 …
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 …
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 …
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. T…
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 a…
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` tel…
The favorites of the owner. It shows only the channels that are available in the catalog.
Marks a channel as a favorite. A repeat does not add up: the public counter counts people, not clicks.
Removes the channel from the favorites and gives the point back to the public counter.
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.
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 messag…
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.
The last messages in the room of a channel (without WebSocket).
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.
Buys or confirms the monthly chat pass: $0.10 per 30 days, through x402 or credit. A pass that is already valid returns 200 without charging again: you can call it before writing, with no risk of payi…
The session account (the cookie that the MCP client passes on): the e-mail and the size of the account library. `user.id` is the account id, and the account owns the library when there is a session.
Prices in force, gallery caps and the full x402 configuration. It is the number IN FORCE: read it from here before you spend a call, instead of assuming the price of the documentation. With a credenti…
Write to the people behind the product: a question, or a sponsorship/partnership/advertising proposal. Free, no captcha and no payment; one message every 10 s per network (one that arrives sooner wait…
Current prices and free allowances. Returns: { product, quota{free,paid,how_to_pay,live,free_now?,charged_now?,trial?}, pricing, billing, api_index }
The last seven days of the channel's schedule in one call, for an agent, paid per call, with no account. Select the title or category across collected days and receive calendar events with absolute ti…
Seven days of the channel's schedule that end on the requested day, for an agent, paid per call, with no account. Up to seven collected days of the channel in one response, without an account or pass.…
Prompts · 5
What is on TV Brasil tonight?
Build this channel's schedule for the next few days.
Find Portuguese-language news channels for my list.
Is this channel having playback problems?
Show today's schedules for my favorite channels.
How to use
Claude Desktop or claude.ai: add a custom connector (Customize → Connectors; on Team and Enterprise plans an owner adds it under Organization settings → Connectors) with this server URL: https://gradetv.net/mcp
Cursor or Cline: add to your MCP config:
{
"mcpServers": {
"net.gradetv/grade": {
"url": "https://gradetv.net/mcp",
"transport": "streamable-http"
}
}
}