Brainiall Pronunciation
REMOTE · API.BRAINIALL.COM
Pronunciation assessment, phoneme scoring, speaker voice ID, audio transcription, speech synthesis.
Available components
Last scanned (5 hours ago)
Scores higher than 19% of remote servers
Reachable. Last reached 5 Nov 2026.
Category AI and Machine Learning
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 −54
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: 0.93 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: partial → unverified ▼ security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 4 Nov 26 +54
- Authorization: unverified → partial ▲ security
- Injection markers: unverified → pass ▲ security
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.93 ▲ functional
- 2 Nov 26 −52
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: 0.83 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: partial → unverified ▼ security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 1 Nov 26 +52
- Authorization: unverified → partial ▲ security
- Injection markers: unverified → pass ▲ security
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Schema quality: 169 → 109 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Stability: unverified → 0.83 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 30 Oct 26 −4
- Endpoint reachability: reachable → not serving MCP ▼ security
- Capabilities: pass → unverified ▼ functional
- 29 Oct 26 +4
- Endpoint reachability: not serving MCP → reachable ▲ functional
- MCP protocol: unverified → pass ▲ functional
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 27 Oct 26 −51
- Endpoint reachability: reachable → not serving MCP ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: partial → unverified ▼ security
- Stability: 0.97 → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 26 Oct 26 +51
- Authorization: unverified → partial ▲ security
- Injection markers: unverified → pass ▲ security
- Schema quality: 109 → 169 ▼ functional
- Endpoint reachability: not serving MCP → reachable ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.97 ▲ functional
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://api.brainiall.com/mcp/pronunciation/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.brainiall.com | CN=YE2,O=Let's Encrypt,C=US | 17 Sept 2026 | 16 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 58149e86edf6d04081a9ee2d9180aba7dcd |
| SANs: api.brainiall.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.brainiall.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| brainiall.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| referrer-policy | strict-origin-when-cross-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.brainiall.com/mcp/pronunciation/mcp | Verified | 200 | |
| http (plaintext) | http://api.brainiall.com/mcp/pronunciation/mcp | HTTPS enforced | 308 | https://api.brainiall.com/mcp/pronunciation/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
assess_pronunciation Assess Pronunciation ~379
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 | Type | Req | Description |
|---|---|---|---|
| audio_base64 | string | yes | Base64-encoded audio data. Supports WAV, MP3, OGG, and WebM formats. |
| audio_format | string | – | Audio format hint — one of 'wav', 'mp3', 'ogg', 'webm'. |
| text | string | yes | The reference English text that the speaker was expected to read aloud. |
No output schema declared.
No examples provided.
check_pronunciation_service Check Pronunciation Service ~67
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
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
check_stt_service Check STT Service ~67
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
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
check_tts_service Check TTS Service ~65
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
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
check_whisper_service Check Brainiall Speech Pro Service ~96
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
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_phoneme_inventory Get Phoneme Inventory ~138
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
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_tts_voices List TTS Voices ~61
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
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
synthesize_speech Synthesize Speech ~323
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 | Type | Req | Description |
|---|---|---|---|
| speed | number | – | Speech speed multiplier (0.5 = half speed, 2.0 = double). |
| text | string | yes | English text to convert to speech. Max 5000 characters. |
| voice | – | – | Voice ID (e.g. 'af_heart', 'am_adam'). Uses default if omitted. |
No output schema declared.
No examples provided.
transcribe_audio Transcribe Audio ~313
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 | Type | Req | Description |
|---|---|---|---|
| audio_base64 | string | yes | Base64-encoded audio data. Supports WAV, MP3, OGG, FLAC, and WebM formats. |
| audio_format | – | – | Audio format hint — 'wav', 'mp3', 'ogg', 'flac', 'webm'. Auto-detected if omitted. |
| include_timestamps | boolean | – | If true, include word-level start/end times and confidence. |
No output schema declared.
No examples provided.
transcribe_audio_pro Transcribe Audio Pro ~351
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 | Type | Req | Description |
|---|---|---|---|
| audio_base64 | string | yes | Base64-encoded audio data. Supports WAV, MP3, OGG, FLAC, and WebM formats. |
| diarize | boolean | – | Enable speaker diarization to identify who spoke each word. |
| language | – | – | Language code (e.g. 'en', 'es', 'zh'). Auto-detected when omitted. |
No output schema declared.
No examples provided.
voice_id_enroll Enroll Voiceprint ~116
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 | Type | Req | Description |
|---|---|---|---|
| audio | string | yes | Base64-encoded WAV with >= 2s of clear speech |
| group_id | string | yes | The group/namespace this speaker belongs to |
| speaker_id | string | yes | Your identifier for this speaker |
No output schema declared.
No examples provided.
voice_id_identify Identify Speaker (1:N) ~91
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 | Type | Req | Description |
|---|---|---|---|
| audio | string | yes | Base64-encoded WAV of the clip to identify |
| group_id | string | yes | The group/namespace to search within |
| top_k | integer | – | How many candidate speakers to return |
No output schema declared.
No examples provided.
voice_id_list_speakers List Enrolled Speakers ~55
List the speakers enrolled in a group. Returns: dict with keys: speakers (list of {speaker_id, n_samples, ...}).
| Name | Type | Req | Description |
|---|---|---|---|
| group_id | string | yes | The group/namespace to list |
No output schema declared.
No examples provided.
voice_id_verify Verify Speaker (1:1) ~106
1:1 verification — is this clip the enrolled speaker? Returns: dict with keys: similarity (float), match (bool), threshold (float).
| Name | Type | Req | Description |
|---|---|---|---|
| audio | string | yes | Base64-encoded WAV of the clip to check |
| group_id | string | yes | The group/namespace |
| speaker_id | string | yes | The enrolled speaker to verify against |
| threshold | – | – | Optional cosine-similarity threshold (defaults to a tuned value); higher = stricter |
No output schema declared.
No examples provided.
How do I install the Brainiall Pronunciation MCP server?
Brainiall Pronunciation is a hosted endpoint at https://api.brainiall.com/mcp/pronunciation/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.brainiall.com
claude mcp add --transport http com-brainiall-pronunciation 'https://api.brainiall.com/mcp/pronunciation/mcp'
What is the Brainiall Pronunciation MCP server?
Brainiall Pronunciation is an MCP server listed in the public MCP registry as com.brainiall/pronunciation. Pronunciation assessment, phoneme scoring, speaker voice ID, audio transcription, speech synthesis. This page covers its hosted endpoint (https://api.brainiall.com/mcp/pronunciation/mcp).
Is the Brainiall Pronunciation MCP server safe to use?
Brainiall Pronunciation scores 35 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Brainiall Pronunciation MCP server expose?
Brainiall Pronunciation exposes 14 tools: assess_pronunciation, check_pronunciation_service, get_phoneme_inventory, transcribe_audio, check_stt_service, and 9 more. Their descriptions and schemas cost roughly 2,228 tokens of context every time the server is loaded.
Does the Brainiall Pronunciation MCP server require authentication?
No. We connected to Brainiall Pronunciation without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Brainiall Pronunciation MCP server still maintained?
Brainiall Pronunciation is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.