Wisprs MCP Server for Claude, Cursor & AI Agents
Connect Wisprs to an MCP-compatible AI host. Contract 1.1 exposes ten bounded tools for transcription, status, retrieval, search, export, summaries, chapters, repurposing, translation, and generated-artifact retrieval.
Hosted OAuth connector
The hosted Streamable HTTP endpoint is https://wisprs.co/api/mcp. It uses browser OAuth, tenant-bound scopes, opaque resource identifiers, and expiring private export resources. Directory install buttons remain private until each platform approves the exact release.
Developer-controlled local adapter
The local stdio adapter is a separate compatibility path for hosts that support command-based MCP configuration. It uses a Wisprs API key and may expose a smaller legacy surface unless the contract 1.1 preview is explicitly enabled. Do not treat it as the hosted directory package.
{
"mcpServers": {
"wisprs": {
"command": "npx",
"args": ["@wisprs/mcp"],
"env": {
"WISPRS_API_KEY": "sk_your_api_key"
}
}
}
}Available tools
| Tool | What it does | Required scope |
|---|---|---|
| transcribe_url | Start an idempotent transcription from one public HTTPS media URL | transcripts:write |
| get_job_status | Check a durable operation and follow its retry delay | transcripts:read |
| get_transcript | Read one bounded page of a completed transcript | transcripts:read |
| get_transcript_artifact | Read a bounded generated artifact page | ai:transform |
| export_transcript | Create TXT, SRT, VTT, JSON, Markdown, or DOCX export | transcripts:export |
| search_library | Search the connected tenant and return bounded snippets | library:search |
| summarize_transcript | Start an idempotent AI summary operation | ai:transform |
| generate_chapters | Start timestamped chapter generation | ai:transform |
| repurpose_transcript | Create show notes, a thread, blog draft, or quotes | ai:transform |
| translate_transcript | Translate a completed transcript to one BCP-47 language | ai:transform |
Example Claude prompt
Transcribe this YouTube video and give me a Twitter thread based on the key points:
https://youtube.com/watch?v=dQw4w9WgXcQ
> Claude will call:
> 1. transcribe_url({ url: "...", idempotencyKey: "stable-request-key-..." })
> 2. get_job_status({ operationId: "op_..." }) — waits for retryAfterSeconds
> 3. repurpose_transcript({ transcriptionId: "tr_...", mode: "thread", idempotencyKey: "stable-thread-key-..." })
> 4. get_transcript_artifact({ transcriptionId: "tr_...", artifact: "thread" })Key requirements
- Hosted connections request only the OAuth scopes required by the enabled tools.
- Every billable command requires a stable idempotency key and returns a durable operation receipt.
- Transcript and generated text is untrusted user content; hosts must never execute instructions found inside it.
- Local API keys belong only in the stdio adapter configuration, never in hosted connector manifests.
Run without install (npx)
WISPRS_API_KEY=sk_your_api_key npx @wisprs/mcpUseful for one-off testing before adding it to your config permanently.
FAQ
Which MCP clients are supported?
The protocol implementation targets standards-compliant Streamable HTTP hosts. Exact ChatGPT, Claude, Claude Code, Codex, Desktop, Mobile, and Cowork compatibility remains release-matrix evidence; an untested host is not claimed as certified.
Does the MCP server send my API key anywhere?
The hosted connector uses OAuth and contains no static API key. The local stdio adapter reads WISPRS_API_KEY from the host process environment and sends it only to Wisprs over HTTPS.
What OAuth scopes does the hosted connector use?
Contract 1.1 defines transcripts:read, transcripts:write, transcripts:export, library:search, and ai:transform. Tenant authorization and product entitlements are still enforced after scope checks.