Skip to main content
Glama

@vocametrix/mcp-server

Official Model Context Protocol server for the Vocametrix voice analysis API.

Gives any MCP-compatible AI assistant (Claude Desktop, Cursor, Cline, etc.) direct access to clinical voice metrics, pronunciation assessment, speech transcription, and AI-powered therapy planning.

Quick start

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "vocametrix": {
      "command": "npx",
      "args": ["-y", "@vocametrix/mcp-server"],
      "env": {
        "VOCAMETRIX_API_KEY": "your-api-key-here"
      }
    }
  }
}

Get an API key at vocametrix.com/registration. MCP analysis uses purchased API credits; the website subscription and trial do not cover API calls.

Claude Code

Hosted server (no local install):

claude mcp add --transport http vocametrix https://mcp.vocametrix.com/mcp --header "x-api-key: your-api-key-here"

Or run it locally with npx:

claude mcp add vocametrix -e VOCAMETRIX_API_KEY=your-api-key-here -- npx -y @vocametrix/mcp-server

Add --scope user right after claude mcp add to make Vocametrix available in all your projects. Then type /mcp in Claude Code to check the connection.

ChatGPT (OAuth, API credits)

The optional /chatgpt/mcp endpoint links a user's API account through OAuth. The user approves access on the platform's consent page; ChatGPT receives revocable tokens, not the API key. Existing /mcp API-key clients and local stdio clients remain supported.

See ChatGPT setup and release checks for the matching platform changes, database migration, configuration, and tests. This integration must be deployed and tested in ChatGPT before public submission.

Related MCP server: elevenlabs-mcp

Tools

Voice quality (acoustic)

Tool

Description

vocametrix_calculate_avqi

Acoustic Voice Quality Index (AVQI) — overall dysphonia severity

vocametrix_calculate_dsi

Dysphonia Severity Index (DSI)

vocametrix_calculate_cpp

Cepstral Peak Prominence — breathiness, hoarseness

vocametrix_calculate_hnr

Harmonics-to-Noise Ratio (multi-band)

vocametrix_calculate_jitter_shimmer

Period and amplitude perturbation

vocametrix_calculate_voice_range_profile

Voice Range Profile

vocametrix_calculate_prosody_similarity

Prosody similarity between two utterances

Advanced voice analysis

Tool

Description

vocametrix_calculate_spectral

Spectral tilt, slope, and formant energy

vocametrix_calculate_formants

Formant frequencies F1–F4

vocametrix_calculate_sz_ratio

S/Z phonation ratio

vocametrix_calculate_gne

Glottal-to-Noise Excitation

vocametrix_calculate_h1_h2

H1–H2 harmonic difference

vocametrix_calculate_abi

Acoustic Breathiness Index

vocametrix_calculate_voice_dynamics

Dynamic range and fundamental frequency statistics

vocametrix_measure_ddk

Diadochokinesis (pa-ta-ka): syllable rate, regularity, acceleration, Pierce 2013 norms for 65-86

Ingestion utilities

Tool

Description

vocametrix_upload_audio

Upload a WAV file (base64) → returns a stable blobUrl

vocametrix_ingest_url

Ingest a public HTTPS WAV URL → returns a stable blobUrl

Speech and pronunciation

Tool

Description

vocametrix_assess_pronunciation

Phoneme-level pronunciation scoring

vocametrix_assess_pronunciation_with_pitch

Pronunciation + pitch analysis combined

vocametrix_transcribe_audio

Streaming ASR transcription with progress

vocametrix_synthesize_speech

Text-to-speech synthesis

Audio measures

Tool

Description

vocametrix_measure_sound_level

Sound level in uncalibrated dB over a time window

vocametrix_extract_egemaps

Geneva Minimalistic Acoustic Parameter Set, GeMAPS v01b (62 features)

vocametrix_detect_phonemes

French phoneme detection with confidence scores and timestamps

vocametrix_classify_stuttering

Dysfluency classification

AI agents

Tool

Description

vocametrix_interpret_voice_metrics

Clinical interpretation of voice metrics

vocametrix_generate_exercises

Personalized voice/speech exercise generation

vocametrix_generate_word_list

Target word list generation for therapy

vocametrix_chat_speech_therapist

Conversational AI speech-language therapist

vocametrix_convert_french_to_ipa

French text → IPA phonetic transcription

vocametrix_interpret_spelling_attempt

Spelling correction agent

vocametrix_check_syntax

Syntax checking agent

vocametrix_vocabulary_tutor

Vocabulary tutoring agent

vocametrix_adapt_exercise

Adaptive exercise generation

Therapy planning

Not published on the ChatGPT endpoint (/chatgpt/mcp): these tools take a patient identifier and clinical history, which the ChatGPT app guidelines treat as protected health information. They remain available over stdio and /mcp.

Tool

Description

vocametrix_generate_therapy_plan

Generate an AI therapy plan

vocametrix_get_therapy_status

Poll therapy plan generation status

vocametrix_get_therapy_result

Fetch completed therapy plan

vocametrix_approve_therapy_plan

Approve a therapy plan

Workflow tools

Tool

Description

vocametrix_full_voice_assessment

Parallel AVQI + CPP + HNR + jitter/shimmer + spectral

vocametrix_batch_pronunciation

Assess a folder of WAV files. Reads the server's own filesystem, so it is only registered in stdio/local mode (VOCAMETRIX_MCP_LOCAL_FS=1) — not available on the hosted server

vocametrix_full_therapy_workflow

Generate → poll → fetch → approval flow

Resources

  • vocametrix://docs/api — API quick reference (auth, rate limits, audio requirements, error codes)

  • vocametrix://recording-guide — Recording protocols for every tool (sustained vowel, connected speech with language-specific reference sentences, glissando, sustained /s/ and /z/)

  • vocametrix://thresholds/{metric} — Clinical reference thresholds for avqi, dsi, cpp, hnr, jitter-shimmer, gne

Prompts

  • interpret_voice_assessment — Generate a clinical SLP-style interpretation report from assessment JSON

  • compare_pre_post_therapy — Quantified pre/post therapy narrative with metric-by-metric comparison

  • generate_session_report — SOAP-format progress note from pronunciation assessment data

Audio requirements

  • Format: WAV (16-bit PCM recommended)

  • Sustained vowel tasks: 3+ seconds of /a/ phonation

  • Connected speech tasks: 5–30 seconds of read passage

  • Minimum sampling rate: 16 kHz

How to pass audio to a tool

The audioPath parameter accepts several input types, but which ones are valid depends on how the MCP server is running:

Input

Hosted / remote server

Stdio / local server (npx, Claude Desktop)

https://... blobUrl from vocametrix_upload_audio

✅ recommended

✅

Public https://... URL to a WAV file

✅

✅

Public URL via vocametrix_ingest_url → returned blobUrl

✅ recommended for URL inputs

✅

data:audio/wav;base64,... data URL

✅

✅

Raw base64 string (≥ 512 chars)

✅

✅

Absolute local path (/home/..., C:\...)

❌ rejected

⚠️ requires VOCAMETRIX_MCP_LOCAL_FS=1

For chat clients that attach audio in the conversation (Claude.ai web/mobile, etc.), the LLM cannot pass an absolute path to a hosted server — it must call vocametrix_upload_audio first with the file content base64-encoded, then pass the returned blobUrl as audioPath to any analysis tool. The MCP descriptions guide the LLM toward this workflow automatically.

For stdio/local deployments where the MCP runs on the user's own machine, set VOCAMETRIX_MCP_LOCAL_FS=1 to allow analysis tools to read absolute local paths directly — convenient for batch processing of files already on disk.

Environment variables

Variable

Required

Description

VOCAMETRIX_API_KEY

Yes

Your Vocametrix API key

VOCAMETRIX_MCP_LOCAL_FS

No

Set to 1 to allow analysis tools to read absolute local file paths (stdio/local deployments only). Default off — local paths are rejected with an actionable error so chat clients are pushed toward the vocametrix_upload_audio → blobUrl workflow.

VOCAMETRIX_MCP_ALLOW_PRIVATE_HOSTS

No

Set to 1 to allow fetching audio URLs whose host resolves to a private, loopback or link-local address (a LAN file server, for instance). Default off, including in stdio/local mode: the caller of an MCP tool is an LLM, and an LLM that has read a hostile page can be talked into pointing these tools at your own network.

Development

git clone https://github.com/Vocametrix/vocametrix-mcp.git
cd vocametrix-mcp
npm install
npm run build
npm test            # run unit tests
npm run inspector   # test with MCP Inspector

MCP Registry

Listed in the official MCP Registry under io.github.pmarmaroli/vocametrix-mcp. Available for one-click installation in MCP-compatible clients (Claude Desktop, Cursor, Zed, Windsurf, and more).

The Vocametrix ecosystem:

  • 📘 Vocametrix API documentation — full reference for the underlying REST API powering this MCP server.

  • 📐 OpenAPI 3.1 specification — machine-readable schema for all 49 endpoints.

  • 🐍 vocametrix-python — official Python SDK if you want direct API access from Python (pip install vocametrix).

  • 🟦 vocametrix-js — official TypeScript / JavaScript SDK used internally by this MCP server (npm install vocametrix).

License

MIT — see LICENSE

Available Tools

39 tools
vocametrix_adapt_exerciseA

Adapt a speech therapy exercise to a specific learner profile (ADHD, dyslexia, dysgraphia, dyspraxia, Tourette, autism). Returns an HTML-formatted adapted version of the exercise with profile-specific tips.

Inputs: exerciseText (required), learnerProfile (required), includeTips.

vocametrix_approve_therapy_planA

Human-in-the-loop approval gate for generated therapy plans. Actions: 'approve' (locks and delivers plan), 'reject' (discards), 'modify' (requires feedback, re-generates). This action is irreversible — once approved, the plan is sent for delivery.

Inputs: sessionId (required), action (required), feedback.

vocametrix_assess_pronunciationA

Score pronunciation accuracy at phoneme level against a reference text. Returns accuracy, fluency, completeness, and prosody scores (0–100) plus per-word and per-phoneme breakdowns. Supports 30+ locales (en-US, fr-FR, de-DE, zh-CN, ar-SA, etc.). Audio should be a clear reading of the reference text.

Inputs: audioPath (required), referenceText (required), speakerLocale.

vocametrix_assess_pronunciation_with_pitchA

Pronunciation assessment enriched with per-word F0 (pitch) contours. In addition to accuracy/fluency/prosody scores, returns fundamental frequency (pitch) statistics for each word — useful for tonal language analysis and prosody coaching.

Inputs: audioPath (required), referenceText (required), speakerLocale.

vocametrix_batch_pronunciationA

Assess pronunciation for all WAV files in a folder against a common reference text. Returns a table (Markdown + JSON) with accuracy, fluency, completeness, and prosody scores per file. Files are processed sequentially to stay within rate limits. Useful for classroom assessments, research cohorts, and batch L2 evaluation.

Inputs: folderPath (required), referenceText (required), locale.

vocametrix_calculate_abiC

Calculate the Acoustic Breathiness Index (ABI) combining connected speech and sustained vowel. ABI aggregates CPPS, jitter, GNE approximation, HNR (6 kHz), H1-H2, shimmer, and period SD. Sensitive to the full spectrum from breathy to pressed phonation.

Inputs: connectedSpeechPath (required), sustainedVowelPath (required).

vocametrix_calculate_avqiA

Calculate the Acoustic Voice Quality Index (AVQI v2.03 or v3.01), a clinically validated dysphonia score. AVQI > 2.43 (French) / 2.97 (English) indicates dysphonia. Requires a sustained vowel recording (e.g. /a/ held for 3+ seconds). Connected speech is optional but improves accuracy.

Inputs: sustainedVowelPath (required), connectedSpeechPath, version.

vocametrix_calculate_cppA

Calculate Cepstral Peak Prominence (CPP) from a sustained vowel. Higher CPP = better voice quality. Typical normal CPP: 20–28 dB. Clinically sensitive to breathiness and hoarseness.

Inputs: sustainedVowelPath (required).

vocametrix_calculate_dsiB

Calculate the Dysphonia Severity Index (DSI). DSI > 1.6 = normal voice; DSI < –1.6 = severe dysphonia. Requires a sustained vowel WAV file plus voice-range parameters (MPT, F0 range, minimum intensity).

Inputs: sustainedVowelPath (required), mpt (required), maximumF0 (required), minimumIntensity (required), +3 more.

vocametrix_calculate_formantsA

Compute F1–F4 formant statistics (mean, SD, range, CV, IQR) from a sustained vowel with vowel-space stability and articulatory precision scores. Useful for dysarthria assessment, vowel space analysis, and cleft palate evaluation.

Inputs: sustainedVowelPath (required), patientAge (required), patientGender (required).

vocametrix_calculate_gneA

Calculate the Glottal-to-Noise Excitation (GNE) ratio from a sustained vowel. GNE ranges 0–1; values < 0.5 suggest increased noise (breathiness/hoarseness). Computed via native Praat algorithm for clinical reliability.

Inputs: sustainedVowelPath (required).

vocametrix_calculate_h1_h2A

Calculate the formant-corrected H1*–H2* voice source measure from a sustained vowel. H1*–H2* is sensitive to breathiness: positive values indicate breathy voice, negative values indicate pressed/tense voice. Normal range: −2 to +2 dB.

Inputs: sustainedVowelPath (required), patientGender.

vocametrix_calculate_hnrA

Calculate multi-band Harmonics-to-Noise Ratio (HNR) across frequency bands (80–8000 Hz) with age- and gender-specific norms. Higher HNR = cleaner voice. Normal HNR (500 Hz band): > 20 dB. Requires a sustained vowel.

Inputs: sustainedVowelPath (required), patientAge (required), patientGender (required).

vocametrix_calculate_jitter_shimmerA

Calculate jitter (period perturbation, PPQ5) and shimmer (amplitude perturbation) from a sustained vowel. Normal jitter < 1.04%; normal shimmer < 3.81 dB. Elevated values indicate irregular vibration — associated with dysphonia.

Inputs: sustainedVowelPath (required).

vocametrix_calculate_prosody_similarityA

Compare prosodic patterns between a model (reference) recording and a learner recording. Returns similarity scores for pitch contour, intensity, duration, and pause patterns. Useful for accent coaching, speech imitation training, and L2 pronunciation.

Inputs: modelPath (required), learnerPath (required).

vocametrix_calculate_spectralA

Extract advanced spectral measures from a sustained vowel: center of gravity, skewness/kurtosis, H1-H2 (breathiness indicator), H1-A1, H1-A3, LTAS slope and tilt, alpha ratio. Returns age/gender-normalized norms and voice pattern classification.

Inputs: sustainedVowelPath (required), patientAge (required), patientGender (required), version.

vocametrix_calculate_sz_ratioA

Calculate the S/Z phonation ratio (duration of sustained /s/ vs /z/). Normal ratio ≈ 1.0. Ratio > 1.4 suggests vocal fold pathology (the /z/ is shorter). Requires two separate recordings: one of sustained /s/ and one of sustained /z/.

Inputs: sFilePath (required), zFilePath (required), patientAge (required), patientGender, +1 more.

vocametrix_calculate_voice_dynamicsA

Compute intensity dynamics, pitch-intensity correlation, and composite scores for voice control, projection, stability, effort, and monotonicity. Useful for voice training, public speaking coaching, and vocal fatigue assessment.

Inputs: sustainedVowelPath (required), patientAge (required), patientGender.

vocametrix_calculate_voice_range_profileA

Calculate the Voice Range Profile (VRP / ambitus / glissando) from a glissando recording. Returns frequency range (lowest to highest pitch) and intensity range with age/gender interpretation. Useful for singers and voice rehabilitation assessment.

Inputs: glissandoPath (required), patientAge, patientGender.

vocametrix_chat_speech_therapistA

Expert speech therapy assistant providing role-based guidance. Adapts its answers depending on whether the user is a therapist (clinical detail), a patient (accessible explanation), or a parent/caregiver (practical home tips). Maintains conversation context via threadId for multi-turn dialogue.

Inputs: message (required), accountType (required), threadId (required).

vocametrix_check_syntaxA

Analyze text for grammar and syntax errors with severity classification (error/warning/info). Returns overall score, per-issue breakdown, corrected text, and readability statistics. Useful for evaluating written language samples in speech-language assessments.

Inputs: text (required), locale (required).

vocametrix_classify_stutteringA

Classify stuttering disfluency patterns in a speech recording (async, ~30–120 seconds). Returns disfluency types (repetitions, prolongations, blocks), severity score, and fluency rate. The tool polls the result automatically — no separate status call needed.

Inputs: audioPath (required), pollIntervalMs, timeoutMs.

vocametrix_convert_french_to_ipaA

Convert French words or phrases to International Phonetic Alphabet (IPA) transcription. Accepts a single string or an array of up to 20 words. Returns IPA transcription per word with optional syllable boundary marks.

Inputs: input (required), includeSyllableMarks.

vocametrix_detect_phonemesA

Detect phonemes in an audio recording using a deep-learning classifier. Returns phoneme labels with confidence scores. Currently supports French (fr) and Estonian (et) phoneme inventories.

Inputs: audioPath (required), language.

vocametrix_extract_egemapsA

Extract the full openSMILE eGeMAPSv02 feature set (88 acoustic features) from an audio file. Features include F0, jitter, shimmer, HNR, MFCCs, formants, spectral flux, and loudness. Commonly used as input to machine-learning voice pathology classifiers.

Inputs: audioPath (required).

vocametrix_full_therapy_workflowA

End-to-end therapy plan generation with automatic polling and human-in-the-loop approval. Generates a therapy plan from session data, polls until complete, and presents it for approval. Returns the approved plan or the pending plan awaiting your approval action. After reviewing, call vocametrix_approve_therapy_plan with 'approve', 'modify', or 'reject'.

Inputs: sessionMetadata (required), wav2vecOutput (required), patientAnamnesis, pollIntervalMs, +1 more.

vocametrix_full_voice_assessmentA

Run a comprehensive clinical voice assessment in a single call. Executes AVQI, CPP, multi-band HNR, jitter/shimmer, and spectral analysis in parallel, then returns a unified JSON report with all metrics and clinical severity interpretation. Requires both a sustained vowel recording (e.g. /a/ held 3+ s) and a connected speech recording. This is the tool an SLP would use for a full voice quality screening.

Inputs: sustainedVowelPath (required), connectedSpeechPath (required), patientAge (required), patientGender (required).

vocametrix_generate_exercisesA

Generate personalized speech therapy exercises tailored to patient profile, pathology, and language. Returns structured exercises with instructions, target phonemes, difficulty level, and therapist tips.

Inputs: message (required), ageLevel (required), speechChallenge (required), language.

vocametrix_generate_therapy_planA

Launch an asynchronous LangGraph-powered therapy plan generation from session audio embeddings. Returns a therapy_session_id. Use vocametrix_get_therapy_status to poll progress, then vocametrix_get_therapy_result to retrieve the plan once complete (~30–120 seconds). Requires wav2vec embeddings — run eGeMAPS or embedding extraction first.

Inputs: sessionMetadata (required), wav2vecOutput (required), patientAnamnesis.

vocametrix_generate_word_listA

Generate a word list targeting a specific phoneme with pronunciation hints and difficulty progression. Useful for articulation therapy, phonological awareness drills, and accent training.

Inputs: language (required), patientAge (required), targetSound (required).

vocametrix_get_therapy_resultA

Retrieve the completed therapy plan result. Only call when vocametrix_get_therapy_status returns result_available = true or status = 'complete'. Returns the full therapy session with exercise plans, clinical narrative, and HTML report path.

Inputs: sessionId (required).

vocametrix_get_therapy_statusA

Poll the status of an async therapy plan generation or stuttering classification session. Statuses: pending → processing → pending_approval → complete (or failed). result_available = true means you can call vocametrix_get_therapy_result.

Inputs: sessionId (required).

vocametrix_interpret_spelling_attemptA

Interpret a speech-to-text transcription of a spelling attempt and give intelligent feedback. Returns whether the spelling matches, an explanation of differences, and correction guidance. Useful for spelling therapy apps where children spell words aloud.

Inputs: transcription (required), targetWord (required), language.

vocametrix_interpret_voice_metricsA

Translate raw voice metrics (jitter, shimmer, HNR, CPPS, F0, etc.) into clinical-language interpretation with severity classification (normal / mild / moderate / severe) and actionable recommendations. Useful when you have metric values from other tools and want a clinician-readable summary.

Inputs: metrics (required), patientAge (required), patientGender, languageCode.

vocametrix_measure_sound_levelA

Measure sound level in dB SPL over a specified time window in an audio file. Useful for environmental noise assessment, vocal loudness measurement, and calibration tasks. Note: startSec must be > 0 (use 0.001 for the start of the file).

Inputs: audioPath (required), startSec, endSec.

vocametrix_synthesize_speechB

Synthesize speech from text using Azure neural text-to-speech. Returns an audio URL and word-level timing data. Supports all Azure Neural voice names for the requested locale.

Inputs: text (required), speakerLocale, voiceName.

vocametrix_synthesize_speech_with_timingA

Synthesize speech via ElevenLabs v2 with per-character timing alignment. Returns audio data and a character-level timing map — useful for lip-sync, subtitles, and karaoke. Supports plain text or SSML markup.

Inputs: text (required), isSSML.

vocametrix_transcribe_audioA

Transcribe an audio file using Azure Speech-to-Text with streaming progress. Returns a transcriptionId and streams progress events via SSE until completion. Returns the final transcript and word-level timing. For long recordings, poll the progress events — transcription may take 30–120 seconds.

Inputs: audioPath (required), speakerLocale.

vocametrix_vocabulary_tutorA

Conversational vocabulary tutor adapting to learner profile (native language, target language, age, topic). Uses spaced repetition principles. Maintain conversation context via threadId.

Inputs: message (required), nativeLanguage (required), targetLanguage (required), ageGroup (required), +2 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 39 tools

    Disambiguation5/5

    Each tool targets a distinct function or metric, from acoustic analysis to therapy planning. Even similar tools like assess_pronunciation and assess_pronunciation_with_pitch are clearly differentiated by the additional pitch feature. No overlapping purposes.

    Naming Consistency5/5

    All tools follow the 'vocametrix_verb_noun' snake_case pattern. Verbs like calculate_, assess_, generate_, get_ are used consistently for similar operations. No mixing of conventions.

    Tool Count3/5

    39 tools is high, reflecting a broad domain. While each tool is focused, some could be combined (e.g., multiple calculate_ tools under a single analyze_voice_quality). Still within acceptable range for a comprehensive server.

    Completeness5/5

    Covers the full speech therapy workflow: assessment, diagnosis, plan generation, exercises, transcription, synthesis, and tutoring. No obvious gaps for the stated domain.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers