Escola de Rádio TV & Web (ER+)
by www.escoladeradio.com.br · remote · no sign-in to list tools · v1.0.0 · published by br.com.escoladeradio.www
Cursos, turmas, vagas, professores, podcasts e blog da Escola de Rádio (ER+) — read-only.
15 tools: 3 change things and 12 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads12Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http public https://www.escoladeradio.com.br/api/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Changes things 3Claude Code: ask
check_availabilityCheca vagas restantes na PRÓXIMA turma de um curso.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Checa vagas restantes na PRÓXIMA turma de um curso. Mescla matrículas reais no Supabase com a curva de marketing (computeEffectiveSlots) e nunca mostra mais vagas do que realmente existem. Se soldOut=true, oriente o usuário a entrar na lista de espera pelo WhatsApp da secretaria.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
radio_now_playingRetorna o que está tocando AGORA na Rádio Escola de Rádio (rádio web 24h da escola): música atual, próxima, ouvintes conectados, link do stream e como ouvir.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Retorna o que está tocando AGORA na Rádio Escola de Rádio (rádio web 24h da escola): música atual, próxima, ouvintes conectados, link do stream e como ouvir. Use quando perguntarem sobre a rádio da escola, o que está no ar, ou como escutar.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
school_infoRetorna informações institucionais da Escola de Rádio: CNPJ, endereço, contatos, horários, modalidades de curso oferecidas.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Retorna informações institucionais da Escola de Rádio: CNPJ, endereço, contatos, horários, modalidades de curso oferecidas. Bom ponto de partida pra entender o que a escola é.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 12Claude Code: allow
get_blog_postDetalhe completo de um post do blog incluindo o corpo em markdown (convertido do PortableText do Sanity).No findings
Why it is in this group
- The name "get_blog_post" says "get": a word for reading.
Description, as the server wrote it Detalhe completo de um post do blog incluindo o corpo em markdown (convertido do PortableText do Sanity). Útil pra LLMs lerem o conteúdo na íntegra.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_courseRetorna detalhe COMPLETO de um curso: descrição, módulos/programa, professores, preço, parcelamento, duração, certificação (DRT?), próxima turma, vagas (mescladas com matrículas re…No findings
Why it is in this group
- The name "get_course" says "get": a word for reading.
Description, as the server wrote it Retorna detalhe COMPLETO de um curso: descrição, módulos/programa, professores, preço, parcelamento, duração, certificação (DRT?), próxima turma, vagas (mescladas com matrículas reais), depoimentos, FAQ específico. Use list_courses pra descobrir o slug.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_podcast_episodeDetalhe completo de um episódio: áudio (URL .mp3), excerpt, convidados, tópicos, links citados e transcrição (quando disponível).No findings
Why it is in this group
- The name "get_podcast_episode" says "get": a word for reading.
Description, as the server wrote it Detalhe completo de um episódio: áudio (URL .mp3), excerpt, convidados, tópicos, links citados e transcrição (quando disponível).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_teacherDetalhe de um professor: bio completa, foto e lista dos cursos que ele leciona atualmente.No findings
Why it is in this group
- The name "get_teacher" says "get": a word for reading.
Description, as the server wrote it Detalhe de um professor: bio completa, foto e lista dos cursos que ele leciona atualmente.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_blog_postsLista posts publicados do blog editorial da ER+.No findings
Why it is in this group
- The name "list_blog_posts" says "list": a word for reading.
Description, as the server wrote it Lista posts publicados do blog editorial da ER+. Opcionalmente filtra por categoria.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_coursesLista TODOS os cursos ativos da escola (resumido).No findings
Why it is in this group
- The name "list_courses" says "list": a word for reading.
Description, as the server wrote it Lista TODOS os cursos ativos da escola (resumido). Opcionalmente filtra por modalidade. Modalidades: 'profissionalizante' (formação completa com DRT), 'livre' (Express, especialização curta), 'ead' (online assíncrono). Use get_course com o slug pra detalhe completo.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_podcast_episodesLista episódios publicados, ordenados do mais novo pro mais antigo.No findings
Why it is in this group
- The name "list_podcast_episodes" says "list": a word for reading.
Description, as the server wrote it Lista episódios publicados, ordenados do mais novo pro mais antigo. Opcionalmente filtra por série (parâmetro podcast_slug).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_podcast_seriesLista todas as séries de podcast da ER+ com contagem de episódios, host e links externos (Spotify, YouTube, Apple Podcasts).No findings
Why it is in this group
- The name "list_podcast_series" says "list": a word for reading.
Description, as the server wrote it Lista todas as séries de podcast da ER+ com contagem de episódios, host e links externos (Spotify, YouTube, Apple Podcasts).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_servicesLista serviços oferecidos pela ER+ ALÉM dos cursos regulares: 'demo' (gravação de demo profissional com Ruy, R$ 350), 'mentoria' (mentoria 1:1 com Ruy, R$ 250/h), 'b2b' (treinament…No findings
Why it is in this group
- The name "list_services" says "list": a word for reading.
Description, as the server wrote it Lista serviços oferecidos pela ER+ ALÉM dos cursos regulares: 'demo' (gravação de demo profissional com Ruy, R$ 350), 'mentoria' (mentoria 1:1 com Ruy, R$ 250/h), 'b2b' (treinamentos corporativos pra empresas). Use quando aluno perguntar sobre demo, mentoria, treinamento empresarial. Pra cursos regulares, use list_courses.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_teachersLista todos os professores ATIVOS da escola, com nome, função e descrição curta.No findings
Why it is in this group
- The name "list_teachers" says "list": a word for reading.
Description, as the server wrote it Lista todos os professores ATIVOS da escola, com nome, função e descrição curta.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_upcoming_classesLista turmas com data_inicio futura (a partir de hoje), ordenadas por data crescente.No findings
Why it is in this group
- The name "list_upcoming_classes" says "list": a word for reading.
Description, as the server wrote it Lista turmas com data_inicio futura (a partir de hoje), ordenadas por data crescente. Use isso pra responder 'que cursos têm turma marcada?' ou 'qual a próxima turma de X?'. Pra vagas em tempo real, use check_availability.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
searchBusca textual cross-content: cursos, posts do blog e episódios de podcast.No findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Busca textual cross-content: cursos, posts do blog e episódios de podcast. Retorna até `limit` resultados de cada tipo.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http public https://www.escoladeradio.com.br/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__public__list_courses",
"mcp__public__get_course",
"mcp__public__list_upcoming_classes",
"mcp__public__list_teachers",
"mcp__public__get_teacher",
"mcp__public__list_podcast_series",
"mcp__public__list_podcast_episodes",
"mcp__public__get_podcast_episode",
"mcp__public__list_blog_posts",
"mcp__public__get_blog_post",
"mcp__public__search",
"mcp__public__list_services"
],
"ask": [
"mcp__public__school_info",
"mcp__public__check_availability",
"mcp__public__radio_now_playing"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as public. Review it before you use it.