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

MCP server for AI job search — find jobs, track applications, get alerts. Claude, ChatGPT, Cursor.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-foundrole-jobs-mcp-proxy
- Repository: https://github.com/foundrole/jobs-mcp-proxy
- Website: https://www.foundrole.com/ai-search-mcp

## Install
- Command: `npx -y @foundrole/ai-job-search-mcp`
- Endpoint: https://www.foundrole.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @foundrole/ai-job-search-mcp v1.1.9
- Remote endpoint: https://www.foundrole.com/mcp

## Tools
- job_alert_list - Lists the authenticated user's job alerts across all subscription sources (regular, company page, MCP).

**Input:**
- `status`: Filter by status — "active", "pending", or "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).
 Endpoint: https://www.foundrole.com/mcp
- job_alert_subscribe - 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").
- `frequency`: Alert frequency — "daily", "weekly", or "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.
 Endpoint: https://www.foundrole.com/mcp
- job_alert_unsubscribe - 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.
 Endpoint: https://www.foundrole.com/mcp
- jobs_details - Fetches full details for a specific job vacancy.

**When to use:**
Use this tool ONLY when the user explicitly asks for more details about a specific job found in the `jobs.search` results.

**Input:**
- `job_id`: The exact ID string from the `id` field in the `jobs.search` response.

**Output:**
Complete job details including description, skills, benefits, requirements, salary, and application link.
 Endpoint: https://www.foundrole.com/mcp
- jobs_search - Searches a database for real-time job listings.

**Function:** Call this tool to find jobs based on user criteria.

**CRITICAL SEARCH RULES:**
- **Use the FULL job title/role as the query.**
- BAD: Query "Ruby" (Too broad, finds nurses, jewelry, etc.)
- GOOD: Query "Ruby Developer" or "Ruby on Rails Engineer"
- If user says "Find ruby developer jobs", query MUST be "Ruby Developer".

**OUTPUT & USAGE:**
- The output includes a list of jobs with an `id` field for each job.
- **To get full details** about a specific job (description, requirements, benefits, etc.), use the `jobs.details` tool with the job's `id` value.
- Example: If a job has `id: "software-engineer-123"`, call `jobs.details(job_id: "software-engineer-123")` to fetch complete details.

**RENDERING RULES:**
- After receiving results, STOP calling tools.
- ALWAYS render a **Markdown Table**.
- The table MUST include an "Apply" column using the job's `link` URL.

**PAGINATION RULES:**
- Initial Search: { query: "...", location: "..." }
- Next Page: Use ONLY { cursor: "..." }.
 Endpoint: https://www.foundrole.com/mcp
- reminder_delete - Deletes a reminder from a tracked job.

**Input:**
- `tracked_job_id`: The tracked job ID (required)

**Output:**
Returns the updated tracked job with reminderAt cleared.
 Endpoint: https://www.foundrole.com/mcp
- reminder_list - 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.
 Endpoint: https://www.foundrole.com/mcp
- reminder_set - Sets a reminder for a tracked job. Sends a confirmation email with .ics calendar attachment.

**Input:**
- `tracked_job_id`: The tracked 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.
 Endpoint: https://www.foundrole.com/mcp
- tracker_add - Tracks a job in the user's job tracker.

**Input:**
- `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
- `notes`: Optional notes about the job
- `restore_removed`: Set to true to restore a previously removed tracked job

**Output:**
Returns the tracked job with its details, or an error if already tracked.
If the job was previously removed, returns `wasRemoved: true` with instructions.
 Endpoint: https://www.foundrole.com/mcp
- tracker_list - 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 with pagination info.
 Endpoint: https://www.foundrole.com/mcp
- tracker_remove - Removes a job from the user's job tracker.

**Input:**
- `tracked_job_id`: The tracked job ID (required)

**Output:**
Confirms the job was removed from tracking.
 Endpoint: https://www.foundrole.com/mcp
- tracker_update_status - Updates the status of a tracked job.

**Input:**
- `tracked_job_id`: The tracked job ID (required)
- `status`: New status: saved, applied, interviewing, offered, archived (required)
- `sub_status`: Sub-status within the main status (optional)

**Output:**
Returns the updated tracked job.
 Endpoint: https://www.foundrole.com/mcp
- tracker_update - Updates details of a tracked job (notes, deadline, salary, tags).

**Input:**
- `tracked_job_id`: The tracked 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.
 Endpoint: https://www.foundrole.com/mcp

## Resources
Not captured

## Prompts
- find_jobs_for_me - Search FoundRole for jobs matching a role, location, and seniority, rendered as a ranked shortlist. Arguments: role, location, seniority, remote
- review_my_applications - Review the user's tracked job applications and suggest next actions for each.

## Metadata
- Owner: io.github.foundrole
- Version: 1.1.9
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Jun 3, 2026
- Source: https://registry.modelcontextprotocol.io
