Hushscript speaks the Model Context Protocol. Point an MCP client at one URL, approve the connection in your browser, and the assistant can work with the recordings and transcripts in your account. It is your account and your minutes throughout: the server never sees another customer’s data, and nothing here changes how transcription itself is priced or stored.
Connect
The server speaks Streamable HTTP at a single endpoint:
https://mcp.hushscript.com/mcp
There is no SSE endpoint and nothing to install locally. In Claude Code:
claude mcp add --transport http hushscript https://mcp.hushscript.com/mcp
In a client that takes a JSON config:
{
"mcpServers": {
"hushscript": {
"type": "http",
"url": "https://mcp.hushscript.com/mcp"
}
}
}
Your client discovers everything else on its own. It registers itself
dynamically (/oauth/register), reads
/.well-known/oauth-authorization-server for the endpoints, and opens a browser
window for you to sign in.
What you approve
Authorization is OAuth 2.1 with PKCE. The browser window is a Hushscript consent screen, not a password box for the client: it names the application asking, lists in plain language what it wants to do, and waits for you. Nothing is granted until you approve it there.
Access tokens last one hour and refresh for thirty days. You never see, copy, or paste a token: the client and the server exchange it directly, so there is no secret sitting in a config file on your disk.
Permissions
A connection holds a set of scopes, and the server only advertises the tools
those scopes cover. A client that asks for nothing in particular gets everything
except billing.
| Scope | What it allows |
|---|---|
transcripts:read |
Read transcripts, their metadata, and the deleted list |
transcripts:write |
Edit, tag, translate, restore, and delete transcripts |
transcribe |
Upload recordings, import from a link, and run transcriptions |
insights |
Read, generate, and delete Insights |
context |
Manage saved dictionaries and prompt presets |
account:read |
Read balance, usage, transactions, and holds |
settings:write |
Change account settings |
org:read |
Read workspace members, ledger, invoices, and audit log |
export |
Export transcripts and request a full account export |
billing |
Buy minute packs with the saved card |
billing is the exception in every direction. It is never granted implicitly,
the consent screen warns you before you approve it, and it stays off unless
billing is also enabled on the account itself.
What the tools cover
Fifty tools, grouped by what they touch:
| Group | Tools | Examples |
|---|---|---|
| Transcripts, reading | 4 | list_transcripts, get_transcript, list_deleted |
| Transcripts, writing | 10 | update_body, revert_body, retranslate, tag_transcripts |
| Transcribing | 8 | create_upload, transcribe_from_url, list_jobs, cancel_job |
| Account | 6 | get_balance, get_usage, list_transactions |
| Insights | 3 | get_insights, generate_insights, delete_insights |
| Export | 4 | export_transcript, request_account_export |
| Transcription context | 5 | save_dictionary, save_prompt_preset |
| Workspace | 5 | get_org, list_org_members, get_org_audit_log |
| Billing | 5 | list_packs, purchase_pack, list_payment_methods |
export_transcript returns TXT, SRT, VTT, Markdown, or JSON. The full set of 21
export formats lives in the app.
What costs minutes
Reading anything is free. The priced actions are the same ones that are priced in the app, at the same rates, drawn from the same balance:
- Transcribing a recording spends minutes for its length. Medical mode adds 100%, and each translation target adds 25%.
- Insights are free the first time per transcript. Regenerating later costs 40% of the recording’s length from the Original, or 30% from the Cleaned version.
- Re-translating a transcript costs 25% of its length per language, and it overwrites: every language the call charges loses any hand-edited copy of that translation, with no way to get it back.
purchase_packcharges your saved card straight away. It needs thebillingscope, which no client gets by accident.
See pricing for the packs themselves.
Reviewing and revoking
Every connection appears under Connected apps on the MCP page in your account, with the client that made it and the scopes it holds. Revoking one there cuts it off immediately. Do that rather than deleting the entry in your client’s config: the config only stops your machine from asking.
The authorization endpoints are rate limited to 30 requests a minute per address. That is a guard against token grinding, not a limit on how much work a connected assistant can do.