Connect Speak AI to Claude or ChatGPT in 60 seconds
MCP serverSearchFind the moments that matter in your recordings without replaying them start to finish. Once added, your AI can search your recordings, summarize meetings, and create clips whenever you ask. It can also chain those steps together into automated workflows.
Available today. Use it from your connected AI after setup.
Needs your own Speak account. Credentials stay encrypted.
After adding it, ask your AI to summarize a recent meeting or search your recordings for something specific. When you notice yourself repeating the same requests, turn those steps into an automated workflow.
Then ask your AI: use Connect Speak AI to Claude or ChatGPT in 60 seconds
What your AI can do with it
- Search your recordings to find specific meetings or moments
- Summarize meetings so you can catch up without watching the whole thing
- Create clips from your recordings
- Automate workflows that involve your recordings
- Do all of this by simply asking your AI in conversation
From the project's README
As published by speakai/speakai-mcp in README.md.
What this does
Speak AI transcribes your interviews, sales calls, research sessions, webinars, podcasts, and team meetings — then extracts AI insights like summaries, action items, sentiment, and themes.
This connector (built on MCP — the standard way Claude and ChatGPT connect to apps) brings all of that into Claude or ChatGPT. Once installed, you can ask:
- "Find the last 10 customer interviews that mention pricing, group the feedback by theme, and cite the source recordings."
- "Summarize this week's team meetings into decisions, action items, owners, and unresolved risks."
- "Pull exact customer quotes about onboarding friction from recent research calls and format them for a product brief."
- "Find a strong 30-second highlight from the latest webinar, create a clip, and export captions."
The AI does the searching, summarizing, and citing. Your recordings stay in your Speak AI workspace — Claude and ChatGPT just query them through this connector.
Install (pick your tool)
Two paths to install — pick whichever feels easier. The one-click connect path approves access via a permission popup; the manual path pastes an API key into a header.
Don't know which one to pick? If you already use Claude or ChatGPT, install for whichever one you have.
Speak AI's connector address (paste this into your AI tool's connector settings — it's the same idea as pasting a Zoom link into your calendar):
https://api.speakai.co/v1/mcp
Claude.ai (web)
- Open claude.ai/settings/connectors
- Click Add custom connector
- Name it Speak AI and paste
https://api.speakai.co/v1/mcp, then click Add - A permission popup asks you to log into Speak AI and click Allow
- Done — Speak AI shows in your connector list with its tools ready to use. Open a new chat and ask about your recordings.
3. Add custom connector dialog — name and URL filled in.
5. Connected — Speak AI tools appear in your connector list.
Get a key at app.speakai.co/developers/apikeys, then in step 3 expand Advanced settings and add Authorization = Bearer <your-key> before clicking Add.
Claude Desktop
- Open Claude Desktop → Settings → Connectors → Add custom connector
- Paste
https://api.speakai.co/v1/mcp - Click Add — a permission popup opens. Sign in to Speak AI and click Allow on the screen that appears.
- Done.
Get a key at app.speakai.co/developers/apikeys, then in step 2 also expand Custom headers and add:
- Header name:
Authorization - Header value:
Bearer <your-speak-api-key>
Then click Add.
ChatGPT
- Open ChatGPT → Settings → Apps & Connectors → Advanced
- Turn on Developer Mode (required while Speak AI isn't yet listed in ChatGPT's app store — this lets you add it as a custom app)
- Back on Apps & Connectors, click Create and paste
https://api.speakai.co/v1/mcp - For Authentication, choose OAuth
- ChatGPT opens a new tab to Speak AI — sign in (or click Confirm if already logged in) to authorize. You'll be redirected back; close the tab and return to ChatGPT.
- Per-chat: open a chat, click the + / connector menu, and enable Speak AI for that chat.
1. Connect screen in ChatGPT — paste the connector URL and pick OAuth.
2. Confirm and continue — ChatGPT asks you to continue to Speak AI.
3. Authorize on Speak AI — sign in or click Confirm if you're already signed in.
4. Connected — Speak AI now shows in your ChatGPT connector list.
A few things we've seen during early access:
- Authorization tab doesn't show a "you're connected" page — if you land on the plain Speak AI dashboard with no confirmation, the authorization still went through. Close that tab and return to ChatGPT.
- "Connect" button keeps reopening the dashboard — fully close and reopen ChatGPT, then check Settings → Apps & Connectors. Speak AI should already be listed there.
- "No actions available" inside a chat — make sure Developer Mode is still on, and that you've enabled Speak AI from the per-chat connector menu (step 6 above).
Still stuck? Email success@speakai.co.
Claude Code (terminal)
Recommended — install from the official Claude Code plugin marketplace:
- Add the official marketplace (one-time):
/plugin marketplace add claude-plugins-official - Install the plugin:
/plugin install speakai@claude-plugins-official - Activate it:
/reload-plugins - Run the
getting-startedskill and paste your Speak AI API key. Generate one at app.speakai.co/developers/apikeys.
If /plugin install doesn't find Speak AI, refresh the local catalog with /plugin marketplace update claude-plugins-official and retry.
Skip the plugin and add the connector directly:
claude mcp add speakai --transport http --url https://api.speakai.co/v1/mcp
Claude Code will open an OAuth window for sign-in. To bypass OAuth and pass a Bearer token instead:
claude mcp add speakai --transport http --url https://api.speakai.co/v1/mcp \
--header "Authorization: Bearer $SPEAKAI_KEY"
Set SPEAKAI_KEY in your shell first, or paste your key inline. Generate a key at app.speakai.co/developers/apikeys.
Cursor
Click the button — Cursor registers itself automatically and opens the permission popup. Sign in to Speak AI and click Allow.
Use the manual stdio setup in the Developer reference at the bottom of this README.
VS Code
Click the button — VS Code registers itself automatically and opens the permission popup. Sign in to Speak AI and click Allow.
Use the manual stdio setup in the Developer reference at the bottom of this README.
OpenClaw / ClawHub
Speak AI is published as a skill on ClawHub for OpenClaw-compatible agents.
- Visit the Speak AI skill page on ClawHub
- Follow the install instructions for your agent — e.g.
clawhub install speakaifrom the ClawHub CLI - Set your
SPEAK_API_KEYenvironment variable. Generate one at app.speakai.co/developers/apikeys.
ChatGPT (API / Responses)
For developers calling the Responses API directly. Pass the bearer token in the tool config:
{
"tools": [
{
"type": "mcp",
"server_url": "https://api.speakai.co/v1/mcp",
"authorization": "Bearer YOUR_SPEAK_API_KEY"
}
]
}
Get a key at app.speakai.co/developers/apikeys.
Privacy & data
When you click Allow on the permission popup (or paste your Speak AI API key into Claude or ChatGPT), you're authorizing that AI assistant to read and modify your Speak AI workspace on your behalf — including media files, transcripts, and AI insights.
- Your recordings stay in your Speak AI workspace. They are not copied or stored by Anthropic or OpenAI.
- Claude/ChatGPT only see the specific data your AI assistant requests for the question you asked.
- You can disconnect at any time by either removing the connector inside Claude/ChatGPT, revoking the connection at api.speakai.co/v1/oauth/connections, or rotating/revoking your API key at app.speakai.co/developers/apikeys.
For questions about data handling, see speakai.co/privacy or email success@speakai.co.
Need help connecting?
You shouldn't need to be technical to install this. If anything is confusing or doesn't work:
- Email success@speakai.co — we'll respond within 24 hours
- Book a demo with us and we'll set it up together
What you can do once installed
Speak AI ships 114 tools your AI assistant can call. You don't memorize them — Claude/ChatGPT pick the right ones based on what you ask. Examples by category:
| Ask | Tools used (auto) |
|---|---|
| "Find customer interviews about pricing and group the feedback by theme" | search_media, ask_ai_chat |
| "Summarize this week's meetings into decisions, owners, and risks" | list_media, get_media_insights |
| "Pull action items from yesterday's call" | get_media_insights, ask_ai_chat |
| "Schedule the AI to join my 2pm Zoom" | schedule_meeting_event |
| "Pull the live transcript from my current MS Teams meeting since last fetch" | list_meeting_events, get_live_meeting_transcript |
| "Find a 30-second webinar highlight and export captions" | create_clip, export_media |
| "Export the transcript as a PDF and captions as SRT" | export_media |
| "Compare Q1 sales calls against Q2 sales calls and summarize changed objections" | search_media, ask_ai_chat |
Full tool catalog is in the developer reference below.
Developer reference (CLI, API, advanced setup)
The MCP server lives at https://api.speakai.co/v1/mcp and supports two auth methods:
- OAuth 2.1 + Dynamic Client Registration — install by pasting the URL above into any MCP client and approving the consent popup. Discovery, DCR,
/authorize+ consent,/token, and revocation endpoints are all available. - Bearer token (your Speak AI API key —
Authorization: Bearer <key>header). For clients that don't speak OAuth, plus the npm CLI and stdio mode.
Get a Speak AI API key at app.speakai.co/developers/apikeys.
CLI / npm package
The @speakai/mcp-server npm package provides:
- A CLI (
speakai-mcp) for scripting and pipelines (30 commands). - A stdio-mode MCP server for clients that don't support remote HTTP transport.
- An auto-setup wizard that detects installed MCP clients and configures them.
npm install -g @speakai/mcp-server
speakai-mcp init
Manual configuration (stdio mode)
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"
}
}
}
}
export SPEAK_API_KEY="your-api-key"
claude mcp add speak-ai -- npx -y @speakai/mcp-server
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
Add to ~/.windsurf/mcp.json:
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
Add to ~/.vscode/mcp.json:
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
SPEAK_API_KEY=your-key npx @speakai/mcp-server
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 (114)
| Tool | Description |
|---|---|
get_signed_upload_url | Get a pre-signed S3 URL for direct file upload |
upload_media | Upload media from a URL — a direct/public file URL, a pre-signed S3 URL, or a social/video page link resolved automatically (YouTube, TikTok, Instagram, X/Twitter, Facebook, Reddit, SoundCloud, Twitch, Dailymotion, Streamable, Snapchat, Pinterest, Tumblr, Bilibili, VK, OK.ru, Rutube). Vimeo and Loom page links are not supported. |
upload_local_file | Upload a local file directly from disk |
upload_and_analyze | Upload media from a URL (direct file, or any social/video page link upload_media accepts — resolved automatically) and return its media_id immediately. Poll get_media_status until processed, then call get_media_insights for AI summaries. Set mediaType when the user has said which they want; leave it off otherwise and the server picks the best available track. |
upload_and_analyze_batch | Upload up to 25 URLs in one call, 5 at a time. Each URL is reported as uploaded or failed with its reason, so one bad link does not sink the batch. Use this instead of calling upload_and_analyze in a loop. |
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 |
update_transcription | Edit the official transcript text of a media file by finding and replacing text |
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 |
| Tool | Description |
|---|---|
ask_ai_chat | Ask AI questions about media, folders, or your whole workspace |
get_analysis_quote | Check if a file can be analysed as audio/video and what it costs |
retry_ai_chat | Retry a failed or incomplete AI Chat response |
get_chat_history | List recent AI Chat 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 AI Chat usage statistics |
export_chat_answer | Export a conversation or answer |
| 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 |
| 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 |
| Tool | Description |
|---|---|
list_automations | List automation rules with paging and filters |
build_automation | Create or update an automation from a friendly spec, without the wire format |
list_automation_names | List automations as lightweight name + id pairs |
get_automation | Get automation details (trigger + step graph) |
get_automation_runs | Get an automation's run history |
create_automation | Create an automation rule (V2 trigger + steps graph) |
update_automation | Update an automation (replaces trigger + steps) |
toggle_automation_status | Enable or disable an automation |
bulk_update_automation_status | Activate/deactivate multiple automations |
bulk_assign_automation_folders | Set folder scope for multiple automations |
run_automations | Manually run automations against media now |
delete_automation | Permanently delete an automation |
list_automation_apps | List catalog apps (native + integrations) |
list_automation_triggers | List catalog trigger types (optionally by app) |
list_automation_actions | List catalog action/step types (optionally by app) |
| 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 |
| 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 |
| Tool | Description |
|---|---|
create_webhook | Create a webhook for event notifications |
provision_inbound_webhook | Provision a standalone inbound webhook and get its public receive URL |
get_inbound_webhook | Get an inbound webhook's receive URL, sample payload, and trigger tokens |
get_webhook_attempts | Get the delivery log for an inbound webhook, with acknowledgement status |
list_webhooks | List all webhooks |
update_webhook | Update a webhook |
delete_webhook | Delete a webhook |
| Tool | Description |
|---|---|
list_users | List workspace members with ids, emails, and permissions |
list_user_groups | List user groups with hydrated members |
create_user_group | Create a user group and assign members |
update_user_group | Update a group's name and members (full replace) |
delete_user_group | Delete a user group |
| Tool | Description |
|---|---|
list_dashboard_widgets | List widget types, their config keys, and an example payload |
list_dashboards | List analytics dashboards you can access |
get_dashboard | Get a dashboard's full config (widgets, filters, scope) |
create_dashboard | Create a dashboard with auto-laid-out widgets |
update_dashboard | Update a dashboard (partial; widgets are replaced) |
delete_dashboard | Soft-delete a dashboard and its share link |
duplicate_dashboard | Clone a dashboard with fresh widget ids |
share_dashboard | Enable public sharing and return the share token |
get_dashboard_speakers_insight | Speakers breakdown for a folder/date/filter scope |
| Tool | Description |
|---|---|
list_meeting_events | List scheduled and completed events |
schedule_meeting_event | Schedule AI assistant to join a meeting |
remove_assistant_from_meeting | Remove assistant from active meeting |
delete_scheduled_assistant | Cancel a scheduled meeting assistant |
get_live_meeting_transcript | Pull only the new sentences added to a live (or just-ended) meeting transcript since your previous call. Works on Zoom / Google Meet / MS Teams while the bot is recording. |
| Tool | Description |
|---|---|
create_embed | Create an embeddable player widget |
update_embed | Update embed settings |
check_embed | Check if embed exists for media |
get_embed_iframe_url | Get iframe URL for your website |
| Tool | Description |
|---|---|
create_text_note | Create a text note for AI analysis |
get_text_insight | Get AI insights for a text note |
reanalyze_text | Re-run AI analysis on a text note |
update_text_note | Update note content (triggers re-analysis) |
Shortened here. Read the whole README on GitHub.
Signals
- Last commit
- Sep 2026
Advanced
- Delivery
- mcp-server MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
io-github-speakai-mcp-server- Source
- github.com/speakai/speakai-mcp
- Hosted endpoint
https://api.speakai.co/v1/mcp