Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sandraschi/speech-mcp --skill speech-expertgit clone --depth 1 https://github.com/sandraschi/speech-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sandraschi/speech-mcp/speech-expert)<a href="https://agentmods.dev/skills/sandraschi/speech-mcp/speech-expert"><img src="https://agentmods.dev/badge/skills/sandraschi/speech-mcp/speech-expert/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sandraschi/speech-mcp/speech-expert"><img src="https://agentmods.dev/badge/skills/sandraschi/speech-mcp/speech-expert.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00036 | $0.00919 |
| Opus 5.5 | $0.00014 | $0.00368 |
| Sonnet 5.5 | $0.00007 | $0.00184 |
| Haiku 4.5 | $0.00004 | $0.00092 |
Grade A, and why
speech-expert scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Speech-MCP Expert
speech-mcp is a multi-provider speech gateway: text-to-speech (TTS), speech-to-text (STT), realtime voice, wake word, and a fleet voice command bus. It runs as an MCP server (stdio or HTTP) with a React webapp.
When to use which STT
| Need | Use | Why |
|---|---|---|
| Batch/file transcription | transcribe_audio_file (provider funasr) |
FunASR MLT-Nano: offline, multilingual, VAD+punctuation+diarization |
| Live streaming with partials | streaming_stt (sherpa-onnx) |
ja/en/de, CPU, emits partials + endpoint |
| Barge-in / interruption | barge_in_feed |
Completed utterance = interrupt signal |
| Cloud quality, realtime conversation | start_evi_session / Gemini Live |
Hume EVI or gemini_live |
| Tiny chunks / stateless | transcribe_stream_chunk |
base64 PCM per fragment |
Guidance: default to funasr for accuracy + offline; use streaming_stt when you need
text as it is spoken (voice agents, live captions); use barge_in_feed to let the user
interrupt the assistant (no echo cancellation - gate mic feeding while it speaks).
TTS providers
text_to_speech(provider=...) - windows (SAPI5, always works), gemini (highest
cloud quality, voice=Kore etc.), hume (emotional/expressive), elevenlabs (needs
voice_id from manage_voice_clones), gemma (local, SAPI fallback).
text_to_dialogue = multi-voice ElevenLabs conversation.
Wake word + voice command bus
configure_local_wake_word(action="start|stop|status")- openWakeWord, offline.- With
FLEET_VOICE_DELEGATE=1the listener routes wake -> STT ->POST fleet-agent /api/voice/intent.SHERPA_ASR_ENABLED=1switches capture to streaming (no fixed window) with a follow-up turn.
REST surface
/api/v1/health (provider booleans), /api/v1/diagnostics, /api/tools,
/api/skills, /api/v1/tts, /api/v1/voices, /api/v1/transcribe,
/api/v1/wake_word, /api/v1/utility, /api/v1/stop, /api/v1/shutdown.
Config essentials
- FunASR:
FUNASR_ENABLED=true,FUNASR_MODEL=FunAudioLLM/Fun-ASR-MLT-Nano-2512(31 langs incl. en/ja/de),FUNASR_DEVICE=cuda:0|cpu. Requiresuv sync --extra funasr. - Streaming:
SHERPA_ASR_ENABLED=true,SHERPA_ASR_LANG=en|ja|de,SHERPA_BARGE_IN=true. Requiresuv sync --extra sherpa+just sherpa-download. - Cloud keys:
GOOGLE_API_KEY,HUME_API_KEY,ELEVENLABS_API_KEY.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 63 lines · 36 tokens per session scan A 33e4d0c5f47a
speech-expert is a skill published in the GitHub repository sandraschi/speech-mcp (2 stars, last pushed yesterday), licensed MIT. It adds 36 tokens to every session and 919 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
ai-media
Use when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with ffmpeg (mux, duck, loudnorm, concat). NOT still-image generation/editing (that is replicate-images); NOT code-rendered React compositing…
speak
Provides concise spoken alerts and digests through the mcp-tts MCP server. It should be selected proactively for significant AI and DevOps transitions: a substantial plan is ready, a long build/test/deploy/release/monitoring phase changes state, a major task completes, a terminal blocker or exhausted retry budget…
start-talking
Start and run an explicit, interactive Cadence Code conversation with Codex or Antigravity using fully local speech input and output. Use only when the user explicitly invokes $start-talking, /start-talking, or asks to start talking with Cadence Code.
voice-settings
Choose Cadence Code's local speech and transcription models from the Codex or Antigravity UI. Use only when the user explicitly invokes $voice-settings, /voice-settings, or asks to open Cadence Code settings.
jump-in
Interrupt an active Cadence Code conversation and add fresh spoken guidance to the current Codex or Antigravity task. Use only when the user explicitly invokes $jump-in or /jump-in after stopping the current host turn.
wrap-up
End an active Cadence Code conversation cleanly and release its local speech models. Use only when the user explicitly invokes $wrap-up, /wrap-up, or asks to wrap up the voice conversation.