home / mcp / assemblyai mcp server

AssemblyAI MCP Server

Provides an MCP interface to AssemblyAI for transcribing audio files and managing transcription jobs.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cogell-assembly-ai-mcp": {
      "command": "npx",
      "args": [
        "assembly-ai-mcp@latest"
      ],
      "env": {
        "ASSEMBLYAI_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

You run an MCP server that exposes AssemblyAI’s transcription capabilities to AI assistants. It lets you submit audio for transcription, poll for results, and access structured transcript data through a standardized interface, enabling seamless integration with your MCP-enabled clients.

How to use

You interact with the server through your MCP client to perform transcription tasks. Use these core actions to manage audio, transcripts, and results.

How to install

Prerequisites: You need Node.js 18.0.0 or higher and an AssemblyAI API key.

1) Create or clone your project directory.

2) Install dependencies.

npm install

3) Set up your AssemblyAI API key in the environment.

export ASSEMBLYAI_API_KEY="your-api-key-here"
```
 or create a .env file with the line ASSEMBLYAI_API_KEY=your-api-key-here

4) Build the TypeScript code.

npm run build

5) Start the server locally for development.

npm start
```
 or for development with auto-rebuilds use:
```
npm run watch

Configuration and runtime setup

Set your AssemblyAI API key as an environment variable to enable the server to access transcription services. You can provide this key via a shell export or a .env file in your runtime environment.

Basic runtime notes: The server offers practical MCP endpoints to submit and retrieve transcriptions. Keep your API key secure and avoid embedding it in client code.

Available tools

transcribe_url

Transcribe audio from a remote URL and wait for completion.

transcribe_file

Transcribe audio from a local file path and wait for completion.

submit_transcription

Submit audio for transcription without waiting for completion; returns a job ID.

get_transcript

Retrieve the status and results of a transcription job.

transcript_resource

Access transcript data directly by ID as structured JSON.