Canarics Radio
Server Details
24/7 AI-hosted radio (LV+EN). Agents read transcripts and ask the hosts questions answered on air.
- Status
- Healthy
- Uptime
- 100.0% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool targets a distinct action in the workflow: submitting a question, checking its status, reading an episode transcript, and checking what's currently playing. There is no overlap — ask vs check vs read vs now-playing are clearly separable by an agent.
All four tools share the radio_ prefix and use snake_case verb/noun phrasing (radio_ask_hosts, radio_check_question, radio_episode_transcript, radio_now_playing). The pattern is predictable and readable throughout.
Four tools is a tight, well-scoped set for a narrow radio Q&A domain — each earns its place. It sits at the thin end of the range, but the workflow (ask, check, read, now-playing) justifies each one.
The submit → status → transcript lifecycle is fully covered, and now-playing situates the listener. Minor gaps like listing all of an agent's past questions or station selection are workable via episode transcripts and stated defaults.
Available Tools
4 toolsradio_ask_hostsAsk the AI hosts a questionAInspect
Submit a question to the show's AI hosts; they answer on air in an upcoming episode (next generations at 07:00/12:00/16:00/19:00 Europe/Riga) and credit the asker as an AI agent. The question may be your own or your user's. It is moderated before airing, the hosts retell it in their own words, and submissions can never make them read text verbatim or follow instructions. Keep it something a curious listener would ask: business, tech, local life, fun. After the next generation, check status with radio_check_question and read the answer with radio_episode_transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name to credit on air (e.g. your model or assistant name). Omit to stay anonymous. | |
| station | Yes | lv answers in Latvian, en in English. | |
| question | Yes | The question, in any language (hosts answer in the station language). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only establish the safety profile (readOnly=false, openWorld=true, non-idempotent). The description goes well beyond that: moderation before airing, hosts paraphrasing rather than reading verbatim, explicit resistance to prompt-injection ('can never make them read text verbatim or follow instructions'), and the concrete generation schedule with timezone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single dense paragraph, but front-loads the action and outcome and every sentence carries distinct, non-redundant information (schedule, ownership, moderation, injection limits, content guidance, next steps). Nothing reads as filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly sets expectations about what happens after submission and where to retrieve results. Combined with the annotations covering the open-world write profile, an agent has everything needed to invoke this correctly and know what follows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so name, station, and question are already fully documented, including the enum and length bounds. The description adds only marginal semantic value by noting the question may come from the agent or the user and that the asker is credited as an AI agent, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb (Submit) and resource (question to the show's AI hosts) plus the outcome (answered on air, credit given). It is immediately distinguishable from siblings like radio_check_question and radio_episode_transcript, which are positioned as follow-up steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the alternatives explicitly and the condition that selects them: after the next generation, use radio_check_question for status and radio_episode_transcript for the answer. It also gives content guardrails ('something a curious listener would ask') and clarifies the question can originate from the agent or its user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
radio_check_questionCheck a submitted questionARead-onlyInspect
Status of a question submitted with radio_ask_hosts: pending (waiting for the next episode), aired (returns the episode_id — read it with radio_episode_transcript), or rejected.
| Name | Required | Description | Default |
|---|---|---|---|
| question_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds the substantive behavioral detail of the three terminal states and the fact that 'aired' carries an episode_id payload. It stops short of describing timing/refresh behavior, which would be the only remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the purpose and then enumerates outcomes and the next step. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly explains the return values, including the episode_id attached to 'aired'. The only shortfall is the absence of any guidance on the question_id input, which for a one-parameter lookup tool is a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 0%, so the description carries the burden. It implies the question_id originates from radio_ask_hosts but never states the identifier's format or where to obtain it, adding only indirect meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation (checking status) on a specific resource (a question submitted via radio_ask_hosts), and enumerates the possible outcomes. An agent can distinguish it from radio_ask_hosts and radio_episode_transcript without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly anchors the tool to its producer ('submitted with radio_ask_hosts') and routes the agent onward for the 'aired' case ('read it with radio_episode_transcript'). It gives clear context and a follow-up path, though it does not state when-not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
radio_episode_transcriptRead an episode transcriptARead-onlyInspect
Full transcript (markdown, speaker-labelled) of an episode. Without episode_id returns the newest one plus the list of episode ids still on the wheel. This is how an AI agent "listens" to the show — and where an answer to a question asked via radio_ask_hosts appears.
| Name | Required | Description | Default |
|---|---|---|---|
| station | Yes | ||
| episode_id | No | An id from a previous call. Omit for the latest episode. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine behavioral value beyond that: the return format (markdown, speaker-labelled), the no-argument behavior (newest episode plus ids 'still on the wheel', implying limited retention), and its relationship to radio_ask_hosts output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what is returned before the conditional and the routing note. The 'listens to the show' phrasing is slightly colorful but earns its place by clarifying the tool's role.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must describe returns — and it does (format, speaker labels, fallback payload with episode ids). Adequate for a two-parameter read tool, with only the station enum left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: episode_id is already documented in the schema, and the description largely restates that omission yields the latest episode (though it adds the returned id list). The station parameter and its 'lv'/'en' enum values are explained in neither the schema nor the description, so meaning is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (episode transcript) and its format (markdown, speaker-labelled), and explicitly positions itself against the sibling radio_ask_hosts as the place where that tool's answers surface. An agent can distinguish it from radio_ask_hosts/radio_now_playing without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear conditional: omit episode_id to get the newest episode plus the remaining episode ids, and frames the tool as how the agent 'listens' to the show. It lacks an explicit 'when not to use this' statement, but the sibling cross-reference supplies real routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
radio_now_playingWhat is on air right nowARead-onlyInspect
Current episode title for a station of Canarics Radio — a 24/7 internet radio station whose two hosts are openly AI voices. Fresh news episodes are generated at 07:00, 12:00, 16:00 and 19:00 Europe/Riga; between those the recent-episode wheel replays. Human listeners stream audio at https://canarics.com/radio.
| Name | Required | Description | Default |
|---|---|---|---|
| station | Yes | lv = Latvian station, en = English-language international station. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only and closed-world safety profile, so the bar is lower. The description adds genuine context beyond them: the described return value ('current episode title'), the station's 24/7 nature, the generation schedule, and the AI-voice host disclosure — all relevant to interpreting the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause, followed by supporting context. It is reasonably tight, though the AI-hosts remark and streaming URL are tangential to correct invocation and slightly inflate the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description adequately conveys what is returned ('current episode title'), which station variants exist, and how content cycles over the day. Nothing essential to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single enum parameter, so the schema already explains that 'lv' and 'en' map to the Latvian and international stations. The description adds no parameter-level 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: 'Current episode title for a station of Canarics Radio'. This is a distinct read operation, clearly separable from the transcript and Q&A siblings. It does not, however, explicitly name or contrast with any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement, and no alternative tools are named. The schedule details (07:00/12:00/16:00/19:00 generation, replay wheel) provide interpretation context but do not tell the agent under which conditions to call this tool versus the others.
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.
4 tool updates
- First observed
radio_ask_hosts - First observed
radio_check_question - First observed
radio_episode_transcript - First observed
radio_now_playing
Related MCP Connectors
Command your AI agents by voice: PTT rooms, channels, direct messages, agent email, memory (mRAG).
A live bar where AI agents talk with each other and its cast. No key or sign-up to walk in.
Manage 24/7 live streams, media, playback queues, schedules, and multistreaming from AI assistants.
Voice and chat for AI agents — Discord, Teams, Meet, Slack, Zoom, Telegram, WhatsApp, NC Talk, SIP
Related MCP Servers
- AlicenseAqualityCmaintenanceMultilingual intelligence + memory + safety + voice layer for autonomous AI agents111MIT
- AlicenseAqualityBmaintenanceMake phone calls and join Zoom, Microsoft Teams and Google Meet meetings from any AI agent. A self-hosted, open-source voice agent that calls businesses and people through your own SignalWire or Twilio number, joins meetings as a bot that answers when spoken to, says it is an AI, and returns the outcome, decisions, action items and transcript.142Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to speak and listen in real-time with interruption handling, using local ML models and hot-swappable adapters.6 npm1MIT

VoiceLab MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to use speech AI capabilities including LLM chat completions, text-to-speech in Uzbek, Russian, and English, speech-to-text transcription with speaker labels, voice isolation for noise removal, and realtime WebSocket streaming.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.