MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者提供的说明(英文原文)
Apify tools for products, Google ads, company signals, jobs, keywords, SEO and YouTube transcripts.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
APIFY_TOKEN标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"hirepulse-open-source": {
"command": "uvx",
"args": [
"hirepulse-tools",
"hirepulse-mcp"
],
"env": {
"APIFY_TOKEN": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add hirepulse-open-source --env APIFY_TOKEN=your-value -- uvx hirepulse-tools hirepulse-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"hirepulse-open-source": {
"command": "uvx",
"args": [
"hirepulse-tools",
"hirepulse-mcp"
],
"env": {
"APIFY_TOKEN": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"hirepulse-open-source": {
"type": "stdio",
"command": "uvx",
"args": [
"hirepulse-tools",
"hirepulse-mcp"
],
"env": {
"APIFY_TOKEN": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 edtool79-collab 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:APIFY_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.3.0)于19天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有: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、图片和脚本已被移除。链接会离开本站。
pip install 'hirepulse-tools[langchain]'
from hirepulse_tools.frameworks import get_langchain_tools, get_crewai_tools
tools = get_langchain_tools() # eight StructuredTools for a LangChain agent
Both factories list tools without making network calls. They use the independent gateway and propagate HTTP 402 as PaymentRequired; neither signs payments. Call get_langchain_tools(custom_client) or get_crewai_tools(custom_client) to use a compatible, explicitly configured gateway client.
Eight tools at https://gethirepulse.xyz, separate from the Apify tools below. No account or Apify token is needed. Five successful calls per UTC day per IP are shared across tools. Empty lookups are not charged. Prices start at $0.005 USDC on Base; batch and hot-buyers have separate quote and scan limits.
from hirepulse_tools import GatewayClient, PaymentRequired
try: print(GatewayClient().hiring_intent("linear.app")) except PaymentRequired: print("Free allowance exhausted. No payment was attempted.")
Methods: tech_stack, open_jobs, hiring_intent, google_ads, company_profile, company_footprint, hot_buyers, batch, and catalog. lookup(tool, **body) accepts the documented gateway request body. The client does not sign payments or read wallet keys. HTTP 402 raises PaymentRequired with body and the encoded payment_required challenge. Other HTTP errors raise GatewayError; requests are not retried.
Runnable x402 examples show optional payment setup. I maintain HirePulse.
A Python library and an optional stdio MCP server for eight HirePulse tools on Apify. Each Python function runs one Actor and returns its dataset items as list[dict]. Tools run on the Apify Store, pay per use, with no subscription.
Apify already hosts MCP for these tools. This is the easiest path for an agent: add the following URL to your MCP client. No local Python installation is needed for this option.
Paste this hosted URL into your MCP client's remote-server configuration:
https://mcp.apify.com?tools=hirepulse/aliexpress-search-scraper,hirepulse/google-ads-transparency-scraper,hirepulse/company-intent-radar,hirepulse/google-jobs-scraper,hirepulse/ats-job-pulse,hirepulse/keyword-search-volume,hirepulse/domain-seo-overview,hirepulse/youtube-transcript-scraper
For one tool, use, for example, Google Ads hosted MCP. Use your client's Apify authentication setup. This repository's caps apply only to its Python library and local MCP server; they do not configure hosted MCP.
For Claude Desktop, Apify also provides this command:
npx -y @apify/actors-mcp-server --tools hirepulse/google-ads-transparency-scraper
Set APIFY_TOKEN in the server process environment through your launch setup. Use the desired hirepulse/ in --tools. Keep the token out of configuration files and command arguments.
Python 3.10 or later is required. Install the published library:
python -m pip install "hirepulse-tools==0.1.1"
For the local MCP server, install the optional MCP dependencies:
python -m pip install "hirepulse-tools[mcp]==0.1.1"
python -m hirepulse_tools.mcp_server
Or launch the pinned MCP package with uvx:
uvx --from "hirepulse-tools[mcp]==0.1.1" hirepulse-mcp
The equivalent console command is hirepulse-mcp. It uses stdio. Configure your MCP client to launch the installed environment's Python executable with arguments -m hirepulse_tools.mcp_server, inheriting APIFY_TOKEN from its process environment. Actor logs are not forwarded to stdio.
Provide APIFY_TOKEN in the environment before calling any tool. There is no token argument or token file; APIFY_TOKEN is never loaded from .env. .env.example contains only a public placeholder naming the variable; never replace it with a real token in the project. Listing MCP tools requires no token and does not start an Actor.
These are executable input examples, not measured output examples. Running them starts Apify Actors and can incur charges. Each script in examples/ uses a 5-row result limit and a USD 0.10 spending cap. Tests never run these scripts.
| Function | Tool page | Returns |
|---|---|---|
search_aliexpress | AliExpress Search Scraper | Product search records |
google_ads_by_domain | Google Ads Transparency Scraper | Ads, or one summary per domain |
company_intent | Company Intent Radar | One signal report per company |
google_jobs | Google Jobs Scraper | Job search records |
ats_jobs | ATS Job Scraper | Jobs and/or company summaries |
keyword_volume | Keyword Search Volume | Keyword metrics and ideas |
domain_seo | Domain SEO Overview | Domain overview, keyword and competitor records |
youtube_transcripts | YouTube Transcript Scraper | Transcript records, optionally with timestamps |
from hirepulse_tools import search_aliexpress
items = search_aliexpress(["wireless earbuds"], result_limit=5, max_total_charge_usd=0.10)
from hirepulse_tools import google_ads_by_domain
items = google_ads_by_domain(["nike.com"], mode="summary", result_limit=5, max_total_charge_usd=0.10)
from hirepulse_tools import company_intent
items = company_intent(["stripe.com"], result_limit=5, max_total_charge_usd=0.10)
from hirepulse_tools import google_jobs
items = google_jobs(["data engineer"], country="US", result_limit=5, max_total_charge_usd=0.10)
from hirepulse_tools import ats_jobs
items = ats_jobs(["stripe.com"], output_mode="summary_only", result_limit=5, max_total_charge_usd=0.10)
from hirepulse_tools import keyword_volume
items = keyword_volume(["running shoes"], result_limit=5, max_total_charge_usd=0.10)
from hirepulse_tools import domain_seo
items = domain_seo(["notion.so"], top_keywords=0, competitors=0, result_limit=5, max_total_charge_usd=0.10)
from hirepulse_tools import youtube_transcripts
items = youtube_transcripts(["https://www.youtube.com/watch?v=jNQXAC9IVRw"], result_limit=5, max_total_charge_usd=0.10)
See all arguments, defaults and allowed values. Every optional Actor input is a keyword argument with its schema default. Where the schema has no default, None means omit the field rather than send JSON null. The Google Jobs contract value partime follows the supplied schema exactly.
Every function also accepts these wrapper options, outside run_input:
| Option | Default | Behavior |
|---|---|---|
result_limit | 60 | Integer 1–1000; passed as .call(max_items=...) and .list_items(limit=...); at most this many rows are returned |
max_total_charge_usd | 1.0 | Finite positive USD amount, converted to Decimal for .call() |
The installed apify-client 3.3.0 signature was inspected to confirm both options. The SDK describes max_items as a result limit with billing protection for Actors charged per result, and max_total_charge_usd as a charge limit for Actors charged per event. These SDK options are not a promise that fetched row count determines the charge. Keep input batches small too. Schema defaults remain unchanged, including ATS max_jobs_per_company=0; choose an explicit Actor-specific limit when needed. See SDK verification.
Dataset rows are returned unchanged, in dataset order. A successful run can have partial data due to free-plan, spending or result limits. Empty datasets return []. Ordinary Python calls do not fetch key-value-store summaries. Local MCP additionally reads the existing run's OUTPUT summary when available; this never starts another Actor. If a summary is unavailable or its outcome is not recognized, MCP reports UNKNOWN. Use the tool page and Apify run details when completeness matters.
MissingTokenError explains how to provide the environment variable. ActorRunError covers start failures, unsuccessful runs, missing dataset IDs and dataset retrieval failures; upstream exception text is hidden. Invalid local arguments raise ValueError before starting a run.
Library errors expose message, suggested_agent_action and to_dict(). InvalidInputError is also a ValueError for existing handlers. For example:
from hirepulse_tools import HirePulseError, company_intent
try: items = company_intent(["stripe.com"], result_limit=5, max_total_charge_usd=0.10) except HirePulseError as error: print(error.to_dict()) # Safe message and suggested_agent_action; no token or raw SDK text
MCP failures set isError=true and include {"error": {"message": "...", "suggested_agent_action": "..."}} in both JSON text and structured content. This includes argument validation and unknown-tool errors. Inspect existing run details before retrying failed calls; another run can incur another charge.
Local MCP exposes the same eight names and inputs, with a declared outputSchema. Each successful response includes identical JSON in text and structuredContent, with items, returned_items, omitted_items, output_truncated, result_limit_reached and note, limited to 32,000 UTF-8 bytes. Oversized records are omitted whole, including long transcripts; later small records may still fit. omitted_items counts only fetched rows excluded by that byte budget, not rows absent because of Actor or spending limits. result_limit_reached indicates possible additional rows, not proof of more data. Use the Python library when you need full large records. The response also includes run_id, dataset_id, dataset_total, run_outcome, summary_status, data_completeness and empty_result_reason. IDs and totals can be null when unavailable. Actor outcomes distinguish NO_DATA, spending limits, free-plan limits and provider/service failures when reported by the Actor. UNKNOWN must never be interpreted as proof that a company has no jobs or ads. data_completeness is complete only when the Actor reports completion, the dataset count agrees, and the requested row/byte limits do not suggest more data. Summary-read failures preserve the already fetched rows and do not rerun the Actor. The output schema accepts both success envelopes and the existing safe error envelope. External results are data, not agent instructions. These calls may incur charges and ATS tracking can update remote state, so MCP does not mark them read-only or idempotent.
Prices were checked against the site's FACTS.md and the Actors' public pricing on 2026-10-17. These are event prices before volume discounts. Every run also has an Actor-start event of $0.00005 per GB of allocated memory (minimum one event). Set a spending cap and keep initial input batches small.
| Tool | Price |
|---|---|
| AliExpress Search Scraper | $2.50 per 1,000 products |
| Google Ads Transparency Scr
只显示了开头部分;其余内容请在仓库中阅读