Transcription for AI Agents: MCP Server & REST API
Let Claude, Cursor or any MCP client transcribe lectures and YouTube videos with your Alfie API key, on your own credits.
Free plan: 30 minutes of transcription per month.
MCP server: https://alfienotes.com/api/mcp
What your agent can do
Each tool needs a Read only or a Read & write API key.
| Tool | Scope | What it does |
|---|---|---|
| get_credits | notes:read | Your plan and remaining credit, in seconds of media. |
| submit_youtube | notes:write | Transcribe a public YouTube video. Spends credits. |
| create_upload_url | notes:write | Step 1 for a local WAV file: a pre-signed URL to PUT the bytes to. Free. |
| submit_upload | notes:write | Step 2: transcribe the uploaded WAV. Spends credits. |
| get_job | notes:read | Job status: queued, processing, succeeded, failed or expired. |
| list_notes | notes:read | Your notes, newest first, with cursor paging. |
| get_note | notes:read | A note with its timestamped transcript and latest summary. |
| export_note | notes:read | The transcript as plain text. |
| set_note_sharing | notes:write | Make a note public or private. Only when the user asks. |
Connect your MCP client
Add the server URL and your API key. Pick your client below.
Run once in your terminal. Add --scope user to make it available in every project.
claude mcp add --transport http alfie https://alfienotes.com/api/mcp \
--header "Authorization: Bearer alfie_YOUR_API_KEY"Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project).
{
"mcpServers": {
"alfie": {
"url": "https://alfienotes.com/api/mcp",
"headers": {
"Authorization": "Bearer alfie_YOUR_API_KEY"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config), then restart Claude Desktop. It uses the mcp-remote bridge, so Node.js must be installed.
{
"mcpServers": {
"alfie": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://alfienotes.com/api/mcp",
"--header",
"Authorization:${ALFIE_AUTH_HEADER}"
],
"env": {
"ALFIE_AUTH_HEADER": "Bearer alfie_YOUR_API_KEY"
}
}
}
}Streamable HTTP, stateless, JSON responses. Send one JSON-RPC message per POST with the Accept header shown. No session id is needed.
curl -X POST "https://alfienotes.com/api/mcp" \
-H "Authorization: Bearer $ALFIE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST "https://alfienotes.com/api/mcp" \
-H "Authorization: Bearer $ALFIE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_credits","arguments":{}}}'From lecture to transcript
Ask in plain language. The agent calls these tools in order.
Transcribe https://www.youtube.com/watch?v=YOUR_VIDEO_ID with Alfie and give me a one-page study guide.get_creditsget_credits arguments{}Check there is enough credit for the recording.
submit_youtubesubmit_youtube arguments{ "url": "https://www.youtube.com/watch?v=YOUR_VIDEO_ID", "idempotency_key": "week-1-lecture" }Returns a job at once. Spends credits equal to the video length.
get_jobget_job arguments{ "job_id": "YOUR_NOTE_ID" }Poll every 10–30 seconds until succeeded or failed.
get_noteget_note arguments{ "note_id": "YOUR_NOTE_ID" }Timestamped transcript and the latest summary.
Credits and limits
Agents use the same credits as the web app.
- Credit is counted in seconds of media, the same as in the web app.
- Submitting a job spends credit equal to the media length. Uploading, polling and reading notes are free.
- Uploads must be uncompressed WAV. YouTube videos are submitted by public URL.
- Rate limits per key, per minute: 120 requests, of which 10 can be job submissions.
- Credits are not refunded if processing fails after a job was accepted.
Simple pricing that pays for itself
Start free, then unlock more when you need it.
BASIC
- 30 minutes transcriptionGive it a try for free
- Smart speaker detectionAuto-identify speakers with timestamps
- Supports YouTube & most media filesTranscribe audio, video, or YouTube links.
- Multiple export formats.txt, .csv, .json, .vtt, .srt files
PRO
- Everything in BASIC planAll basic features included
- 600 minutes monthly transcription20x more than BASIC plan
- Up to 3 concurrent jobsProcess multiple files at once
- 3-hour file uploadsPerfect for lectures & meetings
- Unlimited file uploadsNo monthly limits or restrictions
- AI Chat & Insights20 message context history per recording
MAX
- Everything in PRO planAll PRO features included
- 3000 minutes monthly transcription5x more than PRO plan
- Up to 10 concurrent jobsProcess more files at once
- 6-hour file uploadsPerfect for conference calls & seminars
- Priority supportGet help when you need it most
- Extended AI Chat & Insights50 message context history per recording
Frequently Asked Questions
What can an AI agent do with Alfie?
Through the MCP server or REST API, an agent can check your credits, transcribe a public YouTube video or an uploaded WAV file, follow the job, then list and read your notes with timestamped transcripts and summaries, or export a transcript as plain text.
Which MCP clients work?
The server is remote over HTTP and takes your API key as a Bearer header. Setup is shown above for Claude Code, Cursor and Claude Desktop, plus a plain HTTP client option for anything else.
Can an agent spend my credits without asking?
Only with a Read & write key. A Read only key can read credits, jobs, notes and transcripts, but cannot submit jobs or change sharing. Use a Read only key if you do not want an agent to spend credit.
Which file formats can I send?
Local files must be uncompressed WAV. Other uploads are rejected before any credit is reserved. For anything else, submit a public YouTube URL, or convert the audio to WAV first.
How much does it cost?
Agent use draws on the same credits and plan limits as the web app, counted in seconds of media. The free plan includes 30 minutes per month. See the plans above.
Give your agent a transcript tool
Create an API key, then add the Alfie MCP server to your client.
Get an API key