FoundRole — AI Job Search & Application Tracker MCP for Claude & ChatGPT

io.github.foundrole由 GitHub 帳號 foundrole 發布v1.1.19更新於 Nov 8, 2026

AI job search and tracker: jobs near you and remote, pay vs market, ghost-job risk, resume checker.

發布方自己的服務:Claude Platform Docs

已驗證Streamable HTTP可網頁執行效率與工作流網頁搜尋與抓取資料與分析

概覽

AI 產生的概覽

把助理連接到 FoundRole 的即時職缺資料庫、求職追蹤器和職涯知識庫,讓職缺搜尋、資訊查核與後續追蹤都在對話中完成。

可以做什麼
  • 依職稱、地點、薪資與刊登日期搜尋即時職缺,並查看職缺詳情
  • 比對合適的職務角色、取得依履歷產生的推薦,並並排比較 2 至 4 個職缺
  • 分析職缺與履歷的契合度、假職缺風險、薪資與市場比較及簽證贊助情形,包括從其他地方貼上的職缺
  • 檢查履歷文字中被解析出的段落、技能與聯絡方式
  • 管理看板式追蹤器:新增、列出、更新、變更狀態與移除職缺,可附註記、標籤、薪資與截止日期
  • 設定、列出與刪除提醒,並訂閱或取消定期職缺通知
適用情境
適合想用對話方式求職的人:尋找職缺、判斷刊登是否真實且薪資合理、查詢簽證贊助紀錄、追蹤應徵進度並設定後續提醒,而不必另外切換到網頁應用程式。
執行需求
需要遠端 MCP 端點,或為僅支援 stdio 的用戶端使用 npm 套件(需 Node.js)。必須以 OAuth 登入 FoundRole 帳號,首次連線會在瀏覽器開啟登入頁;stdio 橋接會把工作階段保存在本機設定檔。需要網路連線。
安裝前請注意
助理可以變更帳號資料:新增、更新與移除追蹤的職缺、取代帳號中儲存的職務角色,並可一次取消全部職缺通知(需 confirm 參數確認)。提醒與通知郵件會寄到使用者信箱。履歷文字與貼上的職缺內容會傳送給 FoundRole。免費帳號只會看到通過篩選的前幾個職缺,Pro 帳號則回傳完整清單。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 FoundRole — AI Job Search & Application Tracker MCP for Claude & ChatGPT,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.foundrole%2Fjobs-mcp-proxy/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "foundrole-ai-job-search-application-trac": {
      "type": "http",
      "url": "https://www.foundrole.com/mcp"
    }
  }
}

README

FoundRole MCP Server — AI Job Search in ChatGPT, Claude & Cursor [FoundRole — AI Job Search with Fact Checking, Application Tracker & Resume Checker MCP connector – tool definition quality and endpoint health on Glama]

Ask ChatGPT or Claude for jobs and get real openings back — each one checked for whether it's still real, what it actually pays, and whether the company sponsors visas. The FoundRole MCP server connects your AI assistant to FoundRole's live job board, application tracker, and career knowledge base, so the whole job search runs inside the chat you already use.

Sign in once — your assistant handles it. The first time your AI calls FoundRole it opens a standard OAuth sign-in; approve it once in the browser and that covers everything: search, fact-checks, the tracker, reminders, and alerts. There is no API key to copy or rotate, and the account is free.

Add it in one click: ChatGPT plugin · Claude connector · Cursor · VS Code — or any other MCP client.

[FoundRole MCP MCP server – quality and maintenance score on Glama] [FoundRole — AI Job Search & Application Tracker MCP server]

What your assistant can do

  • Search live jobs by asking, in any country. Openings straight from employers' own career pages and hiring systems across 40+ industries, most of them re-checked every hour — jobs near you within the distance you set, remote and work-from-home jobs open to your country, full-time or part-time. Natural language maps onto real filters — job title, location, company, salary range, posting date: "remote React jobs in NYC paying over $130k posted this week."
  • Not sure which title to search? Describe the work in your own words and FoundRole shows the roles that match, with how many open jobs each has where you're looking. Pick one and it's saved to your account, so later searches and recommendations look for exactly that role.
  • Get every posting fact-checked — free. Before you spend an evening on an application, three questions get answered with the evidence behind each call:
    • Is anyone actually hiring? Ghost-posting risk — whether the posting has sat open for months, comes through a staffing agency, or reads like it's fishing for resumes.
    • Am I being underpaid? The posted pay against pay advertised over the last 12 months on the closest match with enough postings that state pay — the same role in the same area when there are enough, otherwise the same role statewide or nationwide, or the wider occupation — and, when a posting hides its range, an estimate from those postings that names the match it used.
    • Would they sponsor me? Whether the company has sponsored visas before, from the visa filings employers make with the U.S. Department of Labor, with the wages they filed.
  • See how well you fit. Match scoring against your resume and profile, plus personalized job recommendations ranked by fit.
  • See what hiring software reads off your resume — free. Ask, and you get back the version of you a parser extracts: job title, years, recognized skills, sections, contact details — plus what it loses on the way. It's the mechanical read, deterministic and repeatable, so the answer doesn't drift between asks. Paste the text into the chat, or check the resume already on your account.
  • Research before you commit. Dig into companies, industry sectors, and hiring by location to decide where to aim.
  • Compare roles side by side. "Compare these two" lines up fit, pay, sponsorship, and posting risk at once — so the choice stops being a feeling.
  • Paste a job from anywhere. LinkedIn, a careers page, a link a friend sent — paste the posting into the chat and it gets the same checks, and can sit in your tracker alongside FoundRole listings. Your assistant reads the text you provide; nothing crawls the site for you.
  • Stop losing track of applications. Save jobs to your Kanban application tracker and move them through Saved → Applied → Interviewing → Offered by asking, then archive each one with how it ended — hired, rejected, ghosted, or withdrawn. Attach notes, tags, the salary offered, and deadlines. The same board shows up in the web app.
  • Never miss a follow-up. Set a reminder on any tracked job and get an email with a calendar (.ics) invite for Google Calendar, Outlook, or Apple Calendar.
  • Let the search come to you. Subscribe a search to recurring email alerts — daily, weekly, or monthly — so new matches land in your inbox. Ask to list, change, or cancel them the same way.
  • Ask the awkward questions too. Interview prep, salary negotiation, resume tactics, company research — answers grounded in FoundRole's knowledge base, with the sources linked.
  • See results as real panels, not text walls. In clients that support MCP Apps (ChatGPT among them), search results, job details, and your tracker render as interactive panels right in the chat.

It's the same account and data as FoundRole.com — the MCP server just lets your AI drive it.

Free vs Pro

Search, the fact-checks on every posting, the tracker, reminders, and alerts are free with no usage limits. Screening filters work on every account: ask for remote-only, sponsors-only, a salary floor, risky postings hidden, a minimum match, specific benefits or employers, and your assistant filters the list before you ever see it — and tells you which filters ran. A free account gets the first few jobs that pass those filters, plus a count of how many more do; Pro returns the whole filtered list. Searches without screening filters come back in full on every account.

New here? The FoundRole AI Search guide walks through connecting each client step by step, with an FAQ.

Setup

Two ways to connect, depending on your client. Either way, your client opens a FoundRole sign-in the first time it connects — approve it once and you're set.

Option 1 — Remote server (recommended)

Point your client at the FoundRole MCP endpoint:

https://www.foundrole.com/mcp

Most modern clients — ChatGPT, Claude, Cursor, VS Code — speak remote MCP (Streamable HTTP) natively, so this is all the configuration there is. In ChatGPT and Claude you don't even need the address: FoundRole Jobs is listed in their directories (see below).

Option 2 — stdio bridge (for clients without remote MCP)

If your client only supports stdio transport, run this package locally with npx; it bridges stdio to the FoundRole endpoint and handles the OAuth sign-in for you:

bash
npx @foundrole/ai-job-search-mcp

The first start opens FoundRole's sign-in page in your browser. After you approve, the bridge keeps the session in ~/.config/foundrole/mcp-auth.json (readable only by you) and renews it on its own, so later starts connect without asking again. Delete that file to sign out.

Connecting your AI assistant

ChatGPT

Estimated time: ~1 minute

  1. Open FoundRole Jobs in ChatGPT's plugins.
  2. Click Install plugin and approve the FoundRole sign-in when ChatGPT opens it.
  3. Ask for jobs in any chat — no settings to configure, nothing to paste.

Claude

Estimated time: ~1 minute

  1. Open FoundRole Jobs in Claude's connector directory.
  2. Add the connector and approve the FoundRole sign-in Claude opens.
  3. Ask for jobs in any chat — no server address to copy.

Claude Code and Cowork: install the FoundRole Jobs plugin (the page opens once you are signed in to Claude). It adds the same connector plus two skills that walk Claude through a job search and a resume check; the source is in claude-plugin/.

Directory connectors switched off in your workspace? Add a custom connector instead: Settings → Connectors → Add custom connector, name it FoundRole, paste https://www.foundrole.com/mcp, save, and approve the sign-in.

Cursor

Estimated time: ~1 minute

[Add to Cursor]

Click the button, confirm Install in Cursor, and approve the FoundRole sign-in it opens. FoundRole Jobs is also listed on Cursor Directory.

The Cursor plugin lives in this repository — .cursor-plugin/plugin.json with the server declared in mcp.json. To load it locally, symlink this repo into ~/.cursor/plugins/local/ and reload the window.

VS Code

Estimated time: ~1 minute

[Install in VS Code]

Click the badge, confirm Install in VS Code, approve the FoundRole sign-in, then ask for jobs in Copilot Chat in agent mode.

Manual setup — Cursor / VS Code / Windsurf

In Cursor, open Settings → MCP and add this to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "foundrole": {      "url": "https://www.foundrole.com/mcp"    }  }}

In VS Code, add this to .vscode/mcp.json in your workspace (or your user mcp.json) — VS Code uses a different key and needs an explicit transport type:

json
{  "servers": {    "foundrole": {      "type": "http",      "url": "https://www.foundrole.com/mcp"    }  }}

Approve the FoundRole sign-in when your editor opens it, then ask for jobs in the chat.

Antigravity (Google)

Estimated time: ~1 minute

Install the plugin straight from this repository:

bash
agy plugin install https://github.com/foundrole/jobs-mcp-proxy

Approve the FoundRole sign-in Antigravity opens, then ask for jobs in the CLI. The plugin declares the server in mcp_config.json; to wire it up by hand instead, add the same entry to ~/.gemini/config/mcp_config.json:

json
{  "mcpServers": {    "foundrole": {      "serverUrl": "https://www.foundrole.com/mcp"    }  }}

Any other MCP client

The same address works everywhere: add https://www.foundrole.com/mcp as a remote server, or bridge stdio-only clients with npx @foundrole/ai-job-search-mcp.

Note: After you approve the sign-in, some clients need a restart (quit and reopen) before the connection goes live.

Try saying

  • "Show me jobs near me."
  • "Find senior backend engineer roles in San Francisco posted this week."
  • "Which of these is least likely to be a ghost posting?"
  • "Does Stripe sponsor visas? What does this role really pay?"
  • "Compare the Stripe and Vercel roles on fit, pay, and sponsorship."
  • "Here's a posting from LinkedIn — run the same checks on it."
  • "Recommend jobs that match my resume."
  • "Save it to my tracker and mark it Applied."
  • "Remind me to follow up next Tuesday morning."
  • "What's in my Interviewing column right now?"
  • "Subscribe me to weekly alerts for remote React jobs."
  • "How do I answer 'walk me through your resume'?"

Security

  • OAuth 2.1 with PKCE. You sign in to FoundRole through a standard authorization flow — short-lived tokens, instant revocation, no credentials shared with the AI client, no API key to copy, store, or leak.
  • HTTPS only, with dynamic client registration and redirect-URI validation.
  • Streamable HTTP transport (direct), or stdio via this proxy.
  • It never applies or emails anyone as you.

Troubleshooting

Asked to sign in / "needs authentication":

  • Expected on first connect — the server authenticates every session. Complete the FoundRole sign-in in the browser window your client opens.
  • If tools still don't appear afterward, restart the client or reconnect the connector so the authorization is re-sent.

"Connection failed":

  • Check your internet connection and that the URL is exactly https://www.foundrole.com/mcp.
  • Confirm your client supports remote HTTP MCP; if not, use the stdio bridge (Option 2).

"Command not found" (stdio clients):

  • Install Node.js (see engines in package.json for the required version), then retry, or install globally: npm install -g @foundrole/ai-job-search-mcp and run ai-job-search-mcp.

Connector not working:

  • Double-check the URL, complete the sign-in, and restart the AI client — some clients only pick up the connection after a restart.

Explore the data behind the answers

The same data your assistant reads is browsable on FoundRole:

  • How It Works — where the openings come from and how each posting gets its ghost, pay, and visa checks
  • Methodology — how every FoundRole figure is made: salary estimates, the real-or-ghost grade, visa sponsorship records, and the remote check
  • H1B Salary Explorer — certified wages employers filed with the U.S. Department of Labor, charted by sector, industry, location, and role
  • H1B Sponsor Rankings — top visa-sponsoring companies by median filed wage, browsable by industry, sector, city, and state
  • Company Directory — open roles, salary data, and visa sponsorship history for any employer
  • Industry Sectors — who's hiring across 40+ industries
  • Hiring by Location — openings and wage benchmarks by state and metro
  • Job Tracker — the Kanban board your assistant manages, in the browser
  • Resume Checker — upload a resume and see what hiring software reads off it, section by section
  • Resume Builder — build a version per target role and export PDF, DOCX or TXT free, no watermark
  • Live Job Board — browse the listings directly

Help


Connect your AI client, sign in once, and run the whole job search from the chat — search, fact-checks, tracking, reminders, and alerts, free at FoundRole.

Made by the FoundRole team.

來源:README.md,提交 274d297

工具

24

tracker_list

List tracked jobs

Lists the user's tracked jobs with optional filtering and pagination. **Input:** - `status`: Filter by status (saved, applied, interviewing, offered, archived) - `limit`: Number of results per page (default 20, max 50) - `offset`: Number of results to skip (default 0) **Output:** Returns a list of tracked jobs grouped by status with pagination info.

輸入參數limitoffsetstatus

tracker_add

Save a job to the tracker

Tracks a job from jobs_search results in the user's job tracker, identified by its job_id. For a job found elsewhere on the open web (with a URL but no jobs_search job_id), tracker_add_external is the right tool instead. Fields: - `job_id`: the job ID from jobs_search results (required) - `status`: initial status (saved, applied, interviewing, offered, archived); defaults to "saved" - `sub_status`: sub-status within the main status: saved: interested, researching_company, preparing_application, ready_to_apply; applied: application_submitted, followed_up; interviewing: interview_scheduled, phone_screen, technical, onsite, final_round, pending_feedback; offered: negotiating, considering, offer_received, accepted; archived: ghosted, rejected_by_company, withdrawn_by_candidate, not_interested, employed_by_this_company, employed_by_another_company - `notes`: notes about the job Returns the tracked job with its details. Repeated saves return the existing tracked job. A job that was previously removed from the tracker is restored with its earlier status and notes.

輸入參數notesjob_id必填statussub_statusresult_item_id

tracker_add_external

Save a job from another site to the tracker

Saves a job posting found anywhere on the open web into the user's tracker. For jobs that came from jobs_search results, tracker_add (which takes a job_id) is the right tool instead. A job seen elsewhere in the conversation needs no prior jobs_search call — its URL and details from the conversation are sufficient input. `url`, `company_name`, `title_name`, `location_name`, and `description` identify the posting and are the only required fields. Every structured fact field (salary, dates, employment type, education, experience) is optional: a fact the source does not state is simply omitted (or null), and FoundRole's own extractors derive missing salary, employment, work-arrangement, education, experience, skills, benefits, and bonuses from the description. A save never waits on facts the source did not provide. The optional `client_extraction` object carries evidence-backed skills, technology, benefits, bonuses, seniority, industry, management, clearance, visa, and remote-scope labels when source excerpts for them exist; FoundRole validates and stores those labels separately. Fields: - `url`: the job posting's direct URL (required; not a company homepage) - `company_name`: company name (required) - `title_name`: job title (required) - `location_name`: location, e.g. "New York, NY" (required) - `description`: the posting's description from the source result; a short summary is acceptable (required) - `salary_min_value` / `salary_max_value`: salary range bounds (numbers) - `salary_value`: a single salary figure when there is no range (number) - `posted_at`: ISO 8601 posting date - `salary_currency`: ISO 4217 currency code - `salary_type`: one of year, month, week, day, hour - `employment_type`: array of full_time, part_time, contractor, temporary, intern, volunteer, per_diem, other - `work_location_type`: one of on_site, remote, hybrid - `education_requirements`: array of no_requirements, high_school, associate_degree, bachelor_degree, professional_certificate, post

輸入參數url必填notesstatusposted_atsub_statustitle_name必填description必填salary_typecompany_name必填salary_valuelocation_name必填employment_type另有 7 個

tracker_update

Update a tracked job

Updates details of a tracked job (notes, deadline, salary, tags). **Input:** - `tracked_job_id`: The tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required) - `notes`: Updated notes - `deadline`: Deadline date (ISO 8601 format) - `salary_offered`: Salary amount - `salary_offered_type`: Salary type: year, month, week, day, hour - `tags`: Comma-separated tags (e.g., "remote,startup,tech") - `reminder_at`: Reminder date/time in ISO 8601 format, e.g. "2025-03-15T10:00:00Z" (must be in the future, or empty to clear) **Output:** Returns the updated tracked job.

輸入參數tagsnotesdeadlinereminder_atsalary_offeredtracked_job_id必填salary_offered_type

tracker_update_status

Move a tracked job to another stage

Updates the status of a tracked job. **Input:** - `tracked_job_id`: The tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required) - `status`: New status: saved, applied, interviewing, offered, archived (required) - `sub_status`: Sub-status within the main status, valid only for that status (optional): saved: interested, researching_company, preparing_application, ready_to_apply; applied: application_submitted, followed_up; interviewing: interview_scheduled, phone_screen, technical, onsite, final_round, pending_feedback; offered: negotiating, considering, offer_received, accepted; archived: ghosted, rejected_by_company, withdrawn_by_candidate, not_interested, employed_by_this_company, employed_by_another_company **Output:** Returns the updated tracked job.

輸入參數status必填sub_statustracked_job_id必填

tracker_remove

Remove a job from the tracker

Removes a job from the user's job tracker. **Input:** - `tracked_job_id`: The tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required) **Output:** Confirms the job was removed from tracking.

輸入參數tracked_job_id必填

reminder_set

Set a follow-up reminder

Sets a reminder for a tracked job. Sends a confirmation email with .ics calendar attachment. **Input:** - `tracked_job_id`: The tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required) - `remind_at`: Reminder date/time in ISO 8601 format, e.g. "2025-03-15T10:00:00Z" (required, must be in the future) **Output:** Returns the updated tracked job with reminderAt field.

輸入參數remind_at必填tracked_job_id必填

reminder_list

List reminders

Lists tracked jobs that have reminders set, ordered by reminder time (soonest first). **Input:** - `limit`: Number of results to return (default 20, max 50) **Output:** Returns a list of tracked jobs with active reminders.

輸入參數limit

reminder_delete

Delete a reminder

Deletes a reminder from a tracked job. **Input:** - `tracked_job_id`: The tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required) **Output:** Returns the updated tracked job with reminderAt cleared.

輸入參數tracked_job_id必填

job_alert_subscribe

Create a job alert

Subscribes the authenticated user to job alerts for a specific saved job search. **Input:** - `job_search_id`: The job search identifier to subscribe to (required). Accepts either the job search UUID or the composite job ID returned by `jobs_search` / `jobs_details` (format: "seo_id--job_search_id"). - `delivery`: digest, fast (optional). Fast email is not available on every account and needs enough new matches for the exact saved search. Unsupported fast selection returns a validation error and keeps the existing delivery mode. - `frequency`: Alert frequency — one of daily, weekly, monthly (optional, defaults to "weekly") **Output:** Returns the created or updated job alert with id, status, and frequency. Idempotent: calling this tool for an already-subscribed search updates the existing alert without creating a duplicate. An existing active alert with the same query text, location, company and filters, and at least the same radius, is returned instead of a new one, with the requested frequency applied to it. A user keeps one alert per query and place. When they already have an active alert for the same query and place with other filters, radius or sort, this tool changes that alert to the new search instead of adding a second one: the returned `jobAlert.id` is the existing alert, `jobSearchId` is the new search, and `message` says the alert was changed. **Delivery:** Digest alerts arrive together in one email, one section per query and place. Opted-in fast alerts are sent separately while the account has them: matches found overnight arrive in one morning email at the hour the user usually starts the day, and later matches follow at least 3 hours after the previous email, up to 3 emails per local day. A fast email carries only jobs found since the previous one, never a job already sent to the user, a role from the same employer sent in the last 30 days, or a job in the user's tracker. When the account no longer has fast alerts they return to the ordinary digest

輸入參數deliveryfrequencyjob_search_id必填

job_alert_unsubscribe

Unsubscribe from a job alert

Unsubscribes the authenticated user from job alerts for a specific job search. **Input:** - `job_search_id`: The job search identifier to unsubscribe from (required). Accepts either the job search UUID or the composite job ID returned by `jobs_search` / `jobs_details` (format: "seo_id--job_search_id"). **Output:** Confirms the alert has been unsubscribed. Idempotent: returns success even when the user was not subscribed or is already unsubscribed.

輸入參數job_search_id必填

job_alert_unsubscribe_all

Unsubscribe from all job alerts

Unsubscribes the authenticated user from ALL of their job alerts at once, across every subscription source (regular, company page, MCP). **Input:** - `confirm`: Must be `true` to execute. The call is rejected when omitted or not true — this guards against an unintended bulk unsubscribe. **Output:** Confirms how many alerts were unsubscribed. Idempotent: returns success even when the user has no active alerts.

輸入參數confirm必填

job_alert_list

List job alerts

Lists the authenticated user's job alerts across all subscription sources (regular, company page, MCP). **Input:** - `status`: Filter by status — one of pending, active, unsubscribed (optional, default: all statuses) - `limit`: Number of results to return (default 20, max 50) - `offset`: Number of results to skip (default 0) **Output:** Returns the user's job alerts with pagination info and a summary of the underlying job search (query, location, company where available).

輸入參數limitoffsetstatus

roles_lookup

Look up roles

Matches the user's own words for the work they want against FoundRole's role list and returns up to 5 roles with open jobs, each with its number of open jobs in the place's state or country, most jobs first, plus the role already saved on the account. It runs no job search and changes nothing on the account. jobs_search returns the jobs for a role.

輸入參數words必填location

profile_role_set

Save the role I am looking for

Saves the one role the user said they are looking for on an account that has no role yet, creating its profile when it has none. Recommendations then show that role's newest jobs in the account's place, and later searches with no title search exactly that role. The FoundRole search panel calls it when the user picks a role there; a role the user names in the chat is saved the same way. It saves only a role the user chose, not a guess from their words. On an account that already has another role it changes nothing and names the saved role; profile_role_replace replaces it.

輸入參數career_profile_id必填

profile_role_replace

Change the role I am looking for

Replaces the roles saved on the user's FoundRole account with the one role the user chose. The previous roles are removed from the account, including a role taken from the user's resume. Recommendations then show the new role's newest jobs in the account's place, and later searches with no title search exactly that role. For an account with no role yet, profile_role_set saves one without removing anything.

輸入參數career_profile_id必填

jobs_recommendations

Recommend jobs for my profile

Returns the authenticated user's personalized job recommendations built from their resume, skills, target roles, and preferred location. Results are ranked by fit, may include related roles, and carry the same salary, match, H-1B, and job-trust insight payload used by job search. The search filters and sort parameters apply to this personalized feed too. One call returns one answer: there is no next page, and the response links to the same feed on the FoundRole website. An explicit query for a different or unrecognized profession uses the same general job search as jobs_search, preserving the query and filters instead of substituting the profile's target roles. Without a location the feed covers the place saved on the account, and the response names that place as searchedPlace. A processing status means the personalized feed is still being prepared; a later call returns the completed feed.

輸入參數sortqueryradiusremotecompanybenefitslocationcompanieseducationmin_matchwork_modesbonuses_only另有 7 個

jobs_details

Get job details

Fetches full details for one job by the `id` returned from jobs_search — the deeper view behind a search result. **Input:** - `job_id`: The exact ID string from the `id` field of a `jobs_search` result. - `result_item_id`: The matching occurrence ID from that result's `resultItemId` field, when available. **Output:** Complete job details: description, skills, benefits, requirements, salary benchmark, resume match, H-1B and E-Verify signals, job-trust analysis, and application link. A posting that passed the fully-remote check carries `remoteCheck`: the posting lines that make the role remote and where the employee may work from, or an unknown scope when the posting does not say. Personalized and extended insight fields follow the authenticated user's current entitlements.

輸入參數job_id必填result_item_id

jobs_analyze_external

Analyze a job from another site

Analyzes one job found outside FoundRole using the authenticated user's FoundRole profile and the same signals used for FoundRole jobs: resume match, missing skills, H-1B sponsorship history, E-Verify, ghost-job risk, posted compensation, and market salary estimates. Use tracker_add_external only when the user asks to save without analysis. The input represents the direct posting URL and all job content already available in the conversation. The five text identity fields are required; every structured fact field is optional, with a fact the source does not state simply omitted (or null). The optional `client_extraction` object carries evidence-backed skills, technology, benefits, bonuses, seniority, industry, management, clearance, visa, and remote-scope labels when source excerpts for them exist. FoundRole validates the evidence, stores the client extraction separately, derives missing deterministic facts, and reports which values were provided, derived, accepted, rejected, or remain unknown. The output includes `comparisonRef`; retain it exactly for a later jobs_compare call. The analysis is a decision aid, not a guarantee about sponsorship, legitimacy, compensation, or hiring outcome.

輸入參數url必填posted_attitle_name必填description必填salary_typecompany_name必填salary_valuelocation_name必填employment_typesalary_currencysalary_max_valuesalary_min_value另有 4 個

jobs_compare

Compare jobs

Compares 2 to 4 jobs side by side using the same FoundRole analysis fields: resume match, missing skills, H-1B and E-Verify signals, ghost-job risk, posted pay, and market salary estimates. `comparison_refs` accepts exact FoundRole job IDs returned by jobs_search and exact external `comparisonRef` URLs returned by jobs_analyze_external. Analyze each outside job first; a bare URL that has not been analyzed cannot be compared because FoundRole does not have its posting facts. Preserve every reference exactly, keep the user's requested order, and do not send duplicates.

輸入參數comparison_refs必填

resume_check

Check how hiring software reads a resume

Checks resume text for machine-readable sections, recognized skills, contact channels, a headline, and experience date ranges using FoundRole's deterministic parser. Pass resume_text to check plain text supplied in the conversation. If resume_text is omitted, the tool reads the previously extracted text of the primary resume in the authenticated user's FoundRole account. It returns a readability band (strong, good, partial) and the single biggest loss. Depending on the account it also returns additional findings and the parsed facts (headline, years of experience, sections, contact channels, recognized skill count). Each finding includes a suggested fix. A saved report link is returned only when the account already has access to that report. This is FoundRole's text-readability assessment, not a test against a named ATS, a hiring prediction, or a file-layout check. Pasted text does not preserve the original PDF or DOCX layout. The tool does not upload a file, create a saved resume or report, change the user's profile, submit an application, or fetch URLs found in the text. It may return a FoundRole website link; opening that link and uploading or editing a resume are separate user actions. Operational request records and diagnostics may retain tool inputs; this tool does not promise that submitted text is never stored.

輸入參數resume_text

knowledge_topics

List career guide topics

Lists what FoundRole's published career-guidance blog covers: every category and the most-used tags, each with its published-article count and url, plus the total number of published articles. This is the factual source for questions about the blog's topics or overall coverage. It takes no parameters and reflects the live published corpus. It does not retrieve articles for a specific question; knowledge_search does that.

無需輸入參數。

版本歷史

8
  1. v1.1.19最新Nov 1, 2026
  2. v1.1.18Oct 1, 2026
  3. v1.1.17Sep 29, 2026
  4. v1.1.16Sep 27, 2026
  5. v1.1.15Sep 27, 2026
  6. v1.1.13Sep 27, 2026
  7. v1.1.12Sep 26, 2026
  8. v1.1.11Sep 16, 2026

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Claude 整合