scribefy-mcp
MCP server for Scribefy — extract YouTube transcripts from Claude Desktop, Cursor, Windsurf, ChatGPT custom GPTs, or any other MCP-compatible client.
README
scribefy-mcp
MCP server for Scribefy — extract YouTube transcripts from Claude Desktop, Cursor, Windsurf, ChatGPT custom GPTs, or any other MCP-compatible client.
Live now — set it up in a minute below, or try the web app at scribefy.app.
Why
Most YouTube transcript tools live in browser extensions or one-off web UIs. This wraps Scribefy's API into the MCP standard so your AI assistant can pull a transcript whenever a user pastes a YouTube link — no manual copy-paste, no separate tabs.
Requirements
- Node 20+
- A Scribefy account on the API + MCP plan ($25/mo) for an API key. You can install without a key first — the MCP host registers the server cleanly and you'll get a friendly nudge when you try to use a tool — then add your key from scribefy.app/dashboard to start extracting.
Setup
Claude Desktop
Open the config file (Settings → Developer → Edit Config):
{
"mcpServers": {
"scribefy": {
"command": "npx",
"args": ["-y", "scribefy-mcp"],
"env": {
"SCRIBEFY_API_KEY": "sk_live_…"
}
}
}
}
Restart Claude Desktop. The extract_transcript tool appears in the available-tools panel.
Cursor
Settings → Cursor Settings → MCP → Add new MCP server:
{
"scribefy": {
"command": "npx",
"args": ["-y", "scribefy-mcp"],
"env": {
"SCRIBEFY_API_KEY": "sk_live_…"
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"scribefy": {
"command": "npx",
"args": ["-y", "scribefy-mcp"],
"env": {
"SCRIBEFY_API_KEY": "sk_live_…"
}
}
}
}
Anywhere else
Any MCP host that supports stdio transport: spawn npx -y scribefy-mcp with SCRIBEFY_API_KEY in the env. The server speaks the standard MCP JSON-RPC over stdin/stdout.
Tools exposed
Four tools. Three are free (research toolkit); only extract_transcript charges credits.
extract_transcript
Pulls the transcript of a YouTube video.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | Full YouTube URL — youtube.com/watch?v=…, youtu.be/…, or youtube.com/shorts/… |
lang |
string | no | BCP-47 language code (e.g. en, es, fr, zh-Hans). Defaults to en |
Returns: Markdown with title, channel, duration, language, and the transcript split into segments with timestamps.
Cost: 1 credit (≤15 min) → 8 credits (2 h+). Cached transcripts are free.
search_videos
Free-text YouTube search.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | yes | Search query — same syntax YouTube's own search bar accepts |
limit |
number | no | Max results, 1–25 (default 10) |
Returns: Markdown list of title / channel / duration / views / URL for each result.
Cost: Free.
get_video_metadata
Title, channel, duration, view count, upload date, and available caption tracks. Does not pull the transcript.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | Full YouTube URL |
Returns: Markdown summary plus a list of every caption track (authored ✏ or auto-generated ⚙) with its language code.
Cost: Free. Use this to inspect a video before deciding whether to extract, or to discover which caption languages are available.
get_related_videos
YouTube's "Up next" feed for a video.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | yes | Full YouTube URL of the seed video |
limit |
number | no | Max related videos, 1–25 (default 10) |
Returns: Same shape as search_videos.
Cost: Free.
Tools coming in a future release
list_channel_videos and get_video_comments were planned for 0.3.0 but are deferred to 0.4.0 while we wait for upstream youtubei.js to publish fixes for YouTube's 2026 response-shape changes. Channel listing fails with HTTP 400 at the InnerTube layer, and info.getComments() is no longer attached to parsed VideoInfo. Both will return as soon as the library catches up.
Configuration
| Env var | Required | Default | Notes |
|---|---|---|---|
SCRIBEFY_API_KEY |
yes | — | sk_live_… (production) or sk_test_… (Scribefy test mode) |
SCRIBEFY_API_BASE |
no | https://api.scribefy.app |
Override for staging (https://api-staging.scribefy.app) or self-hosted instances |
Troubleshooting
SCRIBEFY_API_KEY is required
Make sure the env block is set in your MCP host's config and the host actually loads it. Some hosts strip env vars by default — check their docs.
Scribefy rejected the API key
Either the key is wrong, the key was revoked, or your subscription is no longer on the API + MCP plan. Check scribefy.app/dashboard.
Not enough credits
The tool returns the remaining balance and the cost in the error message. Top up at scribefy.app/pricing.
The tool doesn't show up in my MCP client
After editing the config, fully restart the client (not just the chat window). Tail the client's logs if available — most show MCP stderr there. The server prints scribefy-mcp: ready once it boots.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。