# AssemblyAI — how to use (mcp.ai)

Connect your AssemblyAI account and use 9 tools for transcription straight from your AI agent. Connect with your own API key. AssemblyAI provides speech-to-text transcription and audio intelligence APIs for uploaded and remotely hosted media.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_assemblyai?ms=1787293440000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `assemblyai_delete_transcript`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/assemblyai`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/assemblyai/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/assemblyai/delete/transcript` — Irreversibly delete a transcript's stored content. AssemblyAI retains a tombstone that later GET and list calls can still return, and those later responses may omit the is_deleted marker.
  - body: { transcript_id: string }
- `POST https://api.mcp.ai/api/assemblyai/export/subtitles` — Export a completed transcript as raw SRT or WebVTT subtitle text.
  - body: { transcript_id: string, subtitle_format: string, chars_per_caption?: integer }
- `POST https://api.mcp.ai/api/assemblyai/get/redacted/audio` — Get the processing status and short-lived signed download URL for PII-redacted audio. The transcript must have been submitted with text and audio PII redaction enabled and at least one explicit redact
  - body: { transcript_id: string }
- `POST https://api.mcp.ai/api/assemblyai/get/transcript` — Retrieve an AssemblyAI transcript's current state and results, optionally waiting until asynchronous processing completes or fails.
  - body: { transcript_id: string, wait_for_completion?: boolean, poll_timeout_seconds?: number, poll_interval_seconds?: number }
- `POST https://api.mcp.ai/api/assemblyai/get/transcript/segments` — Return sentence- or paragraph-level segments, timestamps, confidence, and words for a completed transcript.
  - body: { granularity: string, transcript_id: string }
- `POST https://api.mcp.ai/api/assemblyai/list/transcripts` — List project transcripts from the last 90 days, newest first, with optional filters and a cursor for the next older page.
  - body: { limit?: integer, cursor?: string, status?: string, created_on?: string }
- `POST https://api.mcp.ai/api/assemblyai/search/transcript` — Find words or phrases in a completed transcript and return occurrence counts and timestamps.
  - body: { terms: string[], transcript_id: string }
- `POST https://api.mcp.ai/api/assemblyai/submit/transcript` — Queue an asynchronous pre-recorded transcription from a reachable media URL. Returns immediately with the transcript ID and processing status; use GET_TRANSCRIPT to wait for results.
  - body: { domain?: string, webhook?: object, language?: object, audio_url: string, prompting?: object, formatting?: object, audio_range?: object, temperature?: number, intelligence?: object, pii_redaction?: object, speech_models?: string[], speech_threshold?: number, speaker_detection?: object }
- `POST https://api.mcp.ai/api/assemblyai/upload/media` — Upload an audio or video file to AssemblyAI and return the project-private URL to use when submitting a transcript. AssemblyAI provides no API to delete this uploaded object; it remains subject to pro
  - body: { media_file: object, content_type?: string }

## Example prompts
- "What can I do in AssemblyAI?"
- "Show me a summary of my AssemblyAI account"

## More
- Page: https://mcp.ai/assemblyai
- Agent spec (llms.txt): https://mcp.ai/assemblyai/llms.txt
- Postman collection: https://mcp.ai/assemblyai/postman.json
