# Connect an agent to Scribebit

An MCP client can use a signed-in Scribebit account. The key acts as that person. It can see the recordings they can open, start transcription, and generate artifacts. It spends the same minute and AI quotas as the app.

Endpoint: https://www.scribebit.com/mcp

Send this header on every request:

```
Authorization: Bearer sb_...
```

Create the key while signed in: open the account menu, then Developers. The secret is shown once. That page also has the install steps for Claude, Claude Code, Cursor, VS Code, Windsurf, and Codex. Paste the secret there. This page does not repeat those configs.

A revoked key stops working immediately.

Developers: https://www.scribebit.com/developers/

## Wait for the transcript

Transcription does not finish inside the tool call. `transcribe_url` and `transcribe_upload` return `status: "processing"` and a `next` field.

Poll `get_recording` with that `recordingId` until `status` is `transcribed`, `review_required`, `approved`, or `failed`. Then call `get_transcript`.

`get_transcript` has no text while the status is `processing`. It returns "Transcript not found".

`failed` means the job did not finish. Read `errorMessage` on the recording.

## Recordings

`list_recordings` returns recent recordings this key can access. Archived recordings are left out. `limit` defaults to 20 and cannot be higher than 50.

Each recording has:

- `_id`
- `fileName`
- `status`: `uploaded`, `processing`, `transcribed`, `review_required`, `approved`, or `failed`
- `durationMinutes`
- `errorMessage`
- `_creationTime`

`get_recording` returns the same fields for one id.

`get_transcript` returns the transcript text. Text longer than 80,000 characters is cut and marked `truncated: true`. There is no second page.

## Start a transcription

Use `transcribe_url` when the audio or video is already at an http or https address. A podcast feed can create more than one recording, up to 10. YouTube, TikTok, and Instagram links are rejected.

Use `create_upload` only when the client can POST the raw file bytes itself.

1. Call `create_upload`. It returns `uploadUrl`.
2. POST the file bytes to that URL. Send the file `Content-Type`.
3. Read `storageId` from the JSON response.
4. Call `transcribe_upload` with `storageId` and `fileName`, including the extension.

The file must be audio or video, up to 100 MB. A chat client that can only call tools, and cannot POST a file, should use `transcribe_url` instead.

Both tools use the account minute quota.

## Artifacts and usage

`list_artifacts` and `get_artifact` read generated notes, drafts, and posts for a recording. `get_artifact` includes the content.

`generate_artifact` creates one from a finished transcript. Call it only after `get_transcript` returns text. Types: `action_items`, `blog_draft`, `meeting_notes`, `social_post`, `report`, `custom`. A blog draft accepts `depth` (`concise`, `full`, `comprehensive`) and `sourceOnly` (default true). A social post accepts `socialStyle`: `informational`, `thought_leadership`, `personal`, `educational`, `promotional`, `news`.

`get_usage` returns the plan, minute limit, minutes used, package balance, and minutes remaining.

## Change a recording

- `approve_recording` marks a transcribed or review-required recording as approved.
- `archive_recording` archives a transcribed, review-required, or approved recording.
- `restore_recording` brings an archived recording back to approved.

## What a key cannot do

- Edit the transcript.
- Download the audio or video file.
- Upload a file inside the tool call. The bytes go to the upload URL.
- Change billing, buy minutes, or delete a recording.
- Read a transcript that is still processing.
- Transcribe a YouTube, TikTok, or Instagram link.

## Related

- [What Scribebit does](https://www.scribebit.com/product.md)
- [Pricing](https://www.scribebit.com/pricing.md)
- [FAQ](https://www.scribebit.com/faq.md)
