{
  "markdown": "<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/TranscriptFetch/mcp-server/main/assets/logo.png\" alt=\"TranscriptFetch\" width=\"84\" height=\"84\" />\n</p>\n\n# TranscriptFetch MCP Server\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server that gives any MCP client (Claude Desktop, Cursor, and others) access to the [TranscriptFetch API](https://transcriptfetch.com): fetch transcripts from YouTube, TikTok, Instagram and direct media file URLs, search videos, enumerate channels and playlists, and check your credit balance.\n\nRuns 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.\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `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) |\n| `search_videos` | Search YouTube by keyword (YouTube only) |\n| `list_channel_videos` | List a channel's videos (handle, ID, or URL) |\n| `list_playlist_videos` | List a playlist's videos (ID or URL) |\n| `get_credits` | Remaining credit balance for the key. Never billed |\n\nEach 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](https://transcriptfetch.com/app). Accounts start with 100 free credits and are topped back up to 100 at the start of each month.\n\n## Install\n\nNo install needed. Run it on demand with `npx`:\n\n```bash\nTRANSCRIPTFETCH_API_KEY=tf_live_... npx -y transcriptfetch-mcp\n```\n\nOr install globally:\n\n```bash\nnpm install -g transcriptfetch-mcp\n```\n\nRequires Node 18+.\n\n### Run from source\n\n```bash\ngit clone https://github.com/TranscriptFetch/mcp-server\ncd mcp-server && npm install && npm run build\n```\n\nThen point your client at the built entrypoint with `\"command\": \"node\"` and\n`\"args\": [\"/absolute/path/to/mcp-server/dist/index.js\"]`.\n\n## Client configuration\n\n### Claude Desktop\n\nAdd this to `claude_desktop_config.json` (Settings then Developer then Edit Config):\n\n```json\n{\n  \"mcpServers\": {\n    \"transcriptfetch\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"transcriptfetch-mcp\"],\n      \"env\": { \"TRANSCRIPTFETCH_API_KEY\": \"tf_live_...\" }\n    }\n  }\n}\n```\n\n### Cursor\n\nAdd the same block under `mcpServers` in your Cursor MCP settings.\n\nRestart the client, and the five tools appear.\n\n## Example\n\nOnce connected, ask your assistant naturally:\n\n> Get the transcript for https://youtu.be/aircAruvnKk and summarize the key points.\n\n> Search YouTube for \"how transformers work\" and list the top 5 videos.\n\n> List the latest videos from @lexfridman and pull the transcript of the newest one.\n\n> How many TranscriptFetch credits do I have left?\n\nThe assistant picks the matching tool and works from the returned transcript or video list.\n\n## Configuration\n\n| Env var | Required | Default |\n|---|---|---|\n| `TRANSCRIPTFETCH_API_KEY` | yes | none |\n| `TRANSCRIPTFETCH_BASE_URL` | no | `https://transcriptfetch.com` |\n\n## Docker\n\nThe server speaks MCP over stdio, so there is no port to expose. `-i` is\nrequired: without an attached stdin the transport closes immediately and the\ncontainer looks like it crashed.\n\n```bash\ndocker build -t transcriptfetch-mcp .\ndocker run --rm -i -e TRANSCRIPTFETCH_API_KEY=tf_live_... transcriptfetch-mcp\n```\n\n## Links\n\n- API docs: https://transcriptfetch.com/docs\n- MCP docs: https://transcriptfetch.com/docs/mcp\n- Node SDK: https://github.com/TranscriptFetch/node-sdk\n- Python SDK: https://github.com/TranscriptFetch/python-sdk\n\n## License\n\nMIT\n",
  "bytes": 3851,
  "sha": "8619e49a45f773854316b55a4f7bad11c53b5828f26dd276c527560a8321510b",
  "repo_slug": "transcriptfetch/mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_transcriptfetch_youtube_transcripts_4854187c/readme"
}