{"_id":"@adatechnology/audio-transcription-mcp","_rev":"2-a27bbf2005dc142648e30cff13b36962","name":"@adatechnology/audio-transcription-mcp","dist-tags":{"rc":"0.1.0-rc.2","latest":"0.1.0"},"versions":{"0.1.0-rc.2":{"name":"@adatechnology/audio-transcription-mcp","version":"0.1.0-rc.2","keywords":["mcp","transcription","whisper","speech-to-text","pt-br"],"author":{"name":"Ada Technology"},"license":"MIT","_id":"@adatechnology/audio-transcription-mcp@0.1.0-rc.2","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"bin":{"audio-transcription-mcp":"dist/main.js"},"dist":{"shasum":"a7f9e50b328b80ba936c76b71805b29bbdd7ada9","tarball":"https://registry.npmjs.org/@adatechnology/audio-transcription-mcp/-/audio-transcription-mcp-0.1.0-rc.2.tgz","fileCount":8,"integrity":"sha512-Wd/IHrXMFz0Hxdk/9zrWLnDClR9el7zLdpiJ3/olXLKTtEooA7OFBjDL4DkvDRDbMW5ji8A/G3iULmVE4N4VaQ==","signatures":[{"sig":"MEYCIQDJLn8Jdnwlk1GBiBDNjrh3/yNAjfKkRiEmzTRyeWlnagIhAIYDxfGHauF+hXkbjOtAEuO7q5ACe5Hfad3gQqP9i95h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15709},"main":"dist/main.js","type":"module","_from":"file:adatechnology-audio-transcription-mcp-0.1.0-rc.2.tgz","types":"dist/main.d.ts","exports":{".":{"types":"./dist/server.d.ts","import":"./dist/server.js","default":"./dist/server.js"}},"scripts":{"test":"bun test","build":"tsup","check":"tsc --noEmit","start":"bun src/main.ts","format":"prettier --write package.json src tsconfig.json tsup.config.ts","format:check":"prettier --check package.json src tsconfig.json tsup.config.ts"},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"_resolved":"/tmp/e6d1ce197caab343586e67136fa03b62/adatechnology-audio-transcription-mcp-0.1.0-rc.2.tgz","_integrity":"sha512-Wd/IHrXMFz0Hxdk/9zrWLnDClR9el7zLdpiJ3/olXLKTtEooA7OFBjDL4DkvDRDbMW5ji8A/G3iULmVE4N4VaQ==","_npmVersion":"10.9.8","description":"MCP server exposing local Whisper transcription (whisper.cpp) as a tool — no API key, no upload","directories":{},"_nodeVersion":"22.23.2","dependencies":{"zod":"^4.4.3","@modelcontextprotocol/server":"^2.0.0","@adatechnology/audio-transcription-provider":"0.1.0-rc.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","@types/bun":"1.3.14","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/audio-transcription-mcp_0.1.0-rc.2_1787861373094_0.932110506166022","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@adatechnology/audio-transcription-mcp","version":"0.1.0","description":"MCP server exposing local Whisper transcription (whisper.cpp) as a tool — no API key, no upload","type":"module","main":"dist/main.js","types":"dist/main.d.ts","bin":{"audio-transcription-mcp":"dist/main.js"},"exports":{".":{"types":"./dist/server.d.ts","import":"./dist/server.js","default":"./dist/server.js"}},"keywords":["mcp","transcription","whisper","speech-to-text","pt-br"],"author":{"name":"Ada Technology"},"license":"MIT","publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/server":"^2.0.0","zod":"^4.4.3","@adatechnology/audio-transcription-provider":"0.1.0"},"devDependencies":{"@types/bun":"1.3.14","tsup":"^8.5.1","typescript":"^5.9.3"},"scripts":{"build":"tsup","check":"tsc --noEmit","start":"bun src/main.ts","test":"bun test","format":"prettier --write package.json src tsconfig.json tsup.config.ts","format:check":"prettier --check package.json src tsconfig.json tsup.config.ts"},"_id":"@adatechnology/audio-transcription-mcp@0.1.0","_integrity":"sha512-PSjAcHo6cmmV4pT/kqHWrA3TBUFQS44daiVNHlY2lG8ObtV1U4pgnT+oTIMu33wejkIP1nlJjEIENHAt1u/fPA==","_resolved":"/tmp/927f8304e085f323aca4757e79fd26a1/adatechnology-audio-transcription-mcp-0.1.0.tgz","_from":"file:adatechnology-audio-transcription-mcp-0.1.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-PSjAcHo6cmmV4pT/kqHWrA3TBUFQS44daiVNHlY2lG8ObtV1U4pgnT+oTIMu33wejkIP1nlJjEIENHAt1u/fPA==","shasum":"46f4065638fb2365c7c787939d7633e84773f8c0","tarball":"https://registry.npmjs.org/@adatechnology/audio-transcription-mcp/-/audio-transcription-mcp-0.1.0.tgz","fileCount":8,"unpackedSize":15699,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDCSGfuDMvSMcFB2YFKgjRzorGlIKuZMv/foojknFdltwIhANd1FieAwRvE4OyOT8TiZmEqZ9uEq2Tj+2qdCxsPfJps"}]},"_npmUser":{"name":"miyazaki","email":"andersonfrfilho@gmail.com"},"directories":{},"maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/audio-transcription-mcp_0.1.0_1788318115542_0.23110909804534185"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T20:09:32.926Z","modified":"2026-09-02T03:01:55.822Z","0.1.0-rc.2":"2026-08-27T20:09:33.228Z","0.1.0":"2026-09-02T03:01:55.657Z"},"author":{"name":"Ada Technology"},"license":"MIT","keywords":["mcp","transcription","whisper","speech-to-text","pt-br"],"description":"MCP server exposing local Whisper transcription (whisper.cpp) as a tool — no API key, no upload","maintainers":[{"name":"miyazaki","email":"andersonfrfilho@gmail.com"}],"readme":"# @adatechnology/audio-transcription-mcp\n\nServidor MCP que expõe transcrição de áudio por Whisper **rodando na própria máquina**: sem chave de API, sem upload, sem custo por minuto. É um invólucro fino sobre o engine local do [`@adatechnology/audio-transcription-provider`](../../backend/audio-transcription-provider).\n\n## Pré-requisitos\n\nTrês coisas fora do processo: o binário `whisper-cli` (whisper.cpp), o `ffmpeg` e um modelo ggml no disco.\n\n```bash\nbrew install whisper-cpp ffmpeg          # macOS\ncurl -L -o ~/models/ggml-large-v3-turbo.bin \\\n  https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-large-v3-turbo.bin\n```\n\nUse `large-v3-turbo` (~1.5GB). Modelos menores trocam palavras e entram em loop de repetição em pt-BR — o motivo está detalhado no README do provider.\n\n## Registrar no Claude Code\n\n```bash\nclaude mcp add ada-transcription -- \\\n  bunx @adatechnology/audio-transcription-mcp\n```\n\nCom as variáveis de ambiente:\n\n| Variável | Obrigatória | Padrão | Para quê |\n|---|---|---|---|\n| `WHISPER_MODEL_PATH` | ✅ | — | caminho do modelo ggml |\n| `WHISPER_BINARY_PATH` | | `whisper-cli` | binário do whisper.cpp |\n| `FFMPEG_PATH` | | `ffmpeg` | conversão para WAV 16kHz mono |\n| `WHISPER_THREADS` | | do whisper.cpp | threads na inferência |\n| `TRANSCRIPTION_LANGUAGE` | | `pt` | idioma padrão |\n| `TRANSCRIPTION_ALLOWED_ROOT` | | — | limita a leitura a uma pasta |\n\n**Sobre `TRANSCRIPTION_ALLOWED_ROOT`:** quem escolhe o caminho do arquivo é o modelo, não uma pessoa digitando. Sem essa variável o servidor lê qualquer arquivo que o usuário do processo consiga ler. Aponte para a pasta de áudios e o problema deixa de existir.\n\n## Ferramentas\n\n**`transcribe_audio`** — `{ filePath, languageHint? }` → texto. Caminho absoluto, na máquina que roda o servidor. Aceita m4a, mp3, ogg/opus, wav, flac, webm, amr e aac.\n\n**`check_transcription_setup`** — sem argumentos. Diz qual dos três pré-requisitos falta. Use quando `transcribe_audio` falhar, antes de investigar o áudio.\n\n## Medição\n\nÁudio real de reunião gravado por celular (7min38s, m4a), via MCP de ponta a ponta, Apple M3 Pro com Metal: **23,3s**, 4.964 caracteres, sem loop de repetição. Em CPU de container espere bem mais lento.\n\n## Testes\n\n```bash\nbun test\n```\n","readmeFilename":"README.md"}