MCP-þjónn gerir API að nokkrum nefndum verkfærum sem fulltrúi kallar á í miðju samtali, og löng verk passa þar inn þegar verkfærið skilar meðhöndli sem fulltrúinn bíður eftir í takmörkuðum lotum. Límdu slóð á hlaðvarpsþátt, biddu um meginatriðin á frönsku, og enginn kóði er skrifaður.
Kóðunarfulltrúi getur notað VocalStack API-ið eins og hvert annað forrit: lesið API-tilvísunina, skrifað nokkrar línur gegn SDK-inu og keyrt þær. Það er rétta leiðin fyrir eitthvað sem keyrir án fulltrúans.
MCP (Model Context Protocol) er fyrir hitt tilfellið: þú ert að tala við aðstoðarmann og vilt að hann umriti eitthvað strax, án kóða. MCP-þjónn birtir stuttan lista af nefndum verkfærum, hvert með lýsingu og JSON-skema fyrir inntak sitt. Fulltrúinn les listann einu sinni og kallar á verkfæri með nafni þegar beiðni passar við það. „Umritaðu þetta hlaðvarp og segðu mér hvað þau sögðu um verð“ verður að þremur verkfæraköllum, og fulltrúinn sér aldrei HTTP-slóð.
Þjónar koma í tveimur gerðum. Staðbundinn þjónn keyrir sem undirferli viðskiptavinarins og talar um stdio, sem er hvernig flestir skráa- og gagnagrunnsþjónar virka. Fjarþjónn situr á bak við slóð og talar Streamable HTTP, flutningsaðferðina sem leysti eldri HTTP-plus-SSE (server-sent events) flutning af hólmi í mars 2025 útgáfu staðalsins. Viðskiptavinurinn sendir hverja beiðni og þjónninn svarar á sömu tengingu; allt sem hann þarf að segja áður en lokaniðurstaðan kemur er streymt á undan henni. Hvaða viðskiptavinur sem er smíðaður fyrir núverandi staðal getur notað hvora gerðina sem er.
Þjónn VocalStack er af fjarþjónagerðinni, á {{api}}/v1/mcp, og notkun hans kostar það sama og API-ið. Eina sem þú þarft er slóðin.
Opnaðu Developers-svæðið á {{app}}/developers. Fyrsti flipinn, Connect an AI agent, sýnir slóð þjónsins og uppsetningarbút fyrir hvern viðskiptavin. Bútarnir þrír hér að neðan eru eins og þeir sem birtast þar.
Keyrðu þessa skipun í flugstöðinni:
claude mcp add --transport http vocalstack {{api}}/v1/mcp
Bættu þessu við .cursor/mcp.json í verkefninu þínu, eða í ~/.cursor/mcp.json fyrir öll verkefni:
{"mcpServers":{"vocalstack":{"url":"{{api}}/v1/mcp"}}}
Hvaða viðskiptavinur sem styður Streamable HTTP getur bætt þjóninum við með þessari slóð. Þetta er almenna formið sem stjórnborðið birtir:
{
"vocalstack": {
"type": "streamable-http",
"url": "{{api}}/v1/mcp"
}
}
Þú þarft ekki API-lykil til að byrja. Í fyrsta skipti sem viðskiptavinurinn tengist skráirðu þig inn með reikningnum þínum hjá VocalStack í vafranum og viðskiptavinurinn geymir auðkennið. Stjórnborðið segir þetta í einni línu: „Þú skráir þig inn með reikningnum þínum hjá VocalStack í fyrsta skiptið. Enginn lykill þarf.“
Þetta er heimildarforskrift MCP að verki, ekki brella frá VocalStack. Fjarþjónn svarar óheimiluðum beiðnum með 401 sem vísar á lýsigögn verndaðrar auðlindar sinnar: lítið JSON-skjal sem nefnir heimildarþjóninn og þau heimildasvið (scopes) sem þjónninn krefst. Viðskiptavinurinn les það, keyrir venjulegt OAuth 2.1 ferli í vafranum þínum og snýr til baka með auðkenni sem er gefið út fyrir þennan þjón eingöngu. Sérhver fjarþjónn MCP sem fylgir forskriftinni skráir þig inn á sama hátt, og þess vegna geta viðskiptavinirnir hér að ofan gert það án þess að vita nokkuð um VocalStack.
API-lykill virkar líka, fyrir viðskiptavin sem keyrir á netþjóni eða í skriftu. Sendu hann sem Authorization: Bearer vs_key_..., sama haus og REST API-ið tekur við. Lyklar eru búnir til undir Developers → API keys. Umritunarverkfærin tvö þurfa heimildirnar Write og Stream audio. Sú síðari hljómar undarlega fyrir skrá, en verkfærin fara í gegnum sama stofnpunkt og allar umritanir, þar með taldar umritanir í beinni, og sá punktur athugar báðar. Lesverkfærin þurfa Read; list_voices þarf aðeins gilt auðkenni.
Þegar þú hefur skráð þig inn sér fulltrúinn níu verkfæri. Þú nefnir þau sjaldan beint, en að þekkja þau útskýrir hvað fulltrúinn gerir næst.
Sérhvert verkfæri tekur við og skilar camelCase JSON, með sömu reitaheitum og /v1-gerðirnar á vírnum; meðhöndli umritunar er transcriptionId hennar.
transcribe_url hefur umritun á hljóði eða myndskeiði á opinberri slóð: skráartengli, hlaðvarpsþætti eða YouTube-myndskeiði. Beinar útsendingar eru ekki samþykktar. Valfrjáls inntök: name, spokenLanguage (sleppa því til að greina tungumálið), speakerLabels (auto, on eða off) og startS/endS til að umrita aðeins hluta hljóðsins.transcribe_file gerir það sama fyrir skrá sem fulltrúinn hefur, send sem fileBase64 ásamt filename. Afkóðuð stærð er takmörkuð við 10 MiB, um tíu mínútur af 128 kbps MP3; fyrir allt stærra skaltu gefa fulltrúanum tengil.Bæði skila strax transcriptionId, state: "queued" og next-vísbendingu sem nefnir biðverkfærið. Umritanir sem fulltrúinn býr til eru einkamál í upphafi og hafa engan deilitengil.
Fulltrúi getur ekki setið út beina útsendingu af meiri þolinmæði en þú; hann myndi halda áfram að kalla á biðverkfærið þar til einhver tæki fartölvuna af honum. Upptaka sem er lokið hefur endi, og það er það sem næsta par verkfæra bíður eftir.
Verkfærakall er ein HTTP-beiðni, og HTTP-beiðnir eiga ekki að standa í klukkustund. Viðskiptavinir gefast upp á þeim, milliþjónar loka þeim, og líkan sem er fast á einu verkfæri getur ekki gert neitt annað. Þess vegna er mynstrið fyrir hvert langt verk á bak við MCP það sama og REST API-ið notar: ræstu verkið og fáðu meðhöndli, bíddu eftir því í takmarkaðan tíma, og kallaðu aftur ef það er ekki búið. Það er meðhöndlið, ekki tengingin, sem geymir stöðuna.
wait_for_transcription bíður þar til verkið er done eða failed, eða þar til timeoutS er liðinn (sjálfgefið 50 sekúndur, hámark 60, sem heldur kallinu innan þeirra tímamarka sem flestir viðskiptavinir og milliþjónar beita). Ef niðurstaðan segir timedOut: true er verkið enn í gangi og fulltrúinn kallar aftur á verkfærið. Meðan verkfærið bíður sendir þjónninn framvinduskilaboð MCP ef viðskiptavinurinn hefur beðið um þau: prósentuhlutfall og áfanga, til dæmis „sæki 3.1 / 8.0 MB“ eða „umrita 01:25 af 02:00“.get_transcription skilar stöðunni og, þegar verkinu er lokið, textanum. format: "text" gefur eina línu fyrir hvern hluta á forminu [mm:ss] Speaker 1: ...; "segments" gefur tímasettar línur með start, end, speaker og speakerName; includeWords: true bætir við tímasetningum orða. Niðurstöður eru síðuskiptar (offset, limit, sjálfgefið 500 hlutar) með nextOffset þegar fleiri eru eftir.Síðuskiptingin er fyrir líkanið, ekki netið. Allt sem verkfæri skilar er límt inn í samhengisglugga fulltrúans, þar sem það keppir við samtalið þitt og kostar tákn í hverri síðari umferð. Tveggja klukkustunda fundur er tugir þúsunda orða; ef allt væri skilað í einu myndi spurningin sem þú spurðir þrýstast út úr samhenginu. Góð MCP-verkfæri skila einni síðu og bendili og láta fulltrúann ákveða hversu mikið hann þarf.
Tengingarrof eða tímamörk stöðva aldrei verkið, því verkið lifir á þjóninum, ekki í MCP-beiðninni. Þegar því er lokið er verkið ein færsla til viðbótar í safninu þínu, og næstu verkfæri meðhöndla það eins og hvert annað.
list_transcriptions listar umritunum reikningsins, nýjustu fyrst, með stöðu og lengd; lifecycle er active, archived eða all.search_transcriptions leitar í því sem var sagt í öllum umritunum, á hvaða tungumáli sem er, og skilar samsvarandi línum, hver með sinni umritun og sekúndunni sem var sagt. transcriptionId þrengir leitina að einni umritun; lang bætir þýðingu á hverja niðurstöðu við.Að finna línu er ódýri helmingurinn. Tvö verkfæri til viðbótar komast að því hvað allt var sagt.
get_summary skilar gervigreindartitlinum og samantektinni á fullgerðri umritun, og má þýða hana með lang. state: "pending" þýðir að samantektin er enn í smíðum (hún er venjulega tilbúin innan nokkurra sekúndna frá lokum verksins), og fulltrúinn spyr aftur.translate_transcription skilar fullgerðri uppskrift á öðru tungumáli, sem texta eða tímasettum hlutum, með síðuskiptingu eins og get_transcription. Þýðingar eru geymdar, svo að endurtekin beiðni endurtekur ekki vinnuna.list_voices listar raddirnar sem geta lesið uppskrift á tungumáli: auðkenni, nafn, kyn og hreim þegar það er þekkt, gæðaeinkunn, og hvort hún er sjálfgefin eða ein af klónuðum röddum þínum. Það lýsir röddum; það lætur enga tala (meira um það neðar, um það sem þjónninn gerir ekki).Hér er hvernig verkfærin tengjast saman í framkvæmd.
Þegar þjónninn hefur verið bættur við gengur samtal í Claude Code svona fyrir sig. Þú límir hlaðvarpstengil og biður um meginatriðin á frönsku.
Fulltrúinn kallar á transcribe_url:
{ "url": "https://example.org/episodes/42.mp3", "name": "Episode 42", "speakerLabels": "auto" }
Hann fær til baka transcriptionId og state: "queued", og fylgir next-vísbendingunni:
{ "transcriptionId": "4f1c...", "timeoutS": 50 }
Fimmtíu mínútna þáttur er umritaður margfalt hraðar en hann spilast, en ekki innan einnar biðlotu. Fyrsta biðin skilar timedOut: true með framvindu upp á, segjum, 61 prósent, svo fulltrúinn kallar einu sinni enn á verkfærið og fær state: "done".
Nú kallar fulltrúinn á get_summary með lang: "fr":
{ "transcriptionId": "4f1c...", "lang": "fr" }
Ef samantektin er enn pending bíður fulltrúinn í nokkrar sekúndur; annars skilar hann þér titli og samantekt á frönsku. Spurðu „hvar ræddu þau um verð?“ og hann kallar á search_transcriptions með query: "pricing" og sama transcriptionId, og vitnar í samsvarandi línur með tímamerkjum þeirra. Biddu um allt efnið á frönsku og hann kallar á translate_transcription.
Nokkur verkfæraköll, enginn kóði, og umritun í safninu þínu. Hvert þessara kalla fór í gegnum sömu hliðin og REST-beiðni, og þau hlið ákvarða gjaldið og mörkin.
MCP-þjónninn er API-ið um annan inngang: sömu mörk, sama gjald.
POST /v1/transcriptions: hraði stofnunar áskriftarleiðarinnar (10, 100 eða sérsniðinn fjöldi umritana sem eru ræstar á klukkustund), hámark samhliða umritana (1, 5 eða ótakmarkað) og inneign hennar gilda öll. Nýskráningarinneignin upp á $5 nær yfir fyrstu lotu, og ekkert kort þarf.isError: true með villukóða REST API-ins, setningu sem líkanið getur brugðist við, og reitunum retryable og retryAfterS. insufficient_credit ber með sér topUpUrl; rate_limited segir hversu lengi á að bíða. Þetta skiptir meira máli en það virðist: líkan les villutextann, svo setning sem það getur brugðist við breytir blindgötu í næsta verkfærakall./v1/mcp-beiðnina: fulltrúi í lykkju fær HTTP 429 með Retry-After áður en nokkurt verkfæri keyrir.idempotencyKey: ef lykillinn úr kalli sem er lokið er notaður aftur er fyrri niðurstaðan endursýnd, en ef hann er notaður aftur með öðrum inntökum er beiðninni hafnað, svo að fulltrúi sem reynir aftur af sjálfsdáðum ræsir aldrei annað verk. Sérhvert verkfæri sem eyðir peningum ætti að bjóða upp á þetta; fulltrúar reyna aftur mun frjálslegar en fólk gerir.Þetta eru jaðrar þess sem þjónninn gerir. Tvennt fellur utan þeirra viljandi.
Þjónninn hefur ekkert verkfæri sem breytir hvaða texta sem er í tal, og ekkert slíkt er fyrirhugað. VocalStack les upp uppskriftir og þýðingar þeirra, með tilbúinni eða klónaðri rödd, og ekkert annað. list_voices segir fulltrúa hvaða raddir geta lesið uppskrift á tilteknu tungumáli, ekki hvernig eigi að fá rödd til að segja eitthvað nýtt.
Umritunarverkfærin hafna líka beinum straumum. Bein útsending á YouTube eða útvarpsstraumur þarf umritun í beinni, ræsta úr stjórnborðinu eða með POST /v1/transcriptions/live í API-tilvísuninni. Fullgert YouTube-myndskeið er skrá, og transcribe_url tekur við henni.
Ef þú vilt heldur skrifa kóðann handvirkt fer umritun skráar með API-inu yfir sömu skref og HTTP-köll, og rauntímakennslan fjallar um WebSocket.