De meeste MCP-servers geven een agent toegang tot iets op afstand: een database, een API, een ticketsysteem. De spraak-MCP-server van Vext doet het omgekeerde: hij geeft een agent toegang tot je microfoon, je vergadertranscripties en je dicteergeschiedenis, zonder dat er iets van je machine af gaat.

Hij staat standaard uit. Aanzetten betekent dat elk proces op je Mac dat het token heeft de app kan aansturen, dus dit is een bewuste keuze die wij niet voor je maken. Dit artikel behandelt wat de server aanbiedt, hoe je de gangbare clients koppelt en de handvol werkwijzen waarin het zich echt terugbetaalt.

Wat het is

Vext draait een lokale HTTP-server die Streamable HTTP MCP spreekt. Drie punten bepalen de beveiligingssituatie:

  • Alleen loopback. Hij bindt aan 127.0.0.1 en gaat dus nooit het netwerk op.
  • Bearer-token. Elk verzoek draagt een Authorization: Bearer-header. Het token wordt bij eerste uitlezing aangemaakt en kun je opnieuw genereren in Instellingen.
  • Standaard uit. Er luistert niets tot jij het inschakelt.

De standaardpoort is 58398 — hoog en niet toegewezen, gekozen zodat hij niet botst met ontwikkelservers of de MCP-endpoints van de andere Muvon-apps. Het pad is /mcp, wat het volledige endpoint http://127.0.0.1:58398/mcp maakt.

Het is dezelfde server waarmee het live transcript uit Vext 1.4.0 werd uitgeleverd.

De MCP-server toevoegen aan Claude Code en andere clients

Instellingen toont per client een kopieerbaar fragment met jouw echte token erin. De vormen zijn:

Claude Code — één claude mcp add-commando:

claude mcp add --transport http vext http://127.0.0.1:58398/mcp --header "Authorization: Bearer YOUR_TOKEN"

Cursor, Windsurf, Claude Desktop — de standaard mcpServers-JSON:

{
  "mcpServers": {
    "vext": {
      "url": "http://127.0.0.1:58398/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Codex — de MCP-serverconfiguratie voor Codex komt in ~/.codex/config.toml:

[mcp_servers.vext]
url = "http://127.0.0.1:58398/mcp"
http_headers = { Authorization = "Bearer YOUR_TOKEN" }

OpenCode — opencode.json, in het project of in ~/.config/opencode/:

{
  "mcp": {
    "vext": {
      "type": "remote",
      "url": "http://127.0.0.1:58398/mcp",
      "enabled": true,
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Octomind is de enige uitzondering. Zijn HTTP-servers kunnen geen eigen headers meesturen, dus reist het token mee in de querystring — hier veilig, juist omdat het endpoint alleen via loopback bereikbaar is. Instellingen geeft je die variant apart.

De 38 tools, gegroepeerd

In plaats van elke signatuur op te sommen, hier de vorm van wat een agent kan doen.

Live dicteren. start_dictation, stop_dictation, cancel_dictation. De agent begint te luisteren, jij praat, en hij haalt daarna de transcriptie op, na opschoning en met je actieve stijl. stop_dictation accepteert paste=true en voegt de tekst dan bij je cursor in, precies als een gewoon dictaat.

Typen namens jou. paste_text voegt tekst in bij de cursor van de voorste app en herstelt daarna je klembord.

Bestandstranscriptie. transcribe_file laat het lokale spraakmodel los op een wav, m4a, mp3 of aiff op schijf en geeft zowel ruwe als opgeschoonde tekst terug.

Vergaderingen. start_meeting, stop_meeting, list_meetings, get_meeting, rename_meeting, delete_meeting, summarize_meeting, export_meeting. Vergaderingen nemen microfoon en systeemaudio op met sprekerlabels. Het transcript is meteen beschikbaar; het verfijnen van sprekers en de samenvatting lopen op de achtergrond door, dus get_meeting is het punt waar je navraagt. Exporteren schrijft markdown, txt, srt of vtt en geeft het pad terug.

Sprekers. list_speakers, rename_speaker, merge_speakers, delete_speaker, label_meeting_speaker. Stemprofielen blijven bestaan over vergaderingen heen, dus iemand één keer een naam geven werkt door.

Notities en geschiedenis. start_note, stop_note, list_notes, get_note, delete_note, plus list_dictations, get_dictation, delete_dictation, retry_dictation. Notities worden opgenomen en bewaard in plaats van geplakt.

Configuratie. get_settings, set_settings, list_microphones, set_microphone, list_app_profiles, set_app_profile, remove_app_profile, list_vocabulary, add_vocabulary, remove_vocabulary, get_status.

Alleen-lezen tools zijn als zodanig gemarkeerd, en verwijderende (delete_note, delete_dictation en soortgenoten) als destructief, zodat een net gebouwde client ze achter een bevestiging kan zetten.

Waar dit echt goed voor is

Toolinventarissen zijn makkelijk te schrijven en moeilijk interessant te maken. Drie werkwijzen rechtvaardigen de moeite:

1. Met je agent praten zonder sneltoetsdans. Vraag Claude Code om het dicteren te starten, spreek twee minuten je eisen in, en laat hem de transcriptie zelf ophalen. Je raakt het toetsenbord niet aan, en de agent bepaalt het moment: hij kan gaan luisteren nadat hij je een vraag heeft gesteld. Dit is de natuurlijke uitbreiding van spraakinvoer voor Claude Code.

2. Van vergadering naar commit. Na een planningsgesprek: "lees mijn laatste vergadering, haal de aan mij toegewezen actiepunten eruit en maak er issues voor aan." get_meeting geeft het transcript terug met sprekersnamen en tijdstempels, plus de samenvatting. De agent heeft echte context over wie wat heeft toegezegd, en die audio heeft je Mac nooit verlaten.

3. De herkenner leren uit de codebase. add_vocabulary neemt een paar van gehoord-als en vervangen-door. Zet een agent op je repository en laat hem modulenamen, ongebruikelijke identifiers en afhankelijkheden in bulk aan de woordenlijst toevoegen. De dicteernauwkeurigheid op het jargon van je eigen project verbetert meteen, en je hebt geen enkele regel met de hand getypt.

Waar het niet helpt

Wees realistisch. De server maakt een agent geen betere programmeur, en code teken voor teken dicteren blijft slechter dan typen: spraak is voor proza, intentie en reviewopmerkingen, precies het argument uit coderen met je stem en AI-coding-agents.

Er is ook een echt beveiligingspunt dat je hardop moet zeggen: de server inschakelen betekent dat elk lokaal proces met het token je microfoon kan starten en tekst in je voorste app kan plakken. Dat is een aanzienlijke bevoegdheid. Daarom staat de functie uit bij levering, daarom bestaat het token, en daarom is opnieuw genereren één klik. Deel je een machine of draai je lokale tooling die je niet vertrouwt, denk er dan eerst over na.

Aan de slag

De MCP-instellingen staan in Vext onder Instellingen → General → MCP server for AI agents: een schakelaar, de poort, het token en fragmenten per client met het token al ingevuld.

brew install muvon/tap/vext

Vext kost eenmalig $49, met een proefperiode van 100 dictaten, op macOS 14 of nieuwer met Apple Silicon. Transcriptie en bijschaven draaien lokaal, de MCP-server ook. De hele lus — microfoon, model, transcript, agent — blijft op je eigen machine.