Speak AI

by speakai

345 downloads
Not rated
GitHub

About

Official MCP server for Speak AI, transcribe meetings, analyze media, extract insights, and search across your entire audio/video library. 81 tools, 5 resources, 3 prompts. Upload recordings, get AI-powered transcripts and summaries, ask questions across files, create clips, sche

Details

Author
speakai
Downloads
345
Categories
Media, AI, Search

- 83 MCP tools for media, AI chat, folders, and automations
- 5 resources for direct data access without tool calls
- 3 pre-built workflow prompts for multi-step tasks
- 28 CLI commands for scripting and automation
- Transcribe, analyze, search, and manage media at scale

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Speak AI
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install globally via npm install -g @speakai/mcp-server, then run speakai-mcp init for auto-setup that detects and configures supported MCP clients. Alternatively, manually add the server configuration to each client using your Speak AI API key, set via the SPEAK_API_KEY environment variable.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "speak ai": {
            "speak-ai": {
                "command": "npx",
                "args": [
                    "-y",
                    "@speakai/mcp-server"
                ],
                "env": {
                    "SPEAK_API_KEY": "your-api-key"
                }
            }
        }
    }
}

McpServers

{
    "speak-ai": {
        "command": "npx",
        "args": [
            "-y",
            "@speakai/mcp-server"
        ],
        "env": {
            "SPEAK_API_KEY": "your-api-key"
        }
    }
}

<p align="center">
Speak AI
</p>

<h1 align="center">Speak AI MCP Server & CLI</h1>

<p align="center">
Connect Claude, Cursor, Windsurf, and other AI assistants to your <a href="https://speakai.co">Speak AI</a> workspace.<br/>
83 tools, 5 resources, 3 prompts, 28 CLI commands — transcribe, analyze, search, and manage media at scale.
</p>

<p align="center">
<a href="https://www.npmjs.com/package/@speakai/mcp-server">npm version</a>
<a href="https://modelcontextprotocol.io">MCP compatible</a>
<a href="https://opensource.org/licenses/MIT">License: MIT</a>
</p>

---

Quick Start

1. Get Your API Key

1. Go to Speak AI API Keys
2. Copy your API Key

2. Choose How to Use It

| Method | Best for |
|---|---|
| CLI | Scripts, pipelines, quick one-off tasks |
| MCP Server | AI assistants (Claude, Cursor, Windsurf, VS Code) |
| Both | Full power — agents orchestrate, CLI automates |

---

Setup

Auto-Setup (Recommended)

Detects installed MCP clients and configures them automatically:

npm install -g @speakai/mcp-server
speakai-mcp init

Manual Setup

<details>
<summary>Claude Desktop</summary>

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "speak-ai": {
      "command": "npx",
      "args": ["-y", "@speakai/mcp-server"],
      "env": {
        "SPEAK_API_KEY": "your-api-key"
      }
    }
  }
}

</details>

<details>
<summary>Claude Code</summary>

export SPEAK_API_KEY="your-api-key"
claude mcp add speak-ai -- npx -y @speakai/mcp-server

</details>

<details>
<summary>Cursor</summary>

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "speak-ai": {
      "command": "npx",
      "args": ["-y", "@speakai/mcp-server"],
      "env": {
        "SPEAK_API_KEY": "your-api-key"
      }
    }
  }
}

</details>

<details>
<summary>Windsurf</summary>

Add to ~/.windsurf/mcp.json:

{
  "mcpServers": {
    "speak-ai": {
      "command": "npx",
      "args": ["-y", "@speakai/mcp-server"],
      "env": {
        "SPEAK_API_KEY": "your-api-key"
      }
    }
  }
}

</details>

<details>
<summary>VS Code</summary>

Add to ~/.vscode/mcp.json:

{
  "mcpServers": {
    "speak-ai": {
      "command": "npx",
      "args": ["-y", "@speakai/mcp-server"],
      "env": {
        "SPEAK_API_KEY": "your-api-key"
      }
    }
  }
}

</details>

<details>
<summary>Any MCP Client (STDIO)</summary>

SPEAK_API_KEY=your-key npx @speakai/mcp-server

</details>

Environment Variables

| Variable | Required | Default | Description |
|---|---|---|---|
| SPEAK_API_KEY | Yes | -- | Your Speak AI API key |
| SPEAK_ACCESS_TOKEN | No | Auto-managed | JWT access token (auto-fetched and refreshed) |
| SPEAK_BASE_URL | No | https://api.speakai.co | API base URL |

---

MCP Tools (83)

<details>
<summary>Media (16 tools)</summary>

| Tool | Description |
|---|---|
| get_signed_upload_url | Get a pre-signed S3 URL for direct file upload |
| upload_media | Upload media from a public URL for transcription |
| upload_local_file | Upload a local file directly from disk |
| upload_and_analyze | Upload, wait for processing, return transcript + insights in one call |
| list_media | List and search media files with filters, pagination, and optional inline data (transcripts, speakers, keywords) via include param |
| get_media_insights | Get AI insights — topics, sentiment, summaries, action items |
| get_transcript | Get full transcript with speaker labels and timestamps |
| get_captions | Get subtitle-formatted captions for a media file |
| update_transcript_speakers | Rename speaker labels in a transcript |
| bulk_update_transcript_speakers | Rename speaker labels across multiple media files in one call (max 500) |
| get_media_status | Check processing status (pending -> processed) |
| update_media_metadata | Update name, description, tags, or folder |
| delete_media | Permanently delete a media file |
| toggle_media_favorite | Mark or unmark media as a favorite |
| reanalyze_media | Re-run AI analysis with latest models |
| bulk_move_media | Move multiple media files to a folder in one call |

</details>

<details>
<summary>Magic Prompt / AI Chat (12 tools)</summary>

| Tool | Description |
|---|---|
| ask_magic_prompt | Ask AI questions about media, folders, or your whole workspace |
| retry_magic_prompt | Retry a failed or incomplete AI response |
| get_chat_history | List recent Magic Prompt conversations |
| get_chat_messages | Get full message history for conversations |
| delete_chat_message | Delete a specific chat message |
| list_prompts | List available AI prompt templates |
| get_favorite_prompts | Get all favorited prompts and answers |
| toggle_prompt_favorite | Mark or unmark a chat message as favorite |
| update_chat_title | Rename a chat conversation |
| submit_chat_feedback | Rate a chat response (thumbs up/down) |
| get_chat_statistics | Get Magic Prompt usage statistics |
| export_chat_answer | Export a conversation or answer |

</details>

<details>
<summary>Folders & Views (11 tools)</summary>

| Tool | Description |
|---|---|
| list_folders | List all folders with pagination and sorting |
| get_folder_info | Get folder details and contents |
| create_folder | Create a new folder |
| clone_folder | Duplicate a folder and its contents |
| update_folder | Rename or update a folder |
| delete_folder | Delete a folder (media is preserved) |
| get_all_folder_views | List all saved views across folders |
| get_folder_views | List views for a specific folder |
| create_folder_view | Create a saved view with custom filters |
| update_folder_view | Update a saved view |
| clone_folder_view | Duplicate a view |

</details>

<details>
<summary>Recorder / Survey (10 tools)</summary>

| Tool | Description |
|---|---|
| create_recorder | Create a new recorder or survey |
| list_recorders | List all recorders |
| get_recorder_info | Get recorder details and questions |
| clone_recorder | Duplicate a recorder |
| get_recorder_recordings | List all submissions |
| generate_recorder_url | Get a shareable public URL |
| update_recorder_settings | Update branding and permissions |
| update_recorder_questions | Update survey questions |
| check_recorder_status | Check if recorder is active |
| delete_recorder | Delete a recorder |

</details>

<details>
<summary>Automations (5 tools)</summary>

| Tool | Description |
|---|---|
| list_automations | List automation rules |
| get_automation | Get automation details |
| create_automation | Create an automation rule |
| update_automation | Update an automation |
| toggle_automation_status | Enable or disable an automation |

</details>

<details>
<summary>Clips (4 tools)</summary>

| Tool | Description |
|---|---|
| create_clip | Create a highlight clip from time ranges across media files |
| get_clips | List clips or get a specific clip with download URL |
| update_clip | Update clip title, description, or tags |
| delete_clip | Permanently delete a clip |

</details>

<details>
<summary>Custom Fields (4 tools)</summary>

| Tool | Description |
|---|---|
| list_fields | List all custom fields |
| create_field | Create a custom field |
| update_field | Update a custom field |
| update_multiple_fields | Batch update multiple fields |

</details>

<details>
<summary>Webhooks (4 tools)</summary>

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.