{"name":"net.gradetv/grade","slug":"gradetv-grade","title":null,"description":"Public TV and radio catalogue with measured stream health, folders and M3U feeds for VLC.","url":"https://mcp.market/server/gradetv-grade","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-21T00:35:46.863Z","last_ok_at":"2026-09-21T00:35:46.863Z","latency_ms":98},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://gradetv.net","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://gradetv.net/mcp"}],"packages":[],"tools":[{"name":"add_favorite","description":"Favorita um canal para o dono.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Canal a favoritar, ex. `GloboNews.br`."}},"required":["channel_id"]}},{"name":"add_item","description":"Adiciona canal à sub-aba.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"group_id":{"type":"string","description":"Sub-aba que recebe o canal, `grp_…`."},"channel_id":{"type":"string","description":"ID do canal no catálogo, ex. `GloboNews.br`."}},"required":["group_id","channel_id"]}},{"name":"api_index","description":"Descobre a API Grade.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"billing","description":"Preços e tetos.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"channel_health","description":"Saúde comunitária do canal: taxa de sucesso, motivos de falha e ambientes afetados.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"ID do canal no iptv-org."}},"required":["id"]}},{"name":"chat_history","description":"Últimas mensagens da sala de um canal (sem WebSocket).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"ID do canal no iptv-org."}},"required":["channel_id"]}},{"name":"chat_pass","description":"Passe mensal do chat ($0.10 / 30 dias). Sem pagamento → 402.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"chat_send","description":"Manda mensagem na sala de um canal por HTTP.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"ID do canal no iptv-org."},"body":{"type":"string","description":"O texto da mensagem, dentro de `max_length`."},"author":{"type":"string","description":"Apelido a usar; sem ele o servidor gera um estável."}},"required":["channel_id","body"]}},{"name":"clear_history","description":"Limpa o histórico inteiro do dono.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"contact","description":"Contato, projeto de produtor ou proposta de patrocínio/parceria/anúncio ($0.10 x402/crédito por envio). Após o 1º envio: 429 + Retry-After.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Como chamar quem escreveu."},"email":{"type":"string","description":"Para onde responder."},"message":{"type":"string","description":"O que você quer dizer."},"tipo":{"type":"string","enum":["patrocinio","parceria","anuncio"],"description":"Proposta: `patrocinio`, `parceria` ou `anuncio`. Liga os campos abaixo."},"empresa":{"type":"string","description":"Quem propõe, quando é empresa."},"site":{"type":"string","description":"Site de quem propõe."},"orcamento":{"type":"string","enum":["ate_100","100_500","500_2000","2000_mais","a_combinar"],"description":"`ate_100`, `100_500`, `500_2000`, `2000_mais` ou `a_combinar`."},"espaco":{"type":"array","items":{"type":"string"},"description":"Ids de placement de `GET /api/partners`, até 6."},"duracao":{"type":"string","enum":["30","90","365"],"description":"Dias de exposição: `30`, `90` ou `365`."},"pagamento":{"type":"string","enum":["usdc","deposito","a_combinar"],"description":"`usdc`, `deposito` ou `a_combinar`."}},"required":["name","email","message"]}},{"name":"create_category","description":"Cria tab/categoria pessoal.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Nome da pasta, até 40 caracteres."}},"required":["name"]}},{"name":"create_group","description":"Cria sub-aba numa categoria.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"category_id":{"type":"string","description":"Pasta que vai receber a sub-aba, `cat_…`."},"name":{"type":"string","description":"Nome da sub-aba, até 40 caracteres."}},"required":["category_id","name"]}},{"name":"create_guest","description":"Cria guest ipt_…","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"delete_comment","description":"Apaga um comentário do próprio dono.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"ID do comentário, vindo de `Comentario.id`."}},"required":["id"]}},{"name":"forget_watch","description":"Tira um canal do histórico do dono.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Canal a remover do histórico, ex. `GloboNews.br`."}},"required":["channel_id"]}},{"name":"geo","description":"País sugerido pelo Cloudflare para a UI (fallback BR).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"get_channel","description":"Detalhe de um canal e seus streams.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"ID do canal no iptv-org, ex. `GloboNews.br`."}},"required":["id"]}},{"name":"get_channel_guide","description":"Programação de hoje do canal (grabada por nós): agora, a seguir e a lista.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"ID do canal no iptv-org."}},"required":["id"]}},{"name":"get_history","description":"Histórico de canais assistidos pelo dono.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"string","description":"Itens por página. Acima de 50 é silenciosamente reduzido a 50.","default":20},"offset":{"type":"string","description":"Quantos itens pular. Use `next_offset` da resposta anterior.","default":0}}}},{"name":"get_library","description":"Árvore organizada do dono + URLs de feed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"health","description":"Liveness.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"legacy_stream","description":"Metadados públicos: site oficial do canal, URL da transmissão para copiar em outro player e player legado HTTP.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"ID público do stream, incluindo compatibilidade de IDs antigos."}},"required":["id"]}},{"name":"list_cities","description":"Cidades com canal tocável.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string","description":"Restringe a um país, ISO 3166-1 alpha-2."},"subdivision":{"type":"string","description":"Restringe a um estado/província."}}}},{"name":"list_comments","description":"Comentários da comunidade sobre um canal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"ID do canal no iptv-org."}},"required":["id"]}},{"name":"list_countries","description":"Países do catálogo com contagem playable e URL da bandeira (kind=radio conta estações).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"kind":{"type":"string","enum":["tv","radio","all"],"description":"`tv` (padrão) conta canais de TV; `radio` conta estações do Radio Browser; `all` junta os dois.","default":"tv"}}}},{"name":"list_favorites","description":"Favoritos do dono.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_languages","description":"Idiomas do catálogo tocável.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_networks","description":"Redes (network) do catálogo tocável.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_qualities","description":"Qualidades distintas dos streams.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"list_subdivisions","description":"Estados/subdivisões com canal tocável.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string","description":"Restringe a um país, ISO 3166-1 alpha-2."}}}},{"name":"list_tags","description":"Tags das estações de rádio tocáveis (Radio Browser), com contagem; opcionalmente por país.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"country":{"type":"string","description":"Restringe às estações de um país, ISO 3166-1 alpha-2."},"limit":{"type":"string","description":"Quantas tags devolver (teto 100).","default":40}}}},{"name":"me","description":"Conta da sessão (cookie repassado pelo cliente MCP): e-mail, convidado principal e tamanho da biblioteca.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"mint_key","description":"Gera API key iptk_… (texto 1×).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"label":{"type":"string","description":"Rótulo para lembrar onde a chave foi usada."}}}},{"name":"play_reports","description":"Relatos crus de um canal, com endereço — só operador (METRICS_TOKEN). Use para investigar um canal específico.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Restringe a um canal."},"ok":{"type":"string","description":"`0` traz só as falhas — é o recorte que interessa numa investigação.","enum":["0"]},"limit":{"type":"string","description":"Itens por página. Acima de 50 é silenciosamente reduzido a 50.","default":20}}}},{"name":"post_comment","description":"Comenta num canal (teto de 20/hora por dono).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"ID do canal no iptv-org."},"body":{"type":"string","description":"O texto do comentário; o teto vem em `max_length` da listagem."},"author":{"type":"string","description":"Apelido a usar; sem ele o servidor gera um estável."}},"required":["id","body"]}},{"name":"pricing","description":"Current public prices and free allowances; no charge.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"producer_services","description":"Oferta de transmissão autorizada sob consulta: informações e contatos para produtores. Não ativa streams.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"lang":{"type":"string","enum":["pt","en","es","fr","de"],"description":"Idioma da oferta: pt, en, es, fr ou de; ausente ou desconhecido volta a pt.","default":"pt"}}}},{"name":"record_watch","description":"Registra um canal assistido no histórico do dono.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Canal assistido, ex. `GloboNews.br`."}},"required":["channel_id"]}},{"name":"remove_favorite","description":"Tira um canal dos favoritos do dono.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Canal a desfavoritar, ex. `GloboNews.br`."}},"required":["channel_id"]}},{"name":"report_play","description":"Relata se um canal tocou (ok=true) ou não (ok=false + code). Navegador, SO e país saem do pedido, não do corpo.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Canal que você tentou assistir."},"ok":{"type":"boolean","description":"`true` se tocou, `false` se falhou."},"code":{"type":"string","description":"Por que falhou; só quando `ok` é `false`.","enum":["cors","geo","sumiu","codec","playlist","sem_resposta","protocolo","sem_stream","outro"]}},"required":["channel_id","ok"]}},{"name":"search_channels","description":"Busca canais públicos (filtros: q, country, category, language, network, quality, playable; kind=radio para estações de rádio, tag para tag de rádio; sort=score ordena pela saúde medida por terceiro, sort=votes pelos votos da rádio; online=1 só quem foi visto online nas últimas 48 h).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"type":"string","description":"Texto livre no nome e nos apelidos do canal (busca full-text)."},"country":{"type":"string","description":"País do canal, ISO 3166-1 alpha-2."},"category":{"type":"string","description":"ID de categoria do iptv-org."},"language":{"type":"string","description":"Idioma do canal, ISO 639-3."},"network":{"type":"string","description":"Nome exato da rede/emissora."},"quality":{"type":"string","description":"Qualidade exata do stream."},"guide":{"type":"string","description":"`1` traz só canal com grade de programação (EPG).","enum":["0","1"],"default":"0"},"subdivision":{"type":"string","description":"Estado/província, código do iptv-org."},"city":{"type":"string","description":"Cidade, código do iptv-org."},"playable":{"type":"string","description":"`0` inclui canal sem stream utilizável conhecido.","enum":["0","1"],"default":"1"},"sort":{"type":"string","enum":["name","score","votes"],"description":"`score` ordena pela saúde medida por terceiro (IPTV Nexus), melhor primeiro; canal não medido vai para o fim. `votes` ordena pelos votos da comunidade do Radio Browser (rádio). `name` é a ordem alfabética.","default":"name"},"online":{"type":"string","description":"`1` traz só canal visto online pela fonte (IPTV Nexus para TV, Radio Browser para rádio) nas 48 h anteriores à última recarga do catálogo (`health_ext.online`); com o catálogo parado há mais de 48 h o filtro não devolve ninguém.","enum":["0","1"],"default":"0"},"kind":{"type":"string","enum":["tv","radio","all"],"description":"`tv` (padrão) é o catálogo de TV; `radio` são as estações do Radio Browser; `all` junta os dois. Sem `kind`, rádio nunca aparece.","default":"tv"},"tag":{"type":"string","description":"Tag da estação de rádio (vocabulário livre do Radio Browser, ex. `mpb`, `news`); veja `GET /api/tags`."}}}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-20T11:39:26.238Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T11:39:26.181Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 418ms"]},"poisoning":{"score":15,"max":15,"notes":["41 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 7 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://gradetv.net/mcp","reachable":true,"authRequired":false,"latencyMs":418,"serverInfo":{"name":"Grade","version":"edeb64b6"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://gradetv.net/icon.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}