Skip to main content
Glama

Server Details

Cursos, turmas, vagas, professores, podcasts e blog da Escola de Rádio (ER+) — read-only.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a clearly distinct resource or query type: courses, teachers, blog posts, podcast episodes, series, services, upcoming classes, radio status, school info, and cross-content search. Even the related availability and class-listing tools are delineated well by their descriptions.

Naming Consistency4/5

The set follows a strong list_/get_ convention for most tools, making resource types and actions predictable. A few tools like school_info, radio_now_playing, and search break the pattern but are still readable and unambiguous.

Tool Count5/5

With 15 tools, the server covers a broad but coherent set of domains for a media school: courses, content, services, radio, teachers, and institutional info. Every tool serves a distinct informational purpose, and the count is within the well-scoped range.

Completeness5/5

The surface covers the full range of public information a user or agent would need: course discovery and details, teacher bios, blog content, podcast content, services, upcoming classes, real-time availability, radio status, school info, and cross-content search. Enrollment actions like waitlists are intentionally delegated to external contact, so there are no obvious dead ends.

Available Tools

15 tools
check_availabilityVagas restantes em um cursoA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesSlug do curso. Ex: 'narracao-esportiva'.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive). The description goes further by disclosing the data-merging behavior (real Supabase enrollments blended with the marketing curve via computeEffectiveSlots) and the guarantee that availability is never overstated — genuine behavioral context beyond structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the purpose followed by the guarantee and the soldOut action. No filler, though the parenthetical function name is somewhat internal-facing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries some return-value burden; it names soldOut explicitly and hints at the slot count, but doesn't enumerate the full response shape. For a single-parameter read tool it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single slug parameter is already fully documented including an example. The description adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (checa) and resource (vagas restantes na próxima turma de um curso), and scopes it to the upcoming class, distinguishing it from list_upcoming_classes. An agent knows exactly what it returns without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides guidance for one outcome (if soldOut=true, direct the user to the WhatsApp waitlist), which is useful. However, it never explains when to pick this tool over siblings like get_course or list_upcoming_classes, so selection guidance is only partially implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_blog_postDetalhe de post (markdown)A
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesSlug do post.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so safety is covered. The description adds a genuine behavioral detail beyond them: the content is converted from Sanity PortableText into markdown, which tells the agent what format to expect. Auth requirements and pagination are not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the core purpose front-loaded and the format detail following. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A single-parameter, read-only fetch whose annotations and schema are complete, and which has no output schema to explain. The description covers purpose and return format adequately; only an explicit pointer to list_blog_posts would make it fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and only one parameter (slug) exists, so the schema fully documents the input. The description adds no slug format or example beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Detalhe completo de um post do blog') and clarifies the returned payload (body in markdown converted from PortableText). The detail-vs-list contrast with sibling list_blog_posts is strongly implied by 'Detalhe completo' but the sibling is never named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'Útil pra LLMs lerem o conteúdo na íntegra' hints at when to reach for it (need the full content rather than a listing), but no alternative tool is named and no exclusions are given. Usage is implied, not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_courseDetalhe de cursoA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesSlug do curso (kebab-case). Ex: 'locucao-profissionalizante', 'narracao-esportiva', 'podcast-express'.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds real behavioral context: vagas are 'mescladas com matrículas reais', signaling computed/merged data, and it discloses the full response field set. It stops short of describing pagination or error behavior, which is acceptable for a single-resource read.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence front-loads the COMPLETO scope and lists the returned fields efficiently, followed by a short routing instruction. The field list is long but every item earns its place by telling the agent what to expect. Minor verbosity in enumerating ten-plus fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with full annotation coverage and no output schema, the description is nearly complete: it names the resource, the slug prerequisite, and the shape of the returned detail including the non-obvious merged vacancies field. An output schema is absent, yet the description effectively enumerates the return shape, which compensates. It lacks any note on error or not-found behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the slug parameter is documented with format (kebab-case) and examples, so the schema carries the parameter burden. The description only restates the slug requirement by pointing to list_courses, adding routing value rather than parameter detail. Baseline 3 applies when the schema fully documents the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (retorna detalhe) and resource (curso), and enumerates the exact fields returned (descrição, módulos, professores, preço, parcelamento, etc.), so the agent knows precisely what this tool produces. It is clearly distinguishable from siblings like list_courses and get_teacher.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to list_courses to discover the slug, which is a clear usage precondition. It does not name a when-not condition or alternative for fetching a course by another key, but the slug prerequisite is well covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_podcast_episodeDetalhe de episódioA
Read-onlyIdempotent
Inspect

Detalhe completo de um episódio: áudio (URL .mp3), excerpt, convidados, tópicos, links citados e transcrição (quando disponível).

ParametersJSON Schema
NameRequiredDescriptionDefault
episode_slugYesSlug do episódio.
podcast_slugYesSlug da série.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds genuinely useful behavioral context by enumerating the returned payload and, importantly, flagging that the transcript is only present 'quando disponível', which tells the agent the field may be absent. No pagination or error behavior is mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the core purpose and then lists the payload contents without filler. Every element earns its place and nothing is repeated from structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully compensates by listing the returned fields, and both parameters are fully documented in the schema. For a simple two-parameter read tool this is nearly sufficient; only the absence of any usage routing or edge-case behavior keeps it from 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both required slug parameters are documented there, so the schema does the heavy lifting. The description adds no format, resolution or example details for podcast_slug or episode_slug beyond what the schema already states. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (a podcast episode) and enumerates exactly what the payload covers: audio URL, excerpt, guests, topics, cited links and transcript. The retrieval verb is only implicit in the noun phrase 'Detalhe completo', but the resource is unmistakable and clearly distinct from list_podcast_episodes. It falls short of 5 only because it never explicitly contrasts itself with the list siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the detail counterpart to list_podcast_episodes and that it needs both slugs. There is no statement of when to reach for this versus list_podcast_series or search, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_teacherDetalhe de professorB
Read-onlyIdempotent
Inspect

Detalhe de um professor: bio completa, foto e lista dos cursos que ele leciona atualmente.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesSlug do professor. Ex: 'ruy-jobim'.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful content-level context (what fields are returned: bio, photo, courses), which matters since there is no output schema, but it says nothing about behavior on an invalid/unknown slug.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence that front-loads the entity and lists the returned contents with zero filler. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool with a rich annotation set, the description covers what is fetched and what is returned. It is only slightly incomplete in not addressing lookup failure, which is a minor gap given no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single slug parameter, and the schema already gives the format plus an example ('ruy-jobim'). The description adds no further meaning about the parameter, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: retrieving a single teacher's detail, and enumerates the payload (full bio, photo, current courses). It is clearly different from list_teachers by scope (single entity + detail), though it never names the sibling explicitly to make the contrast unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives such as list_teachers or search, and no prerequisites beyond the required slug. Usage is only inferable from the name and the singular 'um professor' phrasing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_blog_postsListar posts do blogA
Read-onlyIdempotent
Inspect

Lista posts publicados do blog editorial da ER+. Opcionalmente filtra por categoria.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMáximo de posts (default 20).
category_slugNoSlug da categoria (opcional).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond them — only *published* posts are returned — but says nothing about ordering, default result size behavior, or pagination beyond the schema's limit field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler, front-loading the resource scope before the optional filter. Nothing is wasted or buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple filtered-list tool whose annotations carry the safety profile and whose schema documents both parameters, the description is nearly sufficient. It does not indicate result ordering or how the published-only constraint interacts with categories, a minor remaining gap given there is no output schema to explain returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (limit with default 20 and category_slug) are already fully documented in the schema. The description only echoes the category filter concept and adds no syntax, format, or slug-convention detail beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Lista') and resource ('posts publicados do blog editorial da ER+') with a clear scope constraint that published-only posts are returned. This distinguishes it in substance from the singular sibling get_blog_post, though it never names or contrasts a sibling explicitly to earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Opcionalmente filtra por categoria' implies a browsing/listing use case and notes the filter is optional, but there is no explicit when-to-use guidance, no condition for choosing between this and get_blog_post, and no stated prerequisites. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_coursesListar cursosA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modalidadeNoFiltra por modalidade (opcional).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly, idempotent, non-destructive, and closed-world, so the safety profile is handled. The description adds non-annotation context: results are 'resumido' (summarized shape, important since there is no output schema) and limited to 'cursos ativos' (active-only scope). It does not mention pagination or result counts, but otherwise adds real value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and scope are front-loaded in the first clause, the enum glosses are compact, and the closing routing sentence removes ambiguity. No filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by declaring the response is a summarized list and pointing to get_course for full detail. Annotations cover the safety/behavioral profile, so nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description goes beyond the enum labels by defining each modality's meaning ('profissionalizante' = formação completa com DRT, 'livre' = Express/short specialization, 'ead' = online assíncrono). That domain gloss helps the agent pick the right filter value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope: lists ALL active courses, summarized, with an optional modality filter. It also distinguishes itself from the get_course sibling by specifying this returns the summarized view while get_course + slug returns detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to the alternative tool ('Use get_course com o slug pra detalhe completo') and notes the filter is optional, which tells the agent when this listing is sufficient. It does not state any explicit when-not conditions, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_podcast_episodesListar episódios de podcastA
Read-onlyIdempotent
Inspect

Lista episódios publicados, ordenados do mais novo pro mais antigo. Opcionalmente filtra por série (parâmetro podcast_slug).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMáximo de episódios (default 20).
podcast_slugNoSlug da série (opcional). Ex: 'tom-em-tom'.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior. The description adds genuine behavioral context beyond them: results are restricted to published episodes and are returned in newest-to-oldest order, which affects how an agent consumes the response. It still omits pagination/windowing behavior, which is only partially covered by the schema default.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with purpose and ordering front-loaded ahead of the optional filter. Nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, read-only list tool with full annotation coverage and a fully described schema, the description covers purpose, scope, ordering and the optional filter. Only pagination/windowing nuance for the limit parameter is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both limit and podcast_slug are already documented, including the default of 20 and the slug example. The description only restates that podcast_slug is an optional series filter, adding no format or syntax detail beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource ('Lista episódios publicados') with scope (published only) and ordering (newest to oldest). An agent can distinguish it from the singular get_podcast_episode and from list_podcast_series, though it does not name those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Opcionalmente filtra por série' tells the agent the series filter is optional, which implies the intended usage, but there is no explicit when-to-use/when-not guidance or routing to sibling tools (e.g., when to use list_podcast_series instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_podcast_seriesListar séries de podcastB
Read-onlyIdempotent
Inspect

Lista todas as séries de podcast da ER+ com contagem de episódios, host e links externos (Spotify, YouTube, Apple Podcasts).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds useful context by disclosing the shape of the data returned (episode count, host, external links), which compensates somewhat for the missing output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence with no waste, front-loading the resource and then the payload. Nothing bloats it, though it is minimal rather than richly structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description carries the burden of explaining what comes back, and it does so reasonably well by naming the fields. It could add ordering or filtering notes, but for a simple no-arg list tool this is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the single-sentence scope statement is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Lista todas as séries de podcast da ER+') and enumerates the fields returned (episode count, host, external links). It implicitly distinguishes series from the sibling list_podcast_episodes, but never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, no prerequisites, and no mention of alternatives such as list_podcast_episodes or get_podcast_episode. The agent must infer selection from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_servicesListar serviços além dos cursosA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFiltra por tipo de serviço (opcional, default 'all').

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds content context (pricing, who delivers the service) but says nothing about return shape, pagination, or auth — appropriate given the low bar set by the annotations, but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the enumeration of services so the agent can pattern-match a user question quickly, ending with the explicit alternative. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-optional-enum, read-only list tool with full annotation coverage and no output schema, nothing an agent needs is missing: scope, trigger phrases, alternative route, and per-type meaning are all present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the enum values are listed there, but the description goes beyond the schema by explaining what each value actually is (demo = gravação profissional com Ruy, R$ 350; mentoria = 1:1, R$ 250/h; b2b = treinamentos corporativos). That is genuine added meaning over bare enum tokens.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (lista) plus resource (serviços da ER+) and immediately scopes it as being ALÉM dos cursos regulares, then names the sibling it is not (list_courses). An agent can distinguish it from list_courses without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit trigger conditions are given ('Use quando aluno perguntar sobre demo, mentoria, treinamento empresarial') along with the routing rule for the alternative ('Pra cursos regulares, use list_courses'). Both when-to-use and when-not-to-use are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_teachersListar professoresA
Read-onlyIdempotent
Inspect

Lista todos os professores ATIVOS da escola, com nome, função e descrição curta.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this a read-only, idempotent, non-destructive operation, so the safety profile needs no restatement. The description adds genuinely new context: only ACTIVE teachers are returned, which is a real filtering behavior an agent cannot derive from the annotations or the empty schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero filler. The scope constraint (ACTIVOS) and the returned fields are front-loaded and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with no output schema, the description supplies the essential missing pieces: the active-only filter and the returned fields. Only the absence of routing guidance to get_teacher keeps it from being fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the baseline rule this sits at 4. The description instead documents the shape of the returned records (nome, função, descrição curta), which is useful because no output schema exists.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lista todos os professores') with a clear scope qualifier ('ATIVOS'). The plural/scope contrasts implicitly with the sibling get_teacher, though it never names the sibling explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus get_teacher, list_services, or search. The intended use (bulk listing rather than single fetch) is inferable from the plural name but never stated, and no exclusions or prerequisites appear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_upcoming_classesPróximas turmasA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMáximo de turmas a retornar (default 20).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world. Description adds the filtering rule (start date >= today) and sort order, which shapes the result set. It doesn't mention pagination or the default limit's effect, but annotations cover the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: scope, use-case examples, and alternative. Zero filler, front-loaded with the core constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple filtered list with annotations covering safety and a fully-documented parameter. Minor gap: no indication of response shape or what happens when the horizon is empty, though no output schema exists to cover that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the sole parameter (limit) has a description with default and bounds. The description adds nothing parameter-specific beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource with scope ('turmas com data_inicio futura a partir de hoje') and ordering, distinguishing it from siblings like list_courses (all courses) and check_availability (real-time slots). An agent can identify exactly what this returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit example queries it answers and names the alternative (check_availability) with the condition that selects it ('pra vagas em tempo real'). Clear when-to-use and when-to-use-else.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

radio_now_playingRádio ER+: o que está tocandoA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context by emphasizing the real-time nature ('AGORA') and detailing what the tool returns, which goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The core action and payload are front-loaded, and the usage guidance is appended compactly. Every clause earns its place, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only tool, the description covers all an agent needs: what it returns, when to use it, and how it differs from siblings. Annotations cover safety. The lack of an output schema is not a gap here because the description enumerates the return content explicitly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the input schema is empty, so the baseline is 4. The description does not need to explain parameters; it appropriately focuses on the output and usage. No parameter information is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Retorna') and resource ('o que está tocando AGORA na Rádio Escola de Rádio'), listing the exact data returned (current/next song, listeners, stream link, how to listen). It also includes a usage line that differentiates it from sibling tools like school_info or search, so an agent can identify the tool instantly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use it ('Use quando perguntarem sobre a rádio da escola, o que está no ar, ou como escutar'), giving clear triggering contexts. It does not mention when not to use it or name alternatives, but given no sibling tool covers radio playback, the context is sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

school_infoInformações da escolaA
Read-onlyIdempotent
Inspect

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 é.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the scope of returned data (institutional fields), not behavioral traits such as whether the info is static/cached or how contacts are formatted; with annotations doing the heavy lifting a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste: the return contents are listed first, the usage hint second. Nothing is repeated from the title or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so by enumerating the institutional fields returned, which is sufficient for a zero-param read-only tool. It stops short of noting return format/structure or whether the data can be stale, leaving a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 per the rubric. There is nothing parameter-wise for the description to clarify, and it correctly spends no space on inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Retorna informações institucionais da Escola de Rádio') and then enumerates the exact content returned (CNPJ, address, contacts, hours, course modalities). No sibling tool (get_course, list_services, radio_now_playing) covers this institutional-profile data, so the agent can distinguish it from the list without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Bom ponto de partida pra entender o que a escola é' implies a general orientation/first-step use case, which is a genuine usage signal. However, no alternatives are named and no conditions for when-not-to-use it are given; the guidance stays at the implied level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedradio_now_playing
  2. 1 tool update
    • Addedlist_services
  3. 13 tool updates
    • First observedcheck_availability
    • First observedget_blog_post
    • First observedget_course
    • First observedget_podcast_episode
    • First observedget_teacher
    • First observedlist_blog_posts
    • First observedlist_courses
    • First observedlist_podcast_episodes
    • First observedlist_podcast_series
    • First observedlist_teachers
    • First observedlist_upcoming_classes
    • First observedschool_info
    • First observedsearch

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources