Brainiall Pronunciation
Server Details
Pronunciation assessment, phoneme scoring, speaker voice ID, audio transcription, speech synthesis.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
14 toolsassess_pronunciationAssess PronunciationARead-onlyIdempotentInspect
Assess English pronunciation quality from audio.
Scores pronunciation at four levels: overall, sentence, word, and phoneme. Each score is 0-100. Phonemes are returned in both IPA and ARPAbet notation. Sub-300ms inference latency.
Args: audio_base64: Base64-encoded audio data. Supports WAV, MP3, OGG, and WebM formats. text: The reference English text that the speaker was expected to read aloud. audio_format: Audio format hint — one of 'wav', 'mp3', 'ogg', 'webm'. Defaults to 'wav'.
Returns: dict with keys: - overallScore (int 0-100): Overall pronunciation quality - sentenceScore (int 0-100): Sentence-level fluency and accuracy - words (list): Per-word scores, each containing: - word (str): The word - score (int 0-100): Word pronunciation score - phonemes (list): Per-phoneme scores with IPA/ARPAbet notation - decodedTranscript (str): What the model heard (ASR transcript) - transcript (str): Reference text - confidence (float 0-1): Scoring confidence - warnings (list[str]): Quality warnings if any - audioQuality (dict): Audio metrics (SNR, peak/RMS dB, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The reference English text that the speaker was expected to read aloud. | |
| audio_base64 | Yes | Base64-encoded audio data. Supports WAV, MP3, OGG, and WebM formats. | |
| audio_format | No | Audio format hint — one of 'wav', 'mp3', 'ogg', 'webm'. | wav |
TDQS
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 meaningful beyond-annotation behavior: sub-300ms latency, detailed output structure including decodedTranscript (what the model heard), warnings, audioQuality, and phoneme representations. These help the agent anticipate the tool's behavior and result shape without contradicting any annotation.
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 description is structured into purpose, args, and returns, and each piece is action-oriented. It is longer than minimal, but the detailed return breakdown earns its place because there is no output schema. Slight redundancy with the input schema is minor, and the purpose statement is front-loaded.
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 compensates by enumerating full return keys and their meaning, including per-word/phoneme structure and confidence. It also covers input arguments, formats, and latency. It does not explicitly discuss error cases or comparisons to other tools, but for this tool's complexity it is largely complete.
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%, and the description's Args section largely mirrors the schema content (audio_base64, text, audio_format, formats, default). It adds no new semantic meaning beyond the schema already provides, 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 opens with a clear verb and resource: 'Assess English pronunciation quality from audio.' It further explains the four scoring levels and output details, which differentiates it from transcription and synthesis siblings like transcribe_audio, transcribe_audio_pro, and synthesize_speech. It does not explicitly name or contrast with sibling tools, but the purpose is unmistakable.
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?
The description implies usage: if you need pronunciation quality scores from audio, use this tool. However, it provides no explicit 'when to use versus alternatives' guidance, such as pointing to transcribe_audio for transcription or check_pronunciation_service for service health. It relies on the agent infering appropriate use from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_pronunciation_serviceCheck Pronunciation ServiceARead-onlyIdempotentInspect
Check if the Brainiall Pronunciation service is healthy and ready.
Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the scoring model is loaded - version (str): API version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior. The description adds valuable detail about return fields (status, modelLoaded, version) and what modelLoaded means. It does not contradict annotations; it only omits exact error state names, which is minor.
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 description is brief, front-loaded with the main purpose, and uses a compact list for return values. Every sentence and key earns its place; there is no 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?
For a zero-parameter, read-only health check with strong annotations, the description is complete. It communicates the service being checked and the full expected return shape, so an agent can invoke and interpret the result correctly.
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?
The tool has no parameters, so the baseline is 4. There is nothing for the description to add beyond confirming no inputs are required, which the schema already conveys.
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 uses a specific verb and resource: 'Check if the Brainiall Pronunciation service is healthy and ready.' It clearly names the target service, which distinguishes it from sibling health checks like check_stt_service and check_tts_service.
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?
The use case is implied as a health/readiness check for the pronunciation service, but the description does not explicitly state when to use it versus alternatives or when not to use it. No exclusions or routing guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_stt_serviceCheck STT ServiceARead-onlyIdempotentInspect
Check if the Brainiall Speech service is healthy and ready.
Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the speech-recognition model is loaded - version (str): API version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 behavioral context by documenting the return keys including status, modelLoaded, and version, which clarifies what 'healthy and ready' means operationally.
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 description is compact and front-loaded with the core purpose, followed by a concise structured return-value breakdown. Every sentence contributes necessary information without redundancy or 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?
For a zero-parameter read-only health check, the description adequately covers the return values and the meaning of readiness. It does not discuss potential error states in detail or clarify differences from sibling health-check tools, but the simple scope makes the current description reasonably complete.
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?
The tool takes no parameters and the schema is empty, so there is no parameter burden on the description. The baseline of 4 applies because parameter semantics are not applicable and nothing is missing.
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 clearly states the verb 'Check' and the resource 'Brainiall Speech service', and specifies what 'healthy and ready' means through the returned keys. It does not explicitly distinguish itself from sibling health-check tools like check_tts_service or check_whisper_service, so it stops short of full differentiation.
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?
The description implies this is a health/readiness check to perform before using STT functionality, but it does not explicitly state when to use this tool versus the sibling check_pronunciation_service, check_tts_service, or check_whisper_service. No exclusions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_tts_serviceCheck TTS ServiceARead-onlyIdempotentInspect
Check if the Brainiall Voice service is healthy and ready.
Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the synthesis model is loaded - version (str): API version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds meaningful behavioral context beyond those hints by detailing the return keys: status, modelLoaded, and version, including the meaning of modelLoaded. This clarifies what 'healthy and ready' actually exposes to the caller.
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 description is brief, front-loaded with the core purpose, and then provides a clean structured list of return fields. There is no filler, and every sentence contributes usable information for the agent.
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 parameters and no output schema, the description carries the full burden of explaining the response. It documents all expected keys, their types, and the meaning of modelLoaded, making the tool fully callable and interpretable without additional lookup.
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?
The tool accepts zero parameters and schema coverage is 100%, so there is no parameter information for the description to add. The baseline for a no-parameter tool is 4, and the description appropriately focuses on return values instead of parameters.
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 clear verb+resource: 'Check if the Brainiall Voice service is healthy and ready.' The reference to 'synthesis model' ties it specifically to TTS, and the tool name reinforces that. It does not explicitly distinguish itself from sibling health-check tools like check_stt_service, but the TTS-specific wording is sufficient for basic differentiation.
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?
The description gives no guidance on when to use this tool versus sibling health checks, nor does it mention any preconditions or alternatives. Usage context is only implied by the service name and the 'healthy and ready' phrasing, so an agent gets no explicit routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_whisper_serviceCheck Brainiall Speech Pro ServiceBRead-onlyIdempotentInspect
Check if the Brainiall Speech Pro service is healthy and ready.
Returns: dict with keys: - status (str): 'healthy' or error state - modelLoaded (bool): Whether the Brainiall Speech Pro engine is loaded - diarizeLoaded (bool): Whether the diarization pipeline is loaded - version (str): API version - modelName (str): Engine version identifier
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is established. The description adds useful context about what 'healthy and ready' means via the returned fields, but does not go deeper into operational behavior such as startup requirements, error triggers, or rate limits.
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 purpose is front-loaded in one sentence, and the return contract is listed compactly in a structured block. There is no filler, though the return-key list is a bit mechanical and could have been tightened further.
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 zero-parameter, read-only health check with strong annotations and no output schema, the description provides the essential return contract and states the tool's purpose. Minor omissions like the exact meaning of an error state and the relationship to the Whisper subservice do not prevent correct invocation.
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?
The tool has zero parameters, so the description rightfully contains no parameter details. With no params, the baseline is 4, and there is nothing more the description needs to explain.
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 uses a specific verb ('check') and names a concrete resource ('Brainiall Speech Pro service'), with return keys clarifying what is checked. However, it does not explicitly distinguish itself from sibling health-check tools like check_tts_service or check_pronunciation_service, and the 'Brainiall Speech Pro' label is not obviously connected to the 'whisper' tool name.
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 guidance on when to use this tool versus sibling health checks. The purpose implies use before dependent speech operations, but the description never states when to prefer this tool, what prerequisites exist, or which alternatives to consider.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_phoneme_inventoryGet Phoneme InventoryARead-onlyIdempotentInspect
Get the full phoneme inventory supported by the pronunciation scorer.
Returns a list of all English phonemes the engine can assess, including ARPAbet symbol, IPA equivalent, example word, and phoneme category (vowel, consonant, diphthong).
Returns: list of dicts, each with keys: - arpabet (str): ARPAbet symbol (e.g. 'AA', 'TH') - ipa (str): IPA notation - example (str): Example word containing the phoneme - category (str): vowel, consonant, or diphthong
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive, so the description does not need to repeat those facts. It adds value by disclosing the exact return shape: a list of dicts with keys for arpabet, ipa, example, and category. No contradiction with annotations exists.
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 description is front-loaded with the core verb and resource, followed by structured return details. The Returns block partially overlaps the introductory 'including' list, but this redundancy is acceptable because there is no output schema to document the payload.
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 zero-parameter, read-only inventory endpoint with no output schema, the description is functionally complete: it defines the result type, all fields, their types, and the category values. The annotations cover safety and idempotence, so nothing needed to call the tool 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?
The tool has zero parameters and the input schema confirms an empty properties object, so there is no parameter behavior to explain. The description correctly avoids inventing parameter details and passes the baseline for parameterless tools.
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 uses a specific verb ('Get') and clearly identifies the resource ('full phoneme inventory supported by the pronunciation scorer'). It also lists the returned fields, which distinguishes it from service-status or speech-processing sibling tools.
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?
The intended use case is clear: call this when you need the set of phonemes the scorer can assess. It does not explicitly name alternatives or exclusions, but the purpose is unambiguous and distinct from the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tts_voicesList TTS VoicesARead-onlyIdempotentInspect
List all available Brainiall Voice synthesis voices with metadata.
Returns: dict with keys: - voices (list): Available voices, each with id, name, gender, accent, grade - defaultVoice (str): Default voice ID
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description's main burden is to explain the return contract. It does that clearly by specifying the 'voices' list fields and 'defaultVoice', which is useful context beyond the annotations.
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 description is compact and informative. The first sentence states the action and scope, and the return block adds necessary structural detail without redundancy or 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?
For a zero-parameter, read-only list tool, this description is complete: it names the resource, describes the output shape, and lists the key metadata fields per voice. No essential invocation or response-interpretation information 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?
With zero parameters, the description does not need to explain parameter meaning. The baseline of 4 applies because there is no parameter schema ambiguity to compensate for; the only relevant semantics are the return values, which the description covers.
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 verb ('List') and a specific resource ('all available Brainiall Voice synthesis voices'), which cleanly distinguishes it from sibling tools like synthesize_speech, voice_id_list_speakers, or transcription services. It also clarifies the output is metadata, not audio or other content.
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?
The tool's purpose strongly implies when to use it: when an agent needs the set of available TTS voices and the default voice ID. However, the description does not explicitly state when not to use it or mention an alternative, such as synthesize_speech when needing to actually generate audio.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synthesize_speechSynthesize SpeechARead-onlyIdempotentInspect
Generate natural speech audio from English text.
Produces high-quality speech with 12 English voices. Returns base64-encoded WAV audio (16-bit PCM, 24kHz mono) along with metadata.
Available voices:
af_heart (default), af_bella, af_nicole, af_sarah, af_sky (American female)
am_adam, am_michael (American male)
bf_emma, bf_isabella (British female)
bm_george, bm_lewis, bm_daniel (British male)
Args: text: English text to synthesize (1-5000 characters). voice: Voice ID. See list above. Defaults to 'af_heart'. speed: Speed multiplier from 0.5 to 2.0 (default: 1.0).
Returns: dict with keys: - audio_base64 (str): Base64-encoded WAV audio (16-bit PCM, 24kHz) - duration_ms (str): Audio duration in milliseconds - voice (str): Voice ID used - text_length (str): Input text character count - processing_ms (str): Synthesis time in milliseconds
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | English text to convert to speech. Max 5000 characters. | |
| speed | No | Speech speed multiplier (0.5 = half speed, 2.0 = double). | |
| voice | No | Voice ID (e.g. 'af_heart', 'am_adam'). Uses default if omitted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses behavior beyond the annotations: it returns base64-encoded WAV audio with specific format details (16-bit PCM, 24kHz mono), includes metadata keys such as duration_ms and processing_ms, and enumerates all 12 voices. This goes well beyond the readOnlyHint and idempotentHint annotations.
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 description is front-loaded with the core verb and resource, then uses a clear voice list and compact Args/Returns structure. Every sentence carries useful information; the length is justified by the voice catalog and return format documentation.
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 tool with no output schema, the description fully documents the return dictionary and its keys. It covers required input, optional parameters, defaults, ranges, and voice options, leaving no gap an agent would need to infer before calling the tool correctly.
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 already 100%, and the description adds substantial value by enumerating every valid voice ID with accent/gender groupings, specifying the 1-5000 character text constraint, and explaining the speed multiplier range with default. This gives an agent everything needed to construct correct parameters.
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 opens with a specific verb and resource: 'Generate natural speech audio from English text.' It goes on to list the exact output format and available voice options, making the tool's function unmistakable and clearly distinct from sibling tools like transcribe_audio or voice_id_enroll.
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?
The description provides clear context for use: English text input, voice selection, and speed control. It does not explicitly state when not to use this tool or name alternative tools for related tasks, but the purpose is unambiguous enough that an agent can correctly select it for text-to-speech synthesis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_audioTranscribe AudioARead-onlyIdempotentInspect
Transcribe audio to text with word-level timestamps.
Converts spoken English audio into text with optional word-level timestamps and per-word confidence scores.
Args: audio_base64: Base64-encoded audio data (WAV, MP3, OGG, FLAC, WebM). audio_format: Audio format hint. Auto-detected from magic bytes if omitted. include_timestamps: Whether to include word-level timing (default: true).
Returns: dict with keys: - text (str): Full decoded transcript - words (list): Per-word results with timestamps, each containing: - word (str): The transcribed word - start (float): Start time in seconds - end (float): End time in seconds - confidence (float 0-1): Word-level confidence - audioDurationMs (int): Audio duration in milliseconds - metadata (dict): Processing time, audio length, model version - audioQuality (dict): Audio metrics (SNR, peak/RMS dB, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| audio_base64 | Yes | Base64-encoded audio data. Supports WAV, MP3, OGG, FLAC, and WebM formats. | |
| audio_format | No | Audio format hint — 'wav', 'mp3', 'ogg', 'flac', 'webm'. Auto-detected if omitted. | |
| include_timestamps | No | If true, include word-level start/end times and confidence. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description is not required to restate safety. It adds useful behavioral detail: optional word-level timestamps, confidence scores, audio format auto-detection via magic bytes, and a detailed return dict including metadata and audio quality. It does not discuss failure cases or size limits, but the return contract is unusually explicit.
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 description is front-loaded with a concise one-sentence summary followed by structured Args and Returns sections. It is easy to scan and information-dense. There is some redundancy between the first two sentences, but overall the structure is effective.
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 carries the burden of explaining return values, and it does so thoroughly: text, word-level details, duration, metadata, and audio quality. Combined with full schema coverage and safety annotations, an agent has enough to invoke the tool correctly. It could more explicitly state that only English is supported and clarify when to choose transcribe_audio_pro, but these are limited gaps.
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 the baseline is 3; the schema already documents all three parameters. The description's Args section mostly repeats the schema, adding only 'magic bytes' and tying in per-word confidence scores. This is marginal added value beyond the structured parameter definitions.
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 verb and resource: 'Transcribe audio to text with word-level timestamps.' It also clarifies it handles spoken English audio with optional per-word confidence scores. However, it does not distinguish itself from the sibling transcribe_audio_pro, so an agent would need to infer which transcription tool is appropriate.
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 guidance, and no alternatives such as transcribe_audio_pro or check_whisper_service are mentioned. The only implied usage is 'transcribe audio,' but no selection criteria or exclusions are provided relative to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_audio_proTranscribe Audio ProARead-onlyIdempotentInspect
Transcribe audio with Brainiall Speech Pro — multilingual transcription.
Supports 99 languages with automatic language detection, word-level timestamps, per-word confidence scores, and optional speaker diarization (identifies who spoke each word). Best-in-class WER (~2%).
Args: audio_base64: Base64-encoded audio (WAV, MP3, OGG, FLAC, WebM). language: Language code. Auto-detected if omitted. Supports 99 languages. diarize: Enable speaker diarization (default: false). When true, each word includes a speaker label (e.g. SPEAKER_00, SPEAKER_01).
Returns: dict with keys: - text (str): Full decoded transcript - words (list): Per-word results with timestamps, each containing: - word (str), start (float), end (float), confidence (float 0-1) - speaker (str|null): Speaker label when diarize=true - speakers (dict|null): Speaker info with count and labels - audioDurationMs (int): Audio duration in milliseconds - metadata (dict): Processing time, language, languageProbability - audioQuality (dict): Audio metrics (SNR, peak/RMS dB, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| diarize | No | Enable speaker diarization to identify who spoke each word. | |
| language | No | Language code (e.g. 'en', 'es', 'zh'). Auto-detected when omitted. | |
| audio_base64 | Yes | Base64-encoded audio data. Supports WAV, MP3, OGG, FLAC, and WebM formats. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include readOnlyHint: true, idempotentHint: true, and destructiveHint: false, which cover the non-mutating nature. The description adds beyond this by documenting output structure, language auto-detection, diarization behavior, and metadata/quality metrics, enriching the agent's understanding without contradicting the annotations.
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 description is organized with clear Args and Returns sections, front-loading the core purpose. It is somewhat verbose but every detail, including the return structure, earns its place given the absence of an output schema. The structure aids readability without redundancy.
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?
Given the tool's complexity (multiple formats, language support, diarization, rich output), the description is comprehensive. It covers parameter formats, defaults, return types, and behavioral nuances, fully compensating for the lack of an output schema and leaving no obvious gap for correct invocation.
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?
While the input schema covers all three parameters with descriptions, the tool description goes further by explaining auto-detection of language, the effect of diarize on speaker labels, supported audio formats, and the detailed return dictionary. This adds significant semantic value beyond the schema, especially since there is no output schema.
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 begins with 'Transcribe audio with Brainiall Speech Pro' and immediately distinguishes itself from the basic sibling 'transcribe_audio' by detailing advanced features such as multilingual support, diarization, and confidence scores. This gives a specific verb, resource, and capability set that unambiguously identifies the tool's purpose.
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?
The description provides no explicit guidance on when to use this tool versus the basic 'transcribe_audio' sibling. It does not state conditions, exclusions, or recommendation criteria, leaving the agent to infer that the 'Pro' variant is for advanced needs without clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
voice_id_enrollEnroll VoiceprintAInspect
Enroll a voiceprint for a speaker from ~2s of clear speech. Repeat with more clips to strengthen it.
Only an irreversible embedding is stored — never the raw audio.
Returns: dict with keys: speaker_id (str), n_samples (int), enrolled (bool).
| Name | Required | Description | Default |
|---|---|---|---|
| audio | Yes | Base64-encoded WAV with >= 2s of clear speech | |
| group_id | Yes | The group/namespace this speaker belongs to | |
| speaker_id | Yes | Your identifier for this speaker |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: it discloses that only an irreversible embedding is stored, never raw audio, which is important for a voice-related tool. It also explains that repeated clips strengthen the enrollment. This is valuable transparency that the annotations alone do not provide.
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 description is compact and front-loaded: it opens with the core action, adds reinforcement guidance, then gives a crucial privacy note and return format. Every sentence adds value, and the return structure is presented clearly without unnecessary verbosity.
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?
The description covers the essential operational context: input requirements, repeat behavior, irreversibility, and return keys. Since there is no output schema, including the return dict is helpful. It could mention failure or duplicate-enrollment behavior, but for selection and invocation this is sufficiently complete.
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 the input schema already documents audio, speaker_id, and group_id. The description adds some context about audio duration and repeated enrollment, but does not add substantial new meaning for the parameters beyond what the schema already states. Baseline 3 is appropriate.
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 verb ('Enroll') and resource ('voiceprint for a speaker'), with a clear input requirement (~2s of clear speech). The title and description match, and the action is clearly distinct from sibling tools like voice_id_identify, voice_id_verify, and voice_id_list_speakers.
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?
The description implies when to use this tool: when enrolling a new voiceprint from a speech clip. It also gives practical guidance about repeating enrollment to strengthen the voiceprint. However, it does not explicitly contrast with sibling tools or state when not to use it, e.g., when identification or verification is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
voice_id_identifyIdentify Speaker (1:N)ARead-onlyIdempotentInspect
1:N identification — rank everyone enrolled in the group against this clip.
Returns: dict with keys: candidates (list of {speaker_id, similarity}, best first).
| Name | Required | Description | Default |
|---|---|---|---|
| audio | Yes | Base64-encoded WAV of the clip to identify | |
| top_k | No | How many candidate speakers to return | |
| group_id | Yes | The group/namespace to search within |
TDQS
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 behavioral context about the ranking operation ('rank everyone... against this clip') and specifies return format including 'candidates (list of {speaker_id, similarity}, best first)', which goes beyond annotations. No contradiction with annotations is present.
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 description is extremely concise: two sentences that state the purpose and the return structure. It front-loads the core function and avoids any redundant details. Every word earns its place, making it an exemplary model of conciseness.
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?
The tool is moderately complex with three parameters and no output schema, but the description covers the return format, and the schema fully documents parameters. Annotations handle safety. The only minor gap is that the description does not explicitly mention constraints like audio format or group_id requirement, but these are in the schema and are straightforward. Overall, the information is sufficient for an agent to call the tool correctly.
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 all parameters (audio, group_id, top_k) are already documented in the input schema with descriptions. The description does not add any additional parameter semantics or clarify their usage beyond what the schema provides, so the baseline score of 3 is appropriate.
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 operation: '1:N identification — rank everyone enrolled in the group against this clip.' It clearly identifies the resource (speaker) and the action (identify/rank) and differentiates from siblings like voice_id_verify (1:1) and voice_id_enroll via the '1:N' qualifier. The purpose is unambiguous.
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?
The description implies usage for multi-candidate identification via '1:N identification' and 'rank everyone', but it does not explicitly mention when to use this tool versus alternatives such as voice_id_verify for 1:1 matching or voice_id_list_speakers for listing. No exclusions or alternative conditions are given, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
voice_id_list_speakersList Enrolled SpeakersARead-onlyIdempotentInspect
List the speakers enrolled in a group.
Returns: dict with keys: speakers (list of {speaker_id, n_samples, ...}).
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | Yes | The group/namespace to list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior, so the description need not repeat those. It adds the return shape but does not disclose edge-case behavior such as whether a nonexistent group returns an empty list or an error; still, annotations carry most of the safety burden.
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 description is very short, front-loaded with the action, and uses a clear return contract. Every sentence earns its place with no redundancy.
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 single-parameter, read-only list operation with rich annotations, the description is largely complete and even includes the return shape because no output schema exists. It could be slightly stronger by stating whether an unknown or empty group returns an empty speakers list, but this is a minor 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?
Schema coverage is 100%, and the group_id description ('The group/namespace to list') fully explains the parameter. The description's mention of 'a group' adds no new semantic 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 uses a specific verb ('List') and resource ('speakers enrolled in a group'), making the operation unambiguous. It is clearly differentiated from voice_id_enroll, voice_id_identify, and voice_id_verify, and from list_tts_voices by the domain (speaker enrollment vs TTS voices).
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?
The description clearly indicates when to use the tool: whenever an agent needs to list enrolled speakers for a specific group. It does not explicitly name alternatives or exclusions, but the sibling tool set makes the appropriate context obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
voice_id_verifyVerify Speaker (1:1)ARead-onlyIdempotentInspect
1:1 verification — is this clip the enrolled speaker?
Returns: dict with keys: similarity (float), match (bool), threshold (float).
| Name | Required | Description | Default |
|---|---|---|---|
| audio | Yes | Base64-encoded WAV of the clip to check | |
| group_id | Yes | The group/namespace | |
| threshold | No | Optional cosine-similarity threshold (defaults to a tuned value); higher = stricter | |
| speaker_id | Yes | The enrolled speaker to verify against |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the description only needs to add context beyond that. It does so by specifying the return dictionary with similarity, match, and threshold keys, giving the agent a concrete expectation of output without contradiction.
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 description is extremely compact: one clarifying question defines the operation, followed by a short return specification. Every sentence earns its place and there is no 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?
For a simple read-only verification tool, the description is nearly complete: it states the core behavior, the enrolled-speaker context, and the return shape despite there being no output schema. A small gap remains around how speaker_id maps to the enrolled speaker and how match relates to threshold, but the tool is still invocable with reasonable confidence.
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 reported as 100%, so the baseline is 3 even though the description adds no input-parameter semantics beyond the output threshold key. The description does not clarify speaker_id, and notably speaker_id appears as required but has no property entry in the schema, yet the description also does not compensate for this gap.
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 operation: 1:1 verification of a clip against an enrolled speaker. The phrase 'is this clip the enrolled speaker?' makes the resource and action unambiguous, and '1:1' differentiates it from the sibling voice_id_identify, which is presumably 1:N identification.
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?
The description clearly frames this as the 1:1 use case, which gives an agent a clear reason to select it over voice_id_identify or voice_id_enroll. It does not explicitly name alternatives or state when not to use it, but the 1:1 framing provides adequate context.
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. Dates show when Glama detected each change.
14 tool updates
- First observed
assess_pronunciation - First observed
check_pronunciation_service - First observed
check_stt_service - First observed
check_tts_service - First observed
check_whisper_service - First observed
get_phoneme_inventory - First observed
list_tts_voices - First observed
synthesize_speech - First observed
transcribe_audio - First observed
transcribe_audio_pro - First observed
voice_id_enroll - First observed
voice_id_identify - First observed
voice_id_list_speakers - First observed
voice_id_verify
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Pronunciation scoring, speech-to-text, and text-to-speech for language learning
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
Transcribe audio & video to text for AI agents: 100+ languages, speaker labels, webhooks.
Transcribe audio and video into speaker-labelled transcripts, subtitles, clips, and cited Q&A.
Related MCP Servers
- AlicenseAqualityCmaintenanceAI-powered speech tools by Brainiall: pronunciation assessment with phoneme-level feedback, speech-to-text with language detection, and text-to-speech with multiple voices.41MIT
- FlicenseNot gradedqualityBmaintenanceGives your AI agent real-time pronunciation scoring and multi-dimensional speech assessment through CHIVOX server.-
- AlicenseNot gradedqualityCmaintenanceProvides tools for local meeting speaker analysis and hybrid cloud transcription, supporting resumable transcription and alignment.MIT
- AlicenseAqualityDmaintenanceProvides high-quality text-to-speech synthesis with 10 natural voices, emotion control, and dynamic pacing for professional applications requiring expressive speech output.52MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools map to clearly distinct actions, but transcribe_audio and transcribe_audio_pro are near-duplicates and the four check_*_service tools require careful reading. The detailed descriptions make the distinctions recoverable, so confusion should be rare.
The set overwhelmingly follows a snake_case verb_* pattern, and the voice_id_* family is internally consistent. Minor deviations like get_phoneme_inventory vs list_tts_voices and the _pro suffix on transcribe_audio_pro keep it from being perfect.
Fourteen tools is within a reasonable range, but the server bundles pronunciation, STT, TTS, voice ID, and four health checks, making it feel broader than the 'Pronunciation' name suggests. A few health checks could be consolidated, but nothing is excessive.
Core pronunciation, transcription, and synthesis workflows are present, but the voice ID portion has create/list/verify/identify with no way to delete or unenroll a speaker. That is a notable lifecycle gap in an otherwise fairly complete speech toolkit.