Labsco
MCP SERVER · OFFICIAL PROJECT

FoundRole MCP

by foundrole

Search live openings, get each one checked for ghost-posting risk, real pay and visa sponsorship, and run the application tracker from the chat.

HR, Recruiting & WorkforceVerified
Summary
The checks arrive before you spend an evening on the application, not after.

Every posting comes back with the same three answers attached: whether the role has been reposted for months in a way that suggests nobody is actually hiring, what employers in that market really file for the pay, and whether the company has sponsored visas before, counted year by year from public filings. That is what makes the comparison tool worth using — two roles line up on fit, pay, sponsorship and posting risk at once, so the choice stops being a feeling. A posting from anywhere else gets the same treatment through jobs_analyze_external, which reads the text you paste rather than fetching the page. One thing to keep straight in a long session: the tracker tools want trackedJobs[].id from tracker_list, which is a different identifier from the job id a search returns.

What it is

FoundRole's own MCP server, connecting an assistant to its live job board, application tracker and career knowledge base. Sign-in is a browser OAuth flow — no key to paste or rotate — and it is the same account and data as the web app. Search, the checks on every posting, the tracker, reminders and alerts are free with no usage limits.

What you get
  • jobs_search wants a full job title rather than a bare keyword, filtered by location, company, salary and posting date, over listings taken from company career pages; jobs_details opens one result with description, skills, benefits, requirements and salary benchmarks
  • jobs_recommendations ranks openings against your resume, skills, target roles and preferred location
  • Every posting carries the same signals: resume match, missing skills, H-1B sponsorship history counted year by year from public filings, E-Verify, ghost-job risk, posted compensation and a market salary estimate
  • jobs_analyze_external runs those same checks on a posting from anywhere else — it reads the text you supply rather than crawling the site — and jobs_compare lines up 2 to 4 jobs side by side on the same fields
  • The tracker is a full board: tracker_add for a search result, tracker_add_external for a posting off the open web, tracker_list with filters and pagination, tracker_update for notes, deadline, salary and tags, tracker_update_status through saved, applied, interviewing, offered and archived, and tracker_remove
  • reminder_set sends a confirmation email with an .ics calendar attachment; reminder_list orders tracked jobs by reminder time, soonest first, and reminder_delete clears one
  • job_alert_subscribe turns a saved search into recurring email alerts, job_alert_list shows them across every subscription source with a status filter, job_alert_unsubscribe removes one, and job_alert_unsubscribe_all requires confirm set to true so a bulk unsubscribe cannot happen by accident
  • knowledge_search answers job-search questions from FoundRole's published content with sources linked, and knowledge_topics lists what the blog actually covers with per-category article counts
  • In clients that support MCP Apps, search results, job details and the tracker render as interactive panels rather than walls of text
Requirements

Point a client at https://www.foundrole.com/mcp over Streamable HTTP — most modern clients speak it natively and that is the entire configuration. Clients limited to stdio run npx @foundrole/ai-job-search-mcp, which bridges to the same endpoint and handles the sign-in. Authentication is OAuth 2.1 with PKCE over HTTPS with short-lived tokens, and no credential is shared with the AI client; some clients need a restart after you approve it. Search, the checks, the tracker, reminders and alerts are free without usage limits. Pro adds pre-filtering — remote only, sponsors only, a salary floor, risky postings hidden, a minimum match — and a free account still gets the full list back with a note that those filters were not applied.

Setup effort

One command — npx @foundrole/ai-job-search-mcp