streamable-httpMITupdated 11d ago
A Model Context Protocol server that gives any MCP client (Claude Desktop, Cursor, and others) access to the TranscriptFetch API: fetch transcripts from YouTube, TikTok, Instagram and direct media file URLs, search videos, enumerate channels and playlists, and check your credit balance.
What can you do with TranscriptFetch?
TranscriptFetch MCP Server
A Model Context Protocol server that gives any MCP client (Claude Desktop, Cursor, and others) access to the TranscriptFetch API: fetch transcripts from YouTube, TikTok, Instagram and direct media file URLs, search videos, enumerate channels and playlists, and check your credit balance.
Runs locally over stdio and calls the TranscriptFetch API with your key. Prefer a hosted, remote server? Point your client at https://transcriptfetch.com/mcp instead (OAuth or API key). The hosted server waits inline for short-form AI transcription, so no polling is needed there.
Tools
| Tool | What it does |
|---|---|
get_transcript |
Transcript for a video. YouTube, TikTok, Instagram, or a direct media URL. Set ai_fallback: true to transcribe the audio when no captions exist (typically ~30 seconds for short videos, longer for long ones) |
search_videos |
Search YouTube by keyword (YouTube only) |
list_channel_videos |
List a channel's videos (handle, ID, or URL) |
list_playlist_videos |
List a playlist's videos (ID or URL) |
get_credits |
Remaining credit balance for the key. Never billed |
Each successful fetch costs 1 credit. Failed, blocked and empty results are never charged, which matters on short-form video where many clips have no speech at all. Get a key at the dashboard. Accounts start with 100 free credits and are topped back up to 100 at the start of each month.
Install
No install needed. Run it on demand with npx:
TRANSCRIPTFETCH_API_KEY=tf_live_... npx -y transcriptfetch-mcp
Or install globally:
npm install -g transcriptfetch-mcp
Requires Node 18+.
Run from source
git clone https://github.com/TranscriptFetch/mcp-server
cd mcp-server && npm install && npm run build
Then point your client at the built entrypoint with "command": "node" and
"args": ["/absolute/path/to/mcp-server/dist/index.js"].
Client configuration
Claude Desktop
Add this to claude_desktop_config.json (Settings then Developer then Edit Config):
{
"mcpServers": {
"transcriptfetch": {
"command": "npx",
"args": ["-y", "transcriptfetch-mcp"],
"env": { "TRANSCRIPTFETCH_API_KEY": "tf_live_..." }
}
}
}
Cursor
Add the same block under mcpServers in your Cursor MCP settings.
Restart the client, and the five tools appear.
Example
Once connected, ask your assistant naturally:
Get the transcript for https://youtu.be/aircAruvnKk and summarize the key points.
Search YouTube for "how transformers work" and list the top 5 videos.
List the latest videos from @lexfridman and pull the transcript of the newest one.
How many TranscriptFetch credits do I have left?
The assistant picks the matching tool and works from the returned transcript or video list.
Configuration
| Env var | Required | Default |
|---|---|---|
TRANSCRIPTFETCH_API_KEY |
yes | none |
TRANSCRIPTFETCH_BASE_URL |
no | https://transcriptfetch.com |
Docker
The server speaks MCP over stdio, so there is no port to expose. -i is
required: without an attached stdin the transport closes immediately and the
container looks like it crashed.
docker build -t transcriptfetch-mcp .
docker run --rm -i -e TRANSCRIPTFETCH_API_KEY=tf_live_... transcriptfetch-mcp
Links
- API docs: https://transcriptfetch.com/docs
- MCP docs: https://transcriptfetch.com/docs/mcp
- Node SDK: https://github.com/TranscriptFetch/node-sdk
- Python SDK: https://github.com/TranscriptFetch/python-sdk
License
MIT
Install
Add TranscriptFetch to your client. Pick the one you use.
claude mcp add --transport http transcriptfetch https://transcriptfetch.com/mcpcodex mcp add transcriptfetch --url https://transcriptfetch.com/mcp{
"mcpServers": {
"transcriptfetch": {
"url": "https://transcriptfetch.com/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"transcriptfetch": {
"type": "http",
"url": "https://transcriptfetch.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"transcriptfetch": {
"url": "https://transcriptfetch.com/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"transcriptfetch": {
"serverUrl": "https://transcriptfetch.com/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
5 tools
TranscriptFetch exposes 5 tools to a connected agent.
- get_transcript
- Transcript for a video. YouTube, TikTok, Instagram, or a direct media URL. Set `ai_fallback: true` to transcribe the audio when no captions exist (typically ~30 seconds for short videos, longer for long ones)
- search_videos
- Search YouTube by keyword (YouTube only)
- list_channel_videos
- List a channel's videos (handle, ID, or URL)
- list_playlist_videos
- List a playlist's videos (ID or URL)
- get_credits
- Remaining credit balance for the key. Never billed
Score
81 / 100
Excellent
- Documentation22/25
- Maintenance25/25
- Trust16/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 4 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 5 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.2.1Latest | Aug 21, 2026 |
| 1.2.0 | Aug 8, 2026 |
| 1.1.0 | Jul 19, 2026 |
| 1.0.0 | Jul 15, 2026 |