MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者提供的说明(英文原文)
Search LinkedIn, Indeed, ZipRecruiter, Glassdoor and regional job boards
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"jobspy": {
"command": "uvx",
"args": [
"mcp-jobspy"
]
}
}
}在终端中运行这条命令
claude mcp add jobspy -- uvx mcp-jobspy粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"jobspy": {
"command": "uvx",
"args": [
"mcp-jobspy"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"jobspy": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-jobspy"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 speedyapply 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.4.1)于15天前进入注册中心。
支持 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、图片和脚本已被移除。链接会离开本站。
JobSpy is a job scraping library that aggregates jobs from popular job boards with one tool:
pip install -U python-jobspy
_Python version >= 3.10 required_
from jobspy import scrape_jobs
jobs = scrape_jobs( site_name=["indeed", "linkedin", "zip_recruiter", "glassdoor"], # also "bayt", "naukri", "bdjobs", "hellowork" search_term="software engineer", location="San Francisco, CA", results_wanted=20, hours_old=72, country_indeed="USA",
) print(f"Found {len(jobs)} jobs") print(jobs.head()) jobs.to_csv("jobs.csv", index=False)
SITE TITLE COMPANY LOCATION JOB_TYPE INTERVAL MIN_AMOUNT MAX_AMOUNT JOB_URL DESCRIPTION
indeed Software Engineer AMERICAN SYSTEMS Arlington, VA, USA None yearly 150000 200000 https://www.indeed.com/viewjob?jk=5e409e577046... THIS POSITION COMES WITH A 10K SIGNING BONUS!... indeed Senior Software Engineer TherapyNotes.com Philadelphia, PA, USA fulltime yearly 110000 135000 https://www.indeed.com/viewjob?jk=da39574a40cb... About Us TherapyNotes is the national leader i... linkedin Software Engineer - Early Career Lockheed Martin Sunnyvale, CA, USA fulltime yearly None None https://www.linkedin.com/jobs/view/3693012711 Description:By bringing together people that u... linkedin Full-Stack Software Engineer Rain New York, NY, USA fulltime yearly None None https://www.linkedin.com/jobs/view/3696158877 Rain’s mission is to create the fastest and ea... zip_recruiter Software Engineer - New Grad ZipRecruiter Santa Monica, CA, USA fulltime yearly 130000 150000 https://www.ziprecruiter.com/jobs/ziprecruiter... We offer a hybrid work environment. Most US-ba... zip_recruiter Software Developer TEKsystems Phoenix, AZ, USA fulltime hourly 65 75 https://www.ziprecruiter.com/jobs/teksystems-0... Top Skills' Details• 6 years of Java developme...
The package installs a jobspy command whose options mirror the scrape_jobs() parameters below; jobspy -h lists them, the output fields and exit codes.
uv tool install python-jobspy
jobspy "software engineer" --site indeed,linkedin --location Chicago -n 20 jobspy nurse --site indeed,linkedin --hours-old 24 -o jobs.jsonl jobspy "data analyst" --remote --fields title,company,job_url
mcp-jobspy is an MCP server that runs with uvx mcp-jobspy@latest. See mcp/README.md for setup, tools and proxies.
Standard config works for most clients:
{
"mcpServers": { "jobspy": { "command": "uvx", "args": ["mcp-jobspy@latest"] } } }
scrape_jobs()Optional
├── site_name (list|str): | linkedin, zip_recruiter, indeed, glassdoor, google, bayt, bdjobs, naukri, hellowork | (default is all) │ ├── search_term (str) | ├── google_search_term (str) | search term for google jobs. This is the only param for filtering google jobs. │ ├── location (str) │ ├── distance (int): | in miles, default 50 │ ├── job_type (str): | fulltime, parttime, contract, temporary, internship, perdiem, other, volunteer │ ├── proxies (list|str): | in format ['user:pass@host:port', 'localhost'], or a single proxy as a string | each job board scraper will round robin through the proxies | socks proxies on LinkedIn, Indeed and BDJobs need pip install "requests[socks]" | ├── is_remote (bool) │ ├── results_wanted (int): | number of job results to retrieve for each site specified in 'site_name' │ ├── easy_apply (bool): | filters for jobs that are hosted on the job board site | ├── user_agent (str): | override the default user agent which may be outdated │ ├── description_format (str): | markdown, html, plain (Format type of the job descriptions. Default is markdown.) │ ├── offset (int): | skips that many results (e.g. 25 skips the first 25 and starts from the 26th) │ ├── hours_old (int): | filters jobs by the number of hours since the job was posted | (Glassdoor filters by whole days, so it rounds up to the next day.) │ ├── verbose (int) {0, 1, 2}: | Controls the verbosity of the runtime printouts | (0 prints only errors, 1 is errors+warnings, 2 is all logs. Default is 1.) │ ├── fetch_description (bool): | for boards whose search results don't include the job description: fetches each job's | page for the description and other details (e.g. job type). Without it these are empty | for those boards. Adds one request per job, so use proxies for larger searches │ ├── linkedin_fetch_description (bool): | deprecated, use fetch_description (still works; removed in 2.0) │ ├── linkedin_company_ids (list[int]): | searches for linkedin jobs with specific company ids | ├── country_indeed (str): | filters the country on Indeed & Glassdoor (default is usa; see below for the names) | ├── enforce_annual_salary (bool): | converts wages to annual salary | ├── ca_cert (str) | path to CA Certificate file for proxies
LinkedIn searches globally & uses only the location parameter.
ZipRecruiter searches for jobs in US/Canada & uses only the location parameter.
Indeed & Glassdoor support most countries, chosen with the country_indeed parameter (default usa). Additionally, use the location parameter to narrow down the location, e.g. city & state if necessary.
You can specify the following countries when searching on Indeed (use the exact name, * indicates support for Glassdoor):
| Argentina* | Australia* | Austria* | Bahrain |
| Belgium* | Brazil* | Canada* | Chile |
| China | Colombia | Costa Rica | Czech Republic |
| Denmark | Ecuador | Egypt | Finland |
| France* | Germany* | Greece | Hong Kong* |
| Hungary | India* | Indonesia | Ireland* |
| Israel | Italy* | Japan | Kuwait |
| Luxembourg | Malaysia* | Mexico* | Morocco |
| Netherlands* | New Zealand* | Nigeria | Norway |
| Oman | Pakistan | Panama | Peru |
| Philippines | Poland | Portugal | Qatar |
| Romania | Saudi Arabia | Singapore* | South Africa |
| South Korea | Spain* | Sweden | Switzerland* |
| Taiwan | Thailand | Turkey | Ukraine |
| United Arab Emirates | UK* | USA* | Uruguay |
| Venezuela | Vietnam* |
Bayt searches all countries unless location names one it covers, e.g. "Dubai, UAE" or "Saudi Arabia".
BDJobs searches Bangladesh. location takes a division or district, e.g. "Dhaka" or "Chattogram Division".
Naukri searches India. location takes a city, e.g. "Pune".
HelloWork searches France. location takes a French city, postcode or region, e.g. "Lyon". Most jobs are posted in French, so French search terms find more.
date_posted is the day a job was added to Indeed, the same date hours_old filters on.Q: How do I tell a blocked board from one with no jobs? A: Failures and ignored options are logged as they happen, and the result's attrs carry the same messages so your code can read them:
jobs.attrs["errors"] # {"linkedin": "response status code 429 (blocked: use a proxy)"}
jobs.attrs["warnings"] # {"bdjobs": ["job_type internship isn't supported, ignoring it"]}
Q: Why is Indeed giving unrelated roles? A: Indeed searches the description too.
Example of a good Indeed query
search_term='"engineering intern" software summer (java OR python OR c++) 2025 -tax -marketing'
This searches the description/title and must include software, summer, 2025, one of the languages, engineering intern exactly, no tax, no marketing.
Q: No results when using "google"? A: Google Jobs is currently unavailable.
Q: Received a response code 429? A: The board blocked you for sending too many requests. All of the job board sites are aggressive with blocking. We recommend:
JobPost
├── id ├── site ├── job_url ├── job_url_direct ├── title ├── company ├── location ├── date_posted ├── job_type: fulltime, parttime, internship, contract, temporary, ... ├── salary_source: direct_data, description (parsed from posting) ├── interval: yearly, monthly, weekly, daily, hourly ├── min_amount ├── max_amount ├── currency ├── is_remote ├── job_level ├── job_function ├── listing_type ├── emails ├── description ├── company_industry ├── company_url ├── company_logo ├── company_url_direct ├── company_addresses ├── company_num_employees ├── company_revenue ├── company_description ├── skills ├── experience_range ├── company_rating ├── company_reviews_count ├── vacancy_count
只显示了开头部分;其余内容请在仓库中阅读