Skip to main content

Connect OpenClaw to Speech is Cheap

This guide walks you through connecting OpenClaw to the Speech is Cheap MCP server, so OpenClaw can transcribe audio and video recordings from public URLs and from files on its own computer. OpenClaw sends your API key in a request header, so there is no sign-in page.

What You Need​

Before starting, ensure you have:

  • An installation of OpenClaw: OpenClaw is a self-hosted AI assistant that you run on your own computer. Its Gateway connects it to your chat apps. See the OpenClaw MCP documentation for background on how OpenClaw handles MCP servers.
  • A Speech is Cheap account with an active plan: Pick a plan on the Pricing page if you do not have an account. Your initial API key arrives by email.
  • A Speech is Cheap API key: Keys start with sk_. Create a dedicated API key in the Dashboard named "OpenClaw" so you can revoke it on its own. The dashboard displays keys only once. See the Dashboard guide for details.

Setup Steps​

Follow these steps to configure OpenClaw with the Speech is Cheap MCP server:

  1. Add your API key to ~/.openclaw/.env:

    SIC_API_KEY=sk_...

    The variable name must be SIC_API_KEY. The upload command returned by the prepare_upload tool reads $SIC_API_KEY. OpenClaw runs commands with the Gateway's environment, which includes the variables in ~/.openclaw/.env.

  2. Stop the Gateway:

    openclaw gateway stop

    Some OpenClaw versions refuse to change MCP servers while the Gateway runs. The Gateway also reads ~/.openclaw/.env only when it starts, so it has to restart to pick up the key anyway.

  3. Add the server definition:

    openclaw mcp set speechischeap '{"url":"https://mcp.speechischeap.com/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer ${SIC_API_KEY}"}}'

    OpenClaw saves MCP servers under mcp.servers in ~/.openclaw/openclaw.json. The "transport":"streamable-http" setting is required: without it OpenClaw connects over SSE, and the server answers 405. The single quotes keep ${SIC_API_KEY} as written. OpenClaw fills it in from the environment when it loads its config, so the key stays out of openclaw.json.

  4. Test the MCP server connection in your terminal:

    openclaw mcp probe speechischeap

    OpenClaw connects and reports the server with 5 tools: transcribe, get_transcript, cancel_job, prepare_upload, and check_access.

    This command confirms network connectivity and tool discovery. It does not validate the API key: the server accepts any key at connection time and checks it only when a tool runs. A prompt or a call to check_access verifies the key.

  5. Start the Gateway:

    openclaw gateway start

Tool Access​

OpenClaw shows the tools to the model as speechischeap__transcribe, speechischeap__get_transcript, speechischeap__cancel_job, speechischeap__prepare_upload, and speechischeap__check_access.

OpenClaw's coding, messaging, and full tool profiles include MCP tools, and the minimal profile hides them. In sandboxed sessions, MCP tools still run on the Gateway, but OpenClaw filters them out unless tools.sandbox.tools.alsoAllow includes "bundle-mcp" (or "speechischeap__*"). Uploading local files from a sandboxed session also needs sandbox network access, which is off by default, and SIC_API_KEY in agents.defaults.sandbox.docker.env.

Test the Connection​

Start a session with OpenClaw and test the integration with a sample recording:

Please transcribe this audio file using Speech is Cheap: https://cdn.speechischeap.com/podcast-sic-api-01.m4a

OpenClaw calls the Speech is Cheap MCP server to transcribe the audio and prints the resulting text. In our end-to-end test, this 20-minute audio sample returned the full transcript in a single call.

You can also test transcribing a local audio file:

Please transcribe /path/to/recording.mp3 using Speech is Cheap.

For local files, OpenClaw calls prepare_upload, runs the returned upload command in its terminal using $SIC_API_KEY, and retrieves the transcript with get_transcript. Transcribing local files requires OpenClaw to have permission to run commands on the computer that holds the file, and stricter exec approval settings may ask you to approve the upload command.

Troubleshooting​

If you encounter issues during setup or while transcribing, check these common error messages:

  • Speech is Cheap rejected the API key. (in a conversation) The API key is invalid or has been revoked. Generate a new key in the Dashboard, update SIC_API_KEY in ~/.openclaw/.env, and run openclaw gateway restart. Note that openclaw mcp probe speechischeap does not validate your key; it checks only that the server is reachable and reports its tools.
  • This API key has no active plan… (in a conversation) Your API key is recognized, but the account lacks an active subscription or billing method. Open the Dashboard and update your plan under the Billing section.
  • 405 error during probe A 405 error from openclaw mcp probe speechischeap means the transport setting is missing. Stop the Gateway with openclaw gateway stop, rerun the openclaw mcp set speechischeap command from the setup steps to include "transport":"streamable-http", and start the Gateway.
  • Missing Speech is Cheap tools If OpenClaw does not list Speech is Cheap tools, check your tool profile and sandbox settings. The minimal profile hides MCP tools. In sandboxed sessions, OpenClaw filters them out unless tools.sandbox.tools.alsoAllow permits them. See Tool Access.
  • headers.Authorization contains a literal sensitive value (doctor warning) openclaw mcp doctor speechischeap reports the server as ok but warns: headers.Authorization contains a literal sensitive value; prefer an environment-backed value outside committed config. The warning fires because the header value doesn't start with $. The key itself stays in ~/.openclaw/.env, so it is safe to ignore.
  • URL download errors When transcribing from a URL, the audio or video file must reside at a publicly accessible URL that downloads directly without requiring a login, session cookies, or interactive screens. See Input Requirements for supported media formats and URL rules.
  • Try again shortly messages These messages indicate temporary service or connection interruptions. Wait a few moments and resubmit your prompt.
  • Failed jobs If a transcription job fails, you are not charged. Only completed jobs bill against your account.

Disconnecting​

To disconnect Speech is Cheap from OpenClaw:

  • Stop the Gateway with openclaw gateway stop, run openclaw mcp unset speechischeap, and start the Gateway with openclaw gateway start.
  • To cut off access everywhere at once, revoke the key in the Dashboard. Revocation can take a minute or more to apply across all systems.

ClawHub Skill​

OpenClaw can also transcribe with the Speech is Cheap Transcribe skill (asr), published by speechischeap on ClawHub. Instead of MCP tools, the skill gives OpenClaw instructions and a helper script that it runs with Bash, and the script calls Speech is Cheap with curl. It transcribes audio and video from public URLs and local files. In our test, OpenClaw transcribed an 11-second local audio file through the skill and returned the transcript and job ID.

Install it in your terminal:

openclaw skills install asr

OpenClaw shows ClawHub's security audit for the skill, then installs it in the skills/asr folder of your workspace, by default ~/.openclaw/workspace/skills/asr. Run openclaw skills info asr to check that it reports Ready.

The skill reads SIC_API_KEY, which the Gateway passes from ~/.openclaw/.env to the commands it runs. If you completed step 1, the skill needs no further setup.

The skill also has a wallet mode, which pays per job in USDC on Base with no Speech is Cheap account or API key, up to a price ceiling you approve. It needs Node.js 22 or newer, pnpm, and an existing wallet. See the skill's README to set it up.

To remove the skill, delete the skills/asr folder from your workspace. OpenClaw has no command to uninstall skills.