Troubleshooting MCP & CLI
Most MCP and CLI issues come from one of four causes: wrong environment variable name, wrong endpoint URL, invalid or expired API key, or a Node.js version issue. Start here.
Quick checklist
API key valid? Check at app.speakai.co/developers. Regenerate if needed.
Correct env var name? The required variable is
SPEAK_API_KEY— notSPEAKAI_API_KEY. Some older guides show the wrong name.Correct MCP endpoint? Use
https://api.speakai.co/v1/mcpfor HTTP transport (Claude Desktop, Cursor, VS Code). Usehttps://mcp.speakai.co/mcpfor one-click integrations (Claude.ai, ChatGPT).Node.js 18+? Run
node --version. If below 18, update Node.js first.
Claude Desktop: "MCP server failed to start"
Check
claude_desktop_config.jsonfor valid JSON — no trailing commasConfirm
SPEAK_API_KEYis in the"env"block, not as a shell variableTest the package manually:
npx -y @speakai/mcp-serverin your terminalTry pinning a version:
"args": ["-y", "@speakai/mcp-server@latest"]
Claude.ai / ChatGPT: "Authorization failed"
Re-copy your API key fresh from the dashboard and re-enter it in the integration settings
Check there are no spaces before or after the key
CLI: "command not found: speakai-mcp"
Reinstall:
npm install -g @speakai/mcp-serverVerify npm global bin is in your PATH:
npm bin -g
Tools not appearing in Claude / ChatGPT
Disconnect and reconnect the integration in your client's settings
Verify the MCP URL is correct and reachable
Try the Claude Code CLI as an alternative:
claude mcp add --transport http speakai https://api.speakai.co/v1/mcp --header "Authorization: Bearer $SPEAK_API_KEY"
"Unauthorized" after it was working
Access tokens refresh automatically — you don't need to regenerate your API key for normal token expiry. If you see persistent auth errors, regenerate your key at app.speakai.co/developers and update your config.
Upload succeeded but transcript is empty
Processing takes 1–5 minutes after upload. If get_transcript returns empty, check the file's status first with get_media_status — it should show complete before the transcript is available. If status is still processing, wait and retry. If status shows failed, try re-transcribing with reanalyze_media and specify the correct language if the audio is not in English.
Still stuck? Chat with us below or email [email protected].
