accueil / serveurs / Communication / net.gradetv/grade
net.gradetv/grade
serveur MCP (Model Context Protocol) · GradeTV 5235c8a0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que net.gradetv/grade est sûr ?
Au dernier audit MCP Hub, le serveur MCP « net.gradetv/grade » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 41 outils
- add_favorite≈ 120 tokens
Marks a channel as a favorite. A repeat does not add up: the public counter counts people, not clicks.
Paramètres, retour & exemple (1)
Paramètreschannel_id· string · requis
Channel to mark as a favorite, for example `GloboNews.br`.
Exemple d'appel{"name": "add_favorite", "arguments": {"channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_item≈ 185 tokens
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`.
Paramètres, retour & exemple (2)
Paramètresgroup_id· string · requis
Tab that receives the channel, `grp_…`.channel_id· string · requis
Channel ID in the catalog, for example `GloboNews.br`.
Exemple d'appel{"name": "add_item", "arguments": {"group_id": "texte", "channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - api_index≈ 77 tokens
The index of the whole API, with the languages and the HTML pages of each language.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "api_index", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - channel_health≈ 223 tokens
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 countries), `regions[]` has the success and the failure by country, `latency[]` has the opening speed measured at the hop by country, and `pra_voce` sums it up for the country of the caller. Without community reports (`POST /api/play-report`), the panel is empty.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Channel ID in the catalog, for example `GloboNews.br`.
Exemple d'appel{"name": "channel_health", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - chat_history≈ 108 tokens
The last messages in the room of a channel (without WebSocket).
Paramètres, retour & exemple (1)
Paramètreschannel_id· string · requis
Channel ID in the catalog, for example `GloboNews.br`.
Exemple d'appel{"name": "chat_history", "arguments": {"channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - chat_send≈ 189 tokens
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.
Paramètres, retour & exemple (3)
Paramètresbody· string · requis
The message text, within `max_length`.author· string · optionnel
Nickname to use; without it, the server makes a stable one.channel_id· string · requis
Channel ID in the catalog, for example `GloboNews.br`.
Exemple d'appel{"name": "chat_send", "arguments": {"body": "texte", "channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - clear_history≈ 73 tokens
Clears the whole history of the owner at once.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "clear_history", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - contact≈ 833 tokens
Write to the people behind the product: a question, or a sponsorship/partnership/advertising proposal. One route for a question and for a sponsorship, partnership or ad proposal (`tipo`, with the placements of `GET /api/partners`). One message every 10 seconds per network: one that arrives sooner waits its turn and then goes out — no error. The message reaches the team by e-mail, with `email` as the reply address. For voice, send multipart/form-data: `dados` is this JSON (up to 32 KiB), and `audio` is one WebM, Ogg or M4A audio file (up to 2 MB). Audio can replace message. The browser records up to two minutes. Audio is attached to the owner's e-mail.
Paramètres, retour & exemple (18)
Paramètresfuso· string · optionnel
Consulting: the IANA time zone, such as `America/New_York`.name· string · requis
What to call the person writing.pais· string · optionnel
Consulting: the country of the person asking.site· string · optionnel
Website of who is proposing.tipo· string · optionnel · patrocinio | parceria | anuncio | consultoria
Proposal: `patrocinio`, `parceria`, `anuncio` or `consultoria`. Turns on the fields below.email· string · requis
Where to reply.prazo· string · optionnel · agora | 1_mes | 1_3_meses | explorando
Consulting: when to start (`agora`, `1_mes`, `1_3_meses` or `explorando`).espaco· array · optionnel
Placement ids from `GET /api/partners`, up to 6.duracao· string · optionnel · 30 | 90 | 365
Exposure in days: `30`, `90` or `365`.empresa· string · optionnel
Who is proposing, when it is a company.formato· string · optionnel · projeto | mensal | assessoria
Consulting: `projeto` (per scope), `mensal` (monthly) or `assessoria` (advisory).message· string · requis
What you want to say.projeto· string · optionnel · llm_privado | voz | dados_sensiveis | gpu | integracao | outro
Consulting: the kind of project (`llm_privado`, `voz`, `dados_sensiveis`, `gpu`, `integracao` or `outro`).horarios· array · optionnel
Consulting: up to 3 times for the call, `YYYY-MM-DDTHH:MM` in that time zone.whatsapp· string · optionnel
Optional reply number with country code, such as +5561999999999.orcamento· string · optionnel · ate_100 | 100_500 | 500_2000 | 2000_mais | a_combinar | ate_2000 | 2000_5000 | 5000_10000
Advertising: `ate_100`, `100_500`, `500_2000`, `2000_mais` or `a_combinar`. Consulting, in US dollars: `ate_2000`, `2000_5000`, `5000_10000`, `10000_mais` or `nao_sei`.pagamento· string · optionnel · usdc | deposito | a_combinarprefer_whatsapp· boolean · optionnel
Request a WhatsApp reply. Requires whatsapp.
Exemple d'appel{"name": "contact", "arguments": {"name": "texte", "email": "texte", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_category≈ 126 tokens
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`.
Paramètres, retour & exemple (1)
Paramètresname· string · requis
Folder name, up to 40 characters.
Exemple d'appel{"name": "create_category", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_group≈ 147 tokens
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`.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Tab name, up to 40 characters.category_id· string · requis
Folder that receives the tab, `cat_…`.
Exemple d'appel{"name": "create_group", "arguments": {"name": "texte", "category_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_guest≈ 119 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "create_guest", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - delete_comment≈ 119 tokens
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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Comment ID, from `Comentario.id`.
Exemple d'appel{"name": "delete_comment", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - forget_watch≈ 110 tokens
Removes a channel from the owner's history.
Paramètres, retour & exemple (1)
Paramètreschannel_id· string · requis
Channel to remove from the history, for example `GloboNews.br`.
Exemple d'appel{"name": "forget_watch", "arguments": {"channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - geo≈ 108 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "geo", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_channel≈ 108 tokens
The full record of a channel, with the streams that already point to our hop.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Channel ID in the catalog, for example `GloboNews.br`.
Exemple d'appel{"name": "get_channel", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_channel_guide≈ 156 tokens
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`.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Channel ID in the catalog, for example `GloboNews.br`.
Exemple d'appel{"name": "get_channel_guide", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_history≈ 143 tokens
The channels that the owner watched. It shows only the channels that are available in the catalog.
Paramètres, retour & exemple (2)
Paramètreslimit· string · optionnel
Items per page. A value above 50 becomes 50.offset· string · optionnel
How many items to skip. Use `next_offset` from the previous response.
Exemple d'appel{"name": "get_history", "arguments": {"limit": "texte", "offset": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_library≈ 78 tokens
The whole library of the owner: folders, tabs, channels and the feed URLs of each level.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_library", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_programacao≈ 140 tokens
The last TV guide available for the channel and up to 20 dates of its history.
Paramètres, retour & exemple (2)
Paramètresslug· string · requis
The stored slug of the channel, from the collection.antes· string · optionnel
Exclusive day to page through the earlier days; use `guia.proximo`.
Exemple d'appel{"name": "get_programacao", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_programacao_dia≈ 157 tokens
The stored TV guide of a channel on one day.
Paramètres, retour & exemple (3)
Paramètresdia· string · requis
Collection day, YYYY-MM-DD.slug· string · requis
The stored slug of the channel, from the collection.antes· string · optionnel
Exclusive day to page through the earlier days; use `guia.proximo`.
Exemple d'appel{"name": "get_programacao_dia", "arguments": {"dia": "texte", "slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - health≈ 81 tokens
Liveness and the commit that is published now. The smoke test waits for its own deploy here.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "health", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - legacy_stream≈ 222 tokens
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 theme=light/dark. Playlists go through the HTTPS hop, and the media comes directly from the origin. It does not remove an access refusal or a CORS requirement. It is one indexed read: it does not fetch the origin and does not write to the database.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Public stream ID, including the old IDs for compatibility.
Exemple d'appel{"name": "legacy_stream", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_cities≈ 121 tokens
The cities that have a playable channel. You can filter them by country and by state.
Paramètres, retour & exemple (2)
Paramètrescountry· string · optionnel
Limits to one country, ISO 3166-1 alpha-2.subdivision· string · optionnel
Limits to one state or province.
Exemple d'appel{"name": "list_cities", "arguments": {"country": "texte", "subdivision": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_comments≈ 131 tokens
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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Channel ID in the catalog, for example `GloboNews.br`.
Exemple d'appel{"name": "list_comments", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_countries≈ 128 tokens
The countries in the catalog, with the playable count and the flag URL (`kind=radio` counts stations).
Paramètres, retour & exemple (1)
Paramètreskind· string · optionnel · tv | radio | all
`tv` (default) counts TV channels; `radio` counts radio stations; `all` counts both.
Exemple d'appel{"name": "list_countries", "arguments": {"kind": "tv"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_favorites≈ 80 tokens
The favorites of the owner. It shows only the channels that are available in the catalog.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_favorites", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_languages≈ 77 tokens
The languages that have a playable channel, with the count of each language.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_languages", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_networks≈ 76 tokens
The networks and broadcasters that have a playable channel, with the count.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_networks", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_programacao≈ 133 tokens
Channels with a collected TV guide, up to 48 per page.
Paramètres, retour & exemple (2)
Paramètresq· string · optionnel
Search in the channel name across the whole collection, up to 80 characters.depois· string · optionnel
Exclusive ID of the last row; use `proximo`.
Exemple d'appel{"name": "list_programacao", "arguments": {"q": "texte", "depois": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_qualities≈ 84 tokens
The different qualities found in the catalog streams (for radio, the codec and the bitrate).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_qualities", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_subdivisions≈ 100 tokens
The states and provinces that have a playable channel.
Paramètres, retour & exemple (1)
Paramètrescountry· string · optionnel
Limits to one country, ISO 3166-1 alpha-2.
Exemple d'appel{"name": "list_subdivisions", "arguments": {"country": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_tags≈ 128 tokens
The tags of the playable radio stations, with the count, optionally by country.
Paramètres, retour & exemple (2)
Paramètreslimit· string · optionnel
How many tags to return (100 at most).country· string · optionnel
Limits to the stations of one country, ISO 3166-1 alpha-2.
Exemple d'appel{"name": "list_tags", "arguments": {"limit": "texte", "country": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - me≈ 103 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "me", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - play_reports≈ 217 tokens
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 panel does not return this identifier.
Paramètres, retour & exemple (3)
Paramètresok· string · optionnel · 0
`0` returns only the failures, which is the subset for an investigation.limit· string · optionnel
Items per page. A value above 50 becomes 50.channel_id· string · optionnel
Limits to one channel.
Exemple d'appel{"name": "play_reports", "arguments": {"ok": "0", "limit": "texte", "channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - post_comment≈ 196 tokens
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.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Channel ID in the catalog, for example `GloboNews.br`.body· string · requis
The comment text. The limit is in `max_length` of the list.author· string · optionnel
Nickname to use; without it, the server makes a stable one.
Exemple d'appel{"name": "post_comment", "arguments": {"id": "texte", "body": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - producer_services≈ 181 tokens
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.
Paramètres, retour & exemple (1)
Paramètreslang· string · optionnel · pt | en | es | fr | de | hu
Language of the offer: pt, en, es, fr, de or hu. A missing or unknown value falls back to pt.
Exemple d'appel{"name": "producer_services", "arguments": {"lang": "pt"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - record_watch≈ 109 tokens
Records a watched channel in the owner's history.
Paramètres, retour & exemple (1)
Paramètreschannel_id· string · requis
The watched channel, for example `GloboNews.br`.
Exemple d'appel{"name": "record_watch", "arguments": {"channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - remove_favorite≈ 120 tokens
Removes the channel from the favorites and gives the point back to the public counter.
Paramètres, retour & exemple (1)
Paramètreschannel_id· string · requis
Channel to remove from the favorites, for example `GloboNews.br`.
Exemple d'appel{"name": "remove_favorite", "arguments": {"channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - report_play≈ 293 tokens
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, channel, day and result; a repeat returns 200 with `reason: ja_relatado_hoje`. The reports help to compare results in `GET /api/channels/:id/health`, but they do not confirm the cause of a failure.
Paramètres, retour & exemple (3)
Paramètresok· boolean · requis
`true` when it played, `false` when it failed.code· string · optionnel · cors | geo | sumiu | codec | playlist | sem_resposta | protocolo | sem_stream
Failure code, only when `ok` is `false`. A missing or unknown code counts as `outro`.channel_id· string · requis
The channel that you tried to watch.
Exemple d'appel{"name": "report_play", "arguments": {"ok": true, "channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_channels≈ 672 tokens
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 online in the last 48 h). This is the main entry point of the product. The response changes with the browser, the system and the country of the caller: each channel has `social.your_fails`, the result for YOUR environment, so the response is `Cache-Control: private`.
Paramètres, retour & exemple (14)
Paramètresq· string · optionnel
Free text in the channel name and its aliases (full-text search).tag· string · optionnel
Radio station tag (free vocabulary, for example `mpb` or `news`); see `GET /api/tags`.city· string · optionnel
City, catalog code.kind· string · optionnel · tv | radio | all
`tv` (default) is the TV catalog; `radio` is the radio stations; `all` is both. Without `kind`, radio never appears.sort· string · optionnel · name | score | votes
`score` orders by the health that a third party measures, best first; channels with no measurement go to the end. `votes` orders by the votes recorded for the station (radio). `name` is alphabetical order.guide· string · optionnel · 0 | 1
`1` returns only channels with a TV guide (EPG).online· string · optionnel · 0 | 1
`1` returns only channels that the source saw online in the 48 h before the last catalog reload (`health_ext.online`). When the catalog has not reloaded for more than 48 h, the filter returns no channel.country· string · optionnel
Country of the channel, ISO 3166-1 alpha-2.network· string · optionnel
Exact name of the network or broadcaster.quality· string · optionnel
Exact quality of the stream.category· string · optionnel
Category ID from the catalog.language· string · optionnel
Language of the channel, ISO 639-3.playable· string · optionnel · 0 | 1
`0` also includes channels with no known usable stream.subdivision· string · optionnel
State or province, catalog code.
Exemple d'appel{"name": "search_channels", "arguments": {"q": "texte", "tag": "texte", "city": "texte", "kind": "tv", "sort": "name", "guide": "0"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tv_state≈ 113 tokens
Checks the activation of the TV network by the six-digit code.
Paramètres, retour & exemple (1)
Paramètrescodigo· string · requis
The six digits shown on the TV screen. They are valid for ten minutes.
Exemple d'appel{"name": "tv_state", "arguments": {"codigo": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».