AgentStack
MCP verified MIT Self-run

STT MCP

mcp-sm18lr88-stt-mcp · by sm18lr88

Fast, local speech-to-text MCP server

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-sm18lr88-stt-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-sm18lr88-stt-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
yesterday

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of STT MCP? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

STT-MCP

Let your AI agents understand audio files, and audio within video. Normalizes audio with FFMPEG -> translates -> cleans up after itself.

Chosen backend implementation depends on your hardware, and your agent will help you choose: Parakeet or Granite. That selection is persisted for both the CLI and MCP server.

Table of contents

  • [Backends](#backends)
  • [Installation](#installation)
  • [Transcribe from the CLI](#transcribe-from-the-cli)
  • [Use as an MCP server](#use-as-an-mcp-server)
  • [Operational behavior](#operational-behavior)
  • [Contributor and backend verification](#contributor-and-backend-verification)
  • [Contributing](#contributing)
  • [License](#license)
  • [Uninstall](#uninstall)

Backends

| Backend | Best for | Runtime | | -------- | ---------------------------------------------------- | ----------------------------------------------------------- | | Parakeet | CPU-only Windows/Linux, Intel Mac, and Apple Silicon | Pinned parakeet.cpp v0.4.0 plus a local multilingual GGUF | | Granite | Highest-quality verified CUDA path | Pinned IBM Granite Speech model on exactly one NVIDIA GPU |

Windows x86-64 is verified with Parakeet CPU and Granite CUDA SDPA. Linux, WSL2, Intel macOS, and Apple Silicon paths are implemented but remain runtime-unverified. Containers are unsupported.

Installation

The recommended installation path is to point your coding agent at the authoritative runbook. Copy and paste this instruction into your agent:

> Read [docs/SETUP.md](docs/SETUP.md) from top to bottom. Inspect my hardware, show me the > recommended backend and why, ask me to confirm or choose a supported alternative, then follow the > runbook to install, configure, and verify STT-MCP. Do not silently choose a backend or skip the > real speech acceptance test.

The agent must pause for your backend confirmation before installing backend-specific assets. If you prefer a manual installation, follow the same runbook directly. Before continuing, install:

  • uv with managed CPython 3.13;
  • ffmpeg and ffprobe on PATH;
  • enough storage for the selected runtime and model.

Dependency and model installation also require network access. Prepare the project and inspect the machine:

uv --version
uv python install 3.13
ffmpeg -version
ffprobe -version
uv sync --python 3.13 --locked
uv run stt-mcp setup inspect

Review the JSON recommendation, then confirm the backend before installing or configuring it. setup inspect never changes configuration.

Granite

Granite requires a supported NVIDIA/CUDA environment and the optional dependency group:

uv sync --python 3.13 --locked --extra granite
uv run stt-mcp setup configure --backend granite

Parakeet

Download and verify the exact executable and model from the [Parakeet setup instructions](docs/SETUP.md#4-install-parakeet), then persist their local paths:

uv run stt-mcp setup configure --backend parakeet \
  --parakeet-executable "/path/to/parakeet-cli" \
  --parakeet-model "/path/to/tdt-0.6b-v3-q4_k.gguf" \
  --parakeet-device cpu

Parakeet binaries and models are downloaded only during explicit setup, never at runtime.

Transcribe from the CLI

Publish TXT, Markdown, JSON, SRT, and WebVTT beside the source:

uv run stt-mcp transcribe "/path/to/media.mp4"

Choose formats and an output directory:

uv run stt-mcp transcribe "/path/to/media.mp4" --output "/path/to/transcripts" --format json --format srt

JSON output includes the effective backend. Subtitle timing is coarse 30-second source-window timing for consistent behavior across both backends.

Use as an MCP server

Register a supported client, then restart it:

uv run stt-mcp register opencode
uv run stt-mcp register claude-desktop

Other stdio clients can launch the installed Python environment with:

-m stt_mcp.server

The server exposes:

transcribe(
  source_path: string,
  output_directory?: string,
  formats?: ("txt" | "md" | "json" | "srt" | "vtt")[]
)

Omitting output_directory writes beside the source. Omitting formats publishes every format.

Operational behavior

  • One backend is selected and latched for the MCP process.
  • One transcription runs at a time; concurrent requests fail immediately as busy.
  • Explicit Granite remains fail-closed under its CUDA/NVML safety policy.
  • Cancellation closes the active Parakeet process or invalidates the Granite worker.
  • Artifacts are atomically published, so failed requests do not leave partial output.
  • Runtime code never downloads Parakeet assets.
  • Granite loads only when selected; Parakeet-only imports do not load Torch, Transformers, or NVML.

Contributor and backend verification

The authoritative verification and real-acceptance sequence is in [docs/SETUP.md](docs/SETUP.md#6-run-static-and-default-test-gates). The default project gates are:

uv sync --python 3.13 --locked --extra granite
uv run ruff check .
uv run basedpyright
uv run ty check src tests
uv run mypy
uv run pytest
uv build

Run real acceptance with the configured backend:

$env:STT_MCP_TEST_MEDIA = (Resolve-Path "D:\path\to\speech.wav").Path
uv run pytest tests/test_mcp_acceptance.py -q -s
Remove-Item Env:STT_MCP_TEST_MEDIA

Where GNU Make is available, local convenience targets mirror those commands without replacing the authoritative runbook. On Windows systems without Make, run the direct uv commands above.

make test-fast
make lint
make test
make coverage
make build
make pmat

Install the fast Ruff pre-commit checks with make hooks. PMAT dead-code analysis should target src; its Python analyzer reports decorated Typer commands, Pydantic validators, Protocol members, and interface properties as medium-confidence dead code even though those entry points are live.

Hosted CI/CD is intentionally not configured. Backend setup and acceptance depend on the user's hardware, a user-confirmed backend, exact local model assets, and a real speech sample, so the setup agent executes the runbook on the target computer.

Contributing

Keep changes focused, use uv exclusively, and run the full local quality gates before handing work off (make quality where GNU Make is available). Changes to setup, backend selection, CUDA policy, model pins, or client registration must also follow [docs/SETUP.md](docs/SETUP.md) and complete the applicable real CLI and MCP acceptance steps.

Do not weaken Granite's fail-closed GPU checks, introduce runtime model downloads, or claim an unverified platform/backend pair works.

License

This project is licensed under the [MIT License](LICENSE). Parakeet runtime and model assets retain their separate upstream license and attribution requirements described in [docs/SETUP.md](docs/SETUP.md#4-install-parakeet).

Uninstall

uv run stt-mcp unregister opencode
uv run stt-mcp unregister claude-desktop

The repository workflow installs STT-MCP into .venv through uv sync; it does not create a uv tool installation. Delete .venv only if you also want to remove that project environment. Transcripts, configuration, model caches, and downloaded Parakeet assets remain until you remove them explicitly.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.