MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者提供的说明(英文原文)
39 tools: AI/web/X search, TikTok, Facebook, Instagram, YouTube, Reddit, Threads, People/Companies.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
DESEARCH_API_KEY, x-api-key标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"desearch": {
"command": "npx",
"args": [
"-y",
"desearch-mcp-server"
],
"env": {
"DESEARCH_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http desearch https://mcp.desearch.ai/mcp --header 'x-api-key: {desearch_api_key}'claude mcp add desearch --env DESEARCH_API_KEY=your-value -- npx -y desearch-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"desearch": {
"url": "https://mcp.desearch.ai/mcp",
"headers": {
"x-api-key": "{desearch_api_key}"
}
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"desearch": {
"command": "npx",
"args": [
"-y",
"desearch-mcp-server"
],
"env": {
"DESEARCH_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"desearch": {
"type": "http",
"url": "https://mcp.desearch.ai/mcp",
"headers": {
"x-api-key": "{desearch_api_key}"
}
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"desearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"desearch-mcp-server"
],
"env": {
"DESEARCH_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
x-api-key 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
ai-searchAI search and analysis on web using Desearch AI
x-searchSearch X (Twitter) using Desearch AI. Optional filters narrow by user, date, language, verification, media, and engagement. Sort stays Top.
web-searchSERP-style web search using Desearch. Returns ranked titles, links, and snippets.
web-links-searchSearch the web for links using Desearch. Only the web source is accepted.
x-links-searchAI search for X (Twitter) post links using Desearch. Returns links from posts that match the prompt.
x-posts-by-urlsFetch full X (Twitter) posts for a list of post URLs.
x-post-by-idFetch a single X (Twitter) post by its ID.
x-posts-by-userSearch X (Twitter) posts by a specific user, with an optional keyword query.
x-post-retweetersList users who retweeted an X (Twitter) post. Pass cursor to page through more users.
x-user-postsRetrieve a user's X (Twitter) timeline posts by username. Pass cursor to page through more posts.
x-user-repliesFetch posts and replies by an X (Twitter) user, with an optional keyword query.
x-post-repliesFetch replies to an X (Twitter) post, with an optional keyword query.
extractExtract a public URL and return its content as plain text, markdown or HTML using Desearch. Markdown keeps headings, lists and tables. Text is the page's main content; set full_page for every section, such as opening hours or fee tables. A js_required error means the page needs j
web-crawlCrawl a public URL and return its content as plain text or HTML on the legacy Desearch /web/crawl route. The SDK marks webCrawl deprecated in favor of extract; this tool stays for parity with that route. Prefer extract for new integrations. API docs: https://www.desearch.ai/docs/
x-trendsRetrieve trending topics on X (Twitter) for a location by its WOEID using Desearch.
search-apiSearch the web with the Desearch Search API and return ranked pages, each with its title, URL, publication date when known, and the passage that best matches the query. Set page_text to add each page's full text. Returns { results, cost_usd, usage_count, service, currency }. Use
tiktokRead public TikTok data with Desearch. Set action and that action's arguments. search (query; optional count, sort, cursor): videos that match a keyword. post (id): one video by its ID. profile (username): one profile. profile_posts (username; optional count, cursor): a user's vi
facebookRead public Facebook data with Desearch. Set action and that action's arguments. search (query; optional count, cursor) and hashtag (tag; optional count, cursor) return Meta Ad Library ads that match, not organic posts. post (id): one public post. profile (profile_id): a page or
instagramRead public Instagram data with Desearch. Set action and that action's arguments. search (query; optional count): profiles that match, one page with no cursor. media (id): one post by shortcode, numeric ID, or URL. profile (username): one profile. profile_posts (username; optiona
youtubeRead public YouTube data with Desearch. Set action and that action's arguments. search (query; optional type, upload_date, sort_by, duration, cursor): videos, Shorts, live streams, channels, and playlists that match a keyword; each result has a type. video (id): one video or Shor
redditRead public Reddit data with Desearch. Set action and that action's arguments. search (query; optional sort, timeframe, cursor): posts across all subreddits that match a keyword. subreddit (name): a subreddit's description, rules, and weekly activity; the name is case-sensitive (
threadsRead public Threads data with Desearch. Set action and that action's arguments. search (query; optional start_date, end_date): one page of posts that match a keyword. search_users (query): accounts that match a username or name. profile (username): one profile with bio, followers
searchSearch the public web and return titles and links. Use fetch with a result URL to read the page.
fetchRead a public page as text. Pass a URL returned by search.
people-searchStart a paid job billed to the user's Desearch balance: find people on X, YouTube, LinkedIn, or TikTok who match a plain-language description. Returns a task_id at once, with the task's status and reserved_cost_usd. Cost: the call reserves count times the platform's per-person pr
people-search-statusStatus, progress, and cost of one People Search task, plus a page of the people found so far: name, handle, url, platform, audience, location, fit score, why they matched, contacts, and links. Free: it reads a search you already started and runs no new search. Cost fields are res
people-search-pausePause a People Search task and return its updated status. Free: it charges and refunds nothing. A queued search pauses at once; a running one finishes its current batch first (status pausing, then paused). Pausing loses no data: the people found so far stay readable with people-s
people-search-resumeResume a paused People Search task and return its updated status. Free. The search continues from where it stopped, keeping the people already found, with no new charge: the cost already spent is carried forward and the original reservation still covers it. Works only on a paused
people-search-cancelCancel a People Search task. Free. The search stops for good; you pay only for the people it already delivered and the rest of the reservation is returned. People found so far stay readable for 30 days. This cannot be undone.
people-search-tasksYour People Search tasks, newest first, with status, counts, cost, why each ended search stopped (completion_reason, coverage_limited), and the metadata labels set on people-search. Free; it lists your own tasks, not the people they found (read those with people-search-status or
people-profilesEveryone your own People Searches found on one platform, one entry per person: their best-scoring result (name, handle, url, audience, location, fit score, why they matched, public contacts, and links) and the search that found them (found_by). Free: it reads only people your ear
people-search-exportThe people your own People Searches found, as CSV or JSON Lines text: one search (task_id), or everyone found on one platform (platform, with the same q, sort, and filters as people-profiles). Free: it reads people your earlier searches found and runs no new search. The reply is
company-searchStart a paid job billed to the user's Desearch balance: find companies on the web that match a plain-language description, and collect each one's public contact data. Returns a task_id at once, with the task's status and reserved_cost_usd. Cost: without max_cost_usd, the call res
company-enrichStart a paid job billed to the user's Desearch balance: collect public contact data for companies you already know, by domain. Send 1-200 domains or URLs; each is reduced to its host without www., lowercased, and deduplicated, and the task reads every one. Returns a task_id at on
company-search-statusStatus, progress, and cost of one Company Search or Company Enrich task, plus a page of the companies delivered so far: domain, name, url, location, fit score (null for Company Enrich) and why it matched, primary_email and primary_contact, public emails, phones, and social profil
company-search-pausePause a Company Search or Company Enrich task and return its updated status. Free: it charges and refunds nothing. A queued task pauses at once; a running one finishes its current batch first (status pausing, then paused). Pausing loses no data: the companies delivered so far sta
company-search-resumeResume a paused Company Search or Company Enrich task and return its updated status. Free. The task continues from where it stopped, keeping the companies already delivered, with no new charge. Works only on a paused task, within 7 days of pausing; a task in any other state, incl
company-search-cancelCancel a Company Search or Company Enrich task. Free. The task stops for good; you pay only for the companies it already delivered (a task cancelled before it starts costs nothing) and the rest of the reservation is returned. A Company Search started with max_cost_usd pays for it
company-search-tasksYour Company Search and Company Enrich tasks, newest first, with status, counts, cost, why each ended task stopped (completion_reason, coverage_limited), max_cost_usd and continue_from when a search set them, and the metadata labels set on company-search or company-enrich. Free;
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 Desearch-ai 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 238 毫秒内响应(HTTP 200)
无需登录
已读取 39 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:DESEARCH_API_KEY, x-api-key
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.9.0)于前天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
If Desearch is useful, a star helps others find it.
Remote: https://mcp.desearch.ai/mcp with header Authorization: Bearer .
Local: npx -y desearch-mcp-server@latest with env DESEARCH_API_KEY.
Prompt: Search the web for latest news on AI.
web-search takes query (required) and start (optional pagination offset: 0, 10, 20, ...).
{
"name": "web-search", "arguments": { "query": "latest news on AI" } }
Example output:
{
"data": [ { "title": "Example result", "link": "https://example.com/page", "snippet": "Short preview text." } ] }
The tool returns that JSON as pretty-printed text: { "content": [{ "type": "text", "text": " " }] }.
AI search, X search and web search for AI agents, plus the Search API (ranked pages with the best-matching passage), page extraction, X data tools, public TikTok, Facebook, Instagram, YouTube (videos, transcripts, comments, channels), Reddit, and Threads data, People Search (find people and creators on X, YouTube, LinkedIn, and TikTok), and Company Search (find companies on the web, or enrich domains you have, with their public contacts and leaders). Bring your own Desearch API key. Version 0.9.0 exposes 39 tools.
The Desearch MCP server includes the following tools.
Lookup tools, including search and fetch, set readOnlyHint: true, destructiveHint: false, and openWorldHint: true. search-api, tiktok, facebook, instagram, youtube, reddit, threads, people-search-status, people-search-tasks, people-profiles, and people-search-export are lookups too. people-search starts a paid job billed to the user's Desearch balance, so readOnlyHint is false; it creates a new task and does not delete or overwrite anything, so destructiveHint is false. people-search-pause and people-search-resume change a task's state and undo each other, so readOnlyHint and destructiveHint are false and idempotentHint is true. Pausing loses no data (people found so far stay readable and the search keeps its progress) and changes no billing (nothing is charged or refunded; the reservation stays until the search ends), and resume continues from where the search stopped with no new charge. The caveat: the API cancels a search paused for more than 7 days, and a cancelled search cannot be resumed, so a pause is reversible only within those 7 days. people-search-cancel cannot be undone, so readOnlyHint is false and destructiveHint and idempotentHint are true. The Company Search tools follow the same rules: company-search and company-enrich start paid jobs (readOnlyHint: false, destructiveHint: false, idempotentHint: false), company-search-status and company-search-tasks are lookups, company-search-pause and company-search-resume set destructiveHint: false and idempotentHint: true (with the same 7-day caveat), and company-search-cancel sets destructiveHint: true and idempotentHint: true. openWorldHint is true on every tool because the call reaches a live external source.
ai-search): Performs AI Twitter and web searches with relevant links and summary. tools uses short source ids (web, twitter, arxiv, wikipedia, hackernews, reddit). Older labels such as Web Search, ArXiv Search, Wikipedia Search, Hacker News Search, and Reddit Search are still accepted and sent as the short id. youtube is not accepted. Default is ["web", "twitter"].x-search): Tweet search on X. Arguments: query (required), count (optional, default 20). Sort stays Top. Optional filters: user, start_date, end_date (YYYY-MM-DD), lang, verified, blue_verified, is_quote, is_video, is_image, min_retweets, min_replies, min_likes.search): Web search that returns { results: [{ id, title, url }] }. Argument: query (required). id is the result URL.fetch): Read a public page as text. Argument: id (required, an http or https URL from search).web-search): SERP-style web search. Arguments: query (required), start (optional pagination offset).search-api): Ranked web pages, each with its title, URL, publication date when known, and the passage that best matches the query (POST /search). Arguments: query (required, 1–2000 characters), mode (optional, fast or balanced, API default balanced), count (optional, 10, 15, or 20), start_date and end_date (optional, YYYY-MM-DD), highlights (optional, default true), page_text (optional, default false; adds each page's full text). Returns results plus cost_usd, usage_count, service, and currency.web-links-search): Web link search. Arguments: prompt (required), tools (optional, only web, default ["web"]; Web Search is accepted and rewritten to web), count (optional, 10–200). The links/web API rejects other sources, so they are not in the enum.extract): Read a public URL as text or HTML. Preferred over crawl. Arguments: url (required), format (optional, text, markdown or html), js (optional), wait (optional milliseconds), full_page (optional, text only: every visible section of the page instead of its main content). Errors carry an error_code: js_required (retry with js: true), blocked (the site refused or showed a bot check), page_not_found.web-crawl): Same arguments as extract, on the legacy /web/crawl route. The SDK marks webCrawl deprecated in favor of extract; this tool stays so that route remains reachable. Prefer extract for new integrations.x-links-search): AI search for X post links. Arguments: prompt (required), count (optional, 10–200).x-posts-by-urls): Full posts for a list of URLs. Argument: urls (required).x-post-by-id): One post by ID. Argument: id (required).x-posts-by-user): Posts by a user. Arguments: user (required), query (optional), count (optional, 1–100).x-post-retweeters): Users who retweeted a post. Arguments: id (required), cursor (optional).x-user-posts): A user's timeline. Arguments: username (required), cursor (optional).x-user-replies): Posts and replies by a user. Arguments: user (required), count (optional, 1–100), query (optional).x-post-replies): Replies to a post. Arguments: post_id (required), count (optional, 1–100), query (optional).x-trends): Trending topics for a location. Arguments: woeid (required), count (optional, 30–100).tiktok): Public TikTok data. action (required) picks the route: search (query; optional count, sort, cursor), post (id), profile (username), profile_posts (username; optional count, cursor), comments (video_id; optional count, cursor), hashtag (tag; optional count, cursor), trending (optional region, count). See TikTok, Facebook, and Instagram.facebook): Public Facebook data. action (required): search (query; optional count, cursor) and hashtag (tag; optional count, cursor) return Meta Ad Library ads, not organic posts; post (id), profile (profile_id, a page or profile ID or public handle), profile_posts (profile_id; optional count, cursor), comments (post_id; optional count, cursor).instagram): Public Instagram data. action (required): search (query; optional count; profiles, one page, no cursor), media (id: shortcode, numeric ID, or URL), profile (username), profile_posts (username; optional count, cursor), comments (shortcode, the code in the post URL; optional count, cursor), hashtag (tag; optional count, cursor).youtube): Public YouTube data. action (required): search (query; optional type, upload_date, sort_by, duration, cursor; videos, Shorts, live streams, channels, and playlists, each with a type), video (id: video or Short ID or URL), transcript (video_id; optional language), comments (video_id; optional order, cursor), channel (handle, with or without @, or a UC... channel ID), channel_videos (handle; optional sort, cursor). See YouTube, Reddit, and Threads.reddit): Public Reddit data. action (required): search (query; optional sort, timeframe, cursor), subreddit (name, case-sensitive), subreddit_posts (name; optional sort, timeframe, cursor), post (id: post ID or URL), comments (post_id; optional cursor).threads): Public Threads data. action (required): search (query; optional start_date, end_date), search_users (query), profile (username), profile_posts (username), post (id: post URL or shortcode). One page each; no cursor.people-search): Start a paid job billed to the user's Desearch balance: a search for people who match a plain-language description. Arguments: platform (required: x, youtube, linkedin, or tiktok), query (required, 3–1000 characters), count (optional, 5–200, API default 25), min_score (optional, 0–100), exclude (optional handles), metadata (optional labels, below), idempotency_key (optional), and that platform's filters (below). Returns the task_id, status, and reserved_cost_usd (count times the platform's per-person price at the time of the call; prices at https://desearch.ai/pricing); the ended task carries final_cost_usd. Public data only: public X posts and profile fields, public YouTube channel pages plus the creator's own website for publicly listed contact details, public LinkedIn posts and profiles, and public TikTok videos and profiles. Contacts are only those the person lists publicly.people-search-status): A task's status, progress, and cost, plus a page of the people found so far. Arguments: task_id (required), cursor (optional, next_cursor from the previous call), limit (optional, 1–100, default 25), include_people (optional, default true). Free; it reads a search you already started (people come from public profiles and posts).people-search-pause): Pause a task. A queued search pauses at once; a running one finishes its current batch first. No data is lost and billing does not change; people-search-resume continues wher只显示了开头部分;其余内容请在仓库中阅读