YubHub

io.github.houtini-ai由 GitHub 帳號 houtini-ai 發布v2.4.0更新於 Nov 1, 2026

Build job feeds from careers pages; query enriched jobs and hiring stats. Needs a YubHub API key

已驗證STDIO僅桌面資料與分析商業與電商

概覽

AI 產生的概覽

YubHub MCP 伺服器讓助理從公司招募頁面建立與管理職缺訂閱來源、檢視已強化的職缺資料,並查詢招募市場統計。

可以做什麼
  • 建立、列出、更新與刪除以招募頁面網址為基礎的職缺訂閱來源,並觸發探索執行
  • 檢視單一來源與全部來源的儀表板,含統計資料與 XML 訂閱連結
  • 查看、啟用與停用來源的每週自動執行排程
  • 列出並讀取某來源中已強化的職缺,並重試抓取或強化失敗的職缺
  • 查詢市場統計:熱門公司、職類、職稱、職稱趨勢、工作型態、經驗層級與招募最多的城市
適用情境
適合想讓助理建立並監控公司招募頁面的職缺訂閱來源、檢視抓取並經 AI 結構化的職缺清單,或不必開啟瀏覽器分頁就能把招募市場彙總數據帶進對話的情境。
執行需求
透過 npx 以 stdio 在本機執行 npm 套件 @houtini/yubhub,需要 Node.js。需要 Pro Publisher 方案的 YubHub 帳號,並設定 YUBHUB_USER_ID 與 YUBHUB_API_KEY 環境變數;可選用 YUBHUB_ADMIN_API_URL 覆寫預設 API 位址。需要能連線至 YubHub API 的網路。
安裝前請注意
API 金鑰(YUBHUB_API_KEY)與使用者 ID 以環境變數傳入,可存取你的 YubHub 帳號,請勿放入共用設定。多個工具會變更或刪除資料:建立、更新、刪除訂閱來源,清空來源下所有職缺,以及觸發執行。來源與職缺的刪除無法復原。來源資料與職缺內容會交由 YubHub 伺服器處理,包含 AI 強化流程。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 YubHub,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[YubHub]

YubHub MCP Server

Turn any careers page into a structured job feed. Straight from Claude, Cursor or any MCP client.

[npm version] [MIT License] [MCP Compatible] [npm downloads] [Socket Badge]

[YubHub MCP server]


Quick start

Developer docs for YubHub's API, feeds and this server are at yubhub.co/developers.

You'll need a YubHub account on the Pro Publisher plan first: the server needs an API key. Head to your account page to grab your User ID and API key (required).

Claude Desktop

Open your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add this block inside "mcpServers":

json
{  "mcpServers": {    "yubhub": {      "command": "npx",      "args": ["-y", "@houtini/yubhub"],      "env": {        "YUBHUB_USER_ID": "your-user-id",        "YUBHUB_API_KEY": "yh_your_api_key_here"      }    }  }}

Restart Claude Desktop. That's it. Ask Claude to "list my YubHub feeds" and you should see your data come back.

Cursor / VS Code

Same idea. Drop the config into your MCP settings and point it at npx -y @houtini/yubhub with the same env vars.

What it does

YubHub watches careers pages. Point it at a company's jobs URL, and it will discover every open role, scrape the listings, enrich them with AI (title normalisation, category tagging, salary extraction, company research) and publish them as an XML feed.

This MCP server gives you full control over that pipeline from inside your AI assistant. Create feeds, trigger runs, check on jobs, view dashboards, browse market stats. No browser tab required.

The pipeline

Careers page URL  → Discovery (ATS API / sitemap / crawl)    → Scraping (page content extraction)      → Enrichment (AI structuring + company research)        → XML feed (ready for job boards, aggregators, your own site)

Supported ATS platforms include Greenhouse, Lever, Workable, Workday, Oracle HCM, SmartRecruiters, Ashby, Pinpoint, Phenom and more. For platforms with public APIs (Greenhouse, Lever, Workable, Pinpoint), discovery skips scraping entirely and goes straight to enrichment.

Tools

23 tools across four areas.

Feed management

ToolWhat it does
list_feedsGet all your job feeds
create_feedCreate a feed from a careers page URL
get_feedFeed details including run history and job counts
show_feed_dashboardInteractive visual dashboard for a single feed
show_all_feeds_dashboardOverview dashboard with all feeds, stats and XML links
trigger_feed_runStart job discovery now
update_feedChange feed name, tag or source URLs
delete_feedRemove a feed and all its jobs
delete_jobsClear all jobs for a feed (keeps the feed)

Scheduling

ToolWhat it does
get_feed_scheduleCheck auto-run schedule and next run time
enable_feed_auto_runTurn on automatic runs (default: weekly)
disable_feed_auto_runTurn off automatic runs

Jobs

ToolWhat it does
list_jobsList jobs for a feed, optionally filtered by status
get_jobFull job details: title, company, location, salary, skills, description
retry_failed_jobsRe-queue failed jobs for another attempt

Market statistics

These read the live market numbers behind yubhub.co straight into your chat. No feed and no account needed - the stats endpoints are open, so you can ask what the market's doing before you've built a thing. Ask in plain language ("which cities are hiring most?", "what's the remote-versus-onsite split?", "which titles are gaining demand?") and the server pulls the current aggregate and hands it back as a table. The same numbers power the public stats pages on the site, so what you see here is what a jobseeker sees there.

ToolWhat it does
get_stats_overviewHigh-level numbers: total jobs, companies, active feeds
get_top_companiesCompanies ranked by job count with recent activity
get_categoriesJob counts by sector with experience level breakdown
get_top_titlesMost common job titles by volume
get_title_trendsTitles gaining or losing demand (2-week comparison)
get_work_arrangementsRemote vs hybrid vs onsite distribution
get_experience_levelsEntry, mid, senior level distribution
get_top_citiesCities hiring most, ranked by live job count

Environment variables

VariableRequiredDescription
YUBHUB_USER_IDYesYour YubHub user ID
YUBHUB_API_KEYYesAPI key from your account page
YUBHUB_ADMIN_API_URLNoAPI endpoint (defaults to https://api.yubhub.co)

Example conversation

You: Create a feed for Mercedes F1 careers at https://www.mercedesamgf1.com/careers

Claude: Done. Feed created with ID feed_abc123. Want me to trigger a run?

You: Yes please.

Claude: Discovery started. I'll check back in a couple of minutes.

You: How did it go?

Claude: Found 47 jobs. 42 enriched successfully, 5 still processing. Here's a breakdown by category...

Tip: For best results, provide an example job URL when creating a feed. This helps YubHub identify the URL pattern for job listings on that site, significantly improving discovery accuracy. You can pass it as the optional exampleJobUrl parameter in create_feed.

Development

bash
git clone https://github.com/houtini-ai/yubhub.gitcd yubhubnpm installnpm run build

The server compiles TypeScript to dist/ and runs as a stdio MCP server. Source lives in src/:

src/├── index.ts                # MCP server, tool definitions and handlers├── api-client.ts           # REST client for the YubHub API├── dashboard-generator.ts  # React-based interactive dashboard builder└── types.ts                # TypeScript interfaces

Running locally

bash
YUBHUB_USER_ID=your-id YUBHUB_API_KEY=yh_your_key node dist/index.js

Or point your MCP client at the built output instead of using npx.

Contributing

Issues and pull requests welcome. If you're adding a tool or changing behaviour, please test against a real YubHub account.

Links

License

MIT - see LICENSE for details.

來源:README.md,提交 d0db533

工具

23

list_feeds

Get all your job feeds

無需輸入參數。

create_feed

Create a new job feed for monitoring career pages

輸入參數name必填careersUrl必填exampleJobUrl

get_feed

Get detailed information about a specific feed including statistics

輸入參數feedId必填

show_feed_dashboard

Display an interactive dashboard for monitoring a job feed

輸入參數feedId必填

show_all_feeds_dashboard

Display a comprehensive dashboard showing all feeds with stats, sortable columns, and XML feed links. Modern React UI with dark theme.

無需輸入參數。

trigger_feed_run

Start job discovery for a specific feed

輸入參數feedId必填

update_feed

Update a feed's name, tag, or source URLs. Use tag to group feeds by site for filtering on the dashboard.

輸入參數tagnamefeedId必填careersUrlexampleJobUrl

delete_feed

Delete a feed and all associated jobs. This action cannot be undone.

輸入參數feedId必填

delete_jobs

Delete all jobs for a specific feed. This action cannot be undone.

輸入參數feedId必填

get_feed_schedule

Get the automatic run schedule configuration for a feed. Shows if auto-run is enabled, the run interval, and when the next automatic run is scheduled.

輸入參數feedId必填

enable_feed_auto_run

Enable automatic weekly runs for a feed. The scheduler worker runs hourly and will automatically trigger this feed at the configured interval (default: 7 days for weekly runs). Great for keeping job feeds updated without manual intervention.

輸入參數feedId必填intervalDays

disable_feed_auto_run

Disable automatic runs for a feed. The feed will require manual triggering after this. Use this when you want full control over when a feed runs.

輸入參數feedId必填

list_jobs

Get all jobs for a specific feed, optionally filtered by status

輸入參數feedId必填status

get_job

Get detailed information about a specific job

輸入參數jobId必填

retry_failed_jobs

Retry failed jobs for a feed. Jobs that failed during scraping (no content) are re-queued for scraping. Jobs that failed during enrichment (have content) are re-queued for enrichment.

輸入參數feedId必填

get_stats_overview

Get high-level statistics: total enriched jobs, companies, and active feeds.

無需輸入參數。

get_top_companies

Get top companies by enriched job count, with recent activity (last 7d and 30d).

無需輸入參數。

get_categories

Get job counts by category/sector with experience level breakdown (entry, mid, senior).

無需輸入參數。

get_top_titles

Get the most common job titles by volume (top 30).

無需輸入參數。

get_work_arrangements

Get work arrangement distribution (remote, hybrid, onsite, etc.).

無需輸入參數。

get_experience_levels

Get experience level distribution (entry, mid, senior, etc.).

無需輸入參數。

get_top_cities

Get the cities hiring most, ranked by live job count. Each links to /jobs/city/<slug> on yubhub.co.

輸入參數min

版本歷史

2
  1. v2.4.0最新Oct 25, 2026
  2. v2.3.5Oct 22, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分