Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

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

REMOTE · WWW.FOUNDROLE.COM · 2 COMPONENTS · SCANNED AUG 3

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

+6 this week 79 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 6208 tokens (~310/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management6
  • Stability check failed: schema churn in the 8 days we've observed: 4 tool removals, 0 breaking changes, 0 auth/transport breaks, 4 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · www.foundrole.com

# add to Claude Code
claude mcp add --transport http foundrole-jobs-mcp-proxy https://www.foundrole.com/mcp
# ~/.codex/config.toml
[mcp_servers.foundrole-jobs-mcp-proxy]
url = "https://www.foundrole.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "foundrole-jobs-mcp-proxy": {
      "type": "remote",
      "url": "https://www.foundrole.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add foundrole-jobs-mcp-proxy --url https://www.foundrole.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  foundrole-jobs-mcp-proxy:
    url: "https://www.foundrole.com/mcp"
// mcp.json
{
  "mcpServers": {
    "foundrole-jobs-mcp-proxy": {
      "type": "http",
      "url": "https://www.foundrole.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 6.

  • 31 Jul 26 +5
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 73

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://www.foundrole.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=foundrole.com CN=WE1,O=Google Trust Services,C=US 6 Jun 2026 4 Sept 2026 ECDSA 256 ECDSA-SHA256 49de413082239dae0e6154fe016e2feb
SANs: foundrole.com, *.foundrole.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of www.foundrole.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
foundrole.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://www.foundrole.com/.well-known/oauth-protected-resource/mcp"

Bearer resource_metadata="https://www.foundrole.com/.well-known/oauth-protected-resource/mcp"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Protected resource metadata

Document https://www.foundrole.com/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://www.foundrole.com/mcp
Authorisation server https://www.foundrole.com
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.foundrole.com/mcp Verified 200
http (plaintext) http://www.foundrole.com/mcp HTTPS enforced 301 https://www.foundrole.com/mcp
MCP tools — 20 exposed · ~5,560 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
job_alert_list ~188

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). Each response includes a system_instruction describing how to present the results for the current client.

NameTypeReqDescription
limitintegerNumber of results to return (default 20, max 50)
offsetintegerNumber of results to skip (default 0)
statusstringFilter by status: pending, active, unsubscribed
NameTypeReqDescription
frequenciesarray
hasMoreboolean
jobAlertsarray
totalCountinteger

No examples provided.

job_alert_subscribe ~192

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 — 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.

NameTypeReqDescription
frequencystringAlert frequency: daily, weekly, monthly (defaults to "weekly")
job_search_idstringyesJob search UUID or composite job id ("seo_id--job_search_id") from jobs_search results
NameTypeReqDescription
jobAlertobject

No examples provided.

job_alert_unsubscribe ~140

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.

NameTypeReqDescription
job_search_idstringyesJob search UUID or composite job id ("seo_id--job_search_id") from jobs_search results
NameTypeReqDescription
messagestring
successbooleanyes

No examples provided.

job_alert_unsubscribe_all ~128

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.

NameTypeReqDescription
confirmbooleanyesSet to true to confirm unsubscribing from every alert; the call is rejected otherwise
NameTypeReqDescription
messagestring
successbooleanyes

No examples provided.

jobs_analyze_external ~598

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.

NameTypeReqDescription
client_extractionobject|nullEvidence-backed facts extracted by the client model from the posting; non-null evidence is a short source excerpt rather than an inference. Fields absent from the source are omitted or null.
company_namestringyesCompany name from the posting
descriptionstringyesComplete posting text available in the conversation; a source summary is valid only when no fuller posting text is available
education_requirementsarray|nullEducation requirements: no_requirements, high_school, associate_degree, bachelor_degree, professional_certificate, postgraduate_degree
employment_typearray|nullEmployment types: full_time, part_time, contractor, temporary, intern, volunteer, per_diem, other
experience_monthsinteger|nullMinimum required experience in months, when stated
location_namestringyesLocation text from the posting, including Remote when stated
posted_atstring|nullPosting date as ISO 8601, when the source states it
salary_currencystring|nullISO 4217 salary currency code, when stated
salary_max_valuenumber|nullSalary range maximum, when stated
salary_min_valuenumber|nullSalary range minimum, when stated
salary_typestring|nullSalary period: year, month, week, day, hour
salary_valuenumber|nullSingle salary amount, when the posting gives one figure instead of a range
title_namestringyesJob title from the posting
urlstringyesDirect URL of the specific job posting; a company homepage is invalid
work_location_typestring|nullWork arrangement: on_site, remote, hybrid
NameTypeReqDescription
clientExtractionobject|nullyes
derivedFieldsarrayyes
jobsarrayyes
modestringyes
providedFieldsarrayyes
statusOrderarrayyes
trackerWebUrlstringyes
unknownFieldsarrayyes

No examples provided.

jobs_compare ~152

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.

NameTypeReqDescription
comparison_refsarrayyesTwo to four exact FoundRole job IDs or external comparisonRef URLs
NameTypeReqDescription
jobsarrayyes
modestringyes
statusOrderarrayyes
trackerWebUrlstringyes

No examples provided.

jobs_details ~134

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. **Output:** Complete job details: description, skills, benefits, requirements, salary benchmark, resume match, H-1B and E-Verify signals, job-trust analysis, and application link. Personalized and extended insight fields follow the authenticated user's current entitlements.

NameTypeReqDescription
job_idstringyesThe unique identifier of the job from jobs_search results
NameTypeReqDescription
jobobject
statusOrderarray
trackedJobobject|null
trackerWebUrlstring

No examples provided.

jobs_recommendations ~121

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. A processing status means the personalized feed is still being prepared; a later call returns the completed feed. Page numbers fetch additional recommendations from the same feed.

NameTypeReqDescription
locationstringOptional preferred location name or slug
pageintegerRecommendation page number
NameTypeReqDescription
feedKindstring
feedStatusstring
jobSearchIdstring|null
jobsarray
nextPageinteger|null
profileSetupStatestring|null
profileSetupUrlstring|null
revalidatingboolean
statusOrderarray
totalCountinteger
trackerWebUrlstring

No examples provided.

jobs_search ~552

Searches a database for real-time job listings matching the user's criteria. The query is the full job title or role: "Ruby Developer" or "Ruby on Rails Engineer" rather than a bare keyword like "Ruby", which is too broad and matches unrelated fields. Results may be filtered by location, company, and how recently a job was posted. Each result carries an `id`; jobs_details takes that `id` and returns the job's full description, requirements, and benefits. The response also carries a `nextCursor` for the next page of results; a follow-up page is fetched by passing only that cursor, with no other search parameters. Authenticated results include resume match data when a profile is available. Job details include FoundRole salary benchmarks, H-1B sponsorship signals, E-Verify status, and job-trust analysis; list-level employer signals follow the user's current entitlements. Advanced constraints in the user's request — remote-only work, H1B sponsorship, a minimum salary, hiding risky postings, a minimum match score — are the search parameters remote, h1b_sponsors_only, salary_floor, hide_low_quality, and min_match. The search enforces only constraints passed as parameters; a constraint left out of the call is not applied to the result set. FoundRole Pro accounts receive the screened list; other accounts receive the full list and the response reports that the advanced filters were not applied. Each response includes a system_instruction describing how to present the results for the current client.

NameTypeReqDescription
companystringThe official company name
cursorstringPagination cursor. Treat as an opaque string. COPY EXACTLY.
h1b_sponsors_onlybooleanAdvanced filter: only companies known to sponsor H1B visas.
hide_low_qualitybooleanAdvanced filter: hides postings with a risky ghost grade (D/F); ungraded postings stay.
locationstringGeographic location (e.g., 'Boston, MA')
min_matchintegerAdvanced filter: minimum personal FoundRole match score (0-100); needs a resume on the account.
posted_days_agointegerNumber of days ago to search for jobs (1-365)
querystringThe full job title or skill (e.g., "Ruby Developer", NOT just "Ruby")
remotebooleanAdvanced filter: only remote-eligible jobs (respects the location/region scope).
salary_floorintegerAdvanced filter: minimum annualized salary in USD; a posting qualifies when the midpoint of its pay band reaches the floor. Jobs without salary data are dropped.
NameTypeReqDescription
feedKindstring
feedStatusstring|null
jobSearchIdstring|null
jobsarray
lowRelevanceNoticestring|null
proFilterUpsellUrlstring|null
profileSetupStatestring|null
profileSetupUrlstring|null
revalidatingboolean
statusOrderarray
trackerWebUrlstring

No examples provided.

knowledge_search ~398

Searches FoundRole's published content by semantic similarity and returns the most relevant sources for a job-search question: career-guidance blog articles plus FoundRole site pages that describe the product's features (job tracker, Pro plan and pricing, H1B salary data, AI job search) and industry/sector career landings. Each article carries a title, url, summary, a content excerpt, publication date, and tags; each page carries a title, url, description, and its FAQ entries — enough material to answer the question and link the source. Three optional facets add further result groups: company returns FoundRole's employer profile pages matching that company name; job_title and location return the live job-listing landing pages for that role and place, with open-job counts. The facets describe what the user is asking about — a company mentioned only in passing does not need the company facet. Returns empty groups when nothing is relevant rather than padding with off-topic content. Results are the closest matches to the given question, not an index of the site's full coverage; questions about overall topic coverage are answered by knowledge_topics, which lists the blog's categories and tags with article counts. It does not search job listings; jobs_search covers live roles. Each response includes a system_instruction describing how to present the sources.

NameTypeReqDescription
companystringA company name, when the question is about that employer — returns FoundRole company profile pages
job_titlestringA job title or role, when the question is about openings for it — returns job-listing landing pages
limitintegerMaximum articles to return (default 5)
locationstringA city, state, or country refining job_title, or alone when the question is about jobs in that place
querystringyesThe career, job-search, or FoundRole product question to answer
NameTypeReqDescription
articlesarray
companyPagesarray
landingPagesarray
pagesarray
proUrlstring|null
profileSetupUrlstring|null
system_instructionstring
totalCountinteger

No examples provided.

knowledge_topics ~92

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
categoriesarray
system_instructionstring
tagsarray
totalArticlesinteger

No examples provided.

reminder_delete ~110

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.

NameTypeReqDescription
tracked_job_idstringyesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.

reminder_list ~81

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.

NameTypeReqDescription
limitintegerNumber of results to return (default 20, max 50)
NameTypeReqDescription
hasMoreboolean
totalCountinteger
trackedJobsarray

No examples provided.

reminder_set ~201

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.

NameTypeReqDescription
remind_atstringyesISO 8601 datetime, e.g. "2025-03-15T10:00:00Z" (must be in the future)
tracked_job_idstringyesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.

tracker_add ~382

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.

NameTypeReqDescription
job_idstringyesThe job ID from jobs.search results
notesstringNotes about this job
statusstringInitial tracking status: saved, applied, interviewing, offered, archived
sub_statusstringSub-status within the main status, valid only for that status — saved: interested, researching_company, preparing_application, ready_to_apply; applied: application_submitted, followed_up; interviewin…
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.

tracker_add_external ~1,120

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, pos…

NameTypeReqDescription
client_extractionobject|nullEvidence-backed facts extracted by the client model from the posting; non-null evidence is a short source excerpt rather than an inference. Fields absent from the source are omitted or null.
company_namestringyesCompany name from the posting
descriptionstringyesComplete posting text available in the conversation; a source summary is valid only when no fuller posting text is available
education_requirementsarray|nullEducation requirements: no_requirements, high_school, associate_degree, bachelor_degree, professional_certificate, postgraduate_degree
employment_typearray|nullEmployment types: full_time, part_time, contractor, temporary, intern, volunteer, per_diem, other
experience_monthsinteger|nullMinimum required experience in months, when stated
location_namestringyesLocation text from the posting, including Remote when stated
notesstringNotes about this job
posted_atstring|nullPosting date as ISO 8601, when the source states it
salary_currencystring|nullISO 4217 salary currency code, when stated
salary_max_valuenumber|nullSalary range maximum, when stated
salary_min_valuenumber|nullSalary range minimum, when stated
salary_typestring|nullSalary period: year, month, week, day, hour
salary_valuenumber|nullSingle salary amount, when the posting gives one figure instead of a range
statusstringInitial tracking status: saved, applied, interviewing, offered, archived
sub_statusstringSub-status within the main status, valid only for that status — saved: interested, researching_company, preparing_application, ready_to_apply; applied: application_submitted, followed_up; interviewin…
title_namestringyesJob title from the posting
urlstringyesDirect URL of the specific job posting; a company homepage is invalid
work_location_typestring|nullWork arrangement: on_site, remote, hybrid
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.

tracker_list ~164

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. Each response includes a system_instruction describing how to present the results for the current client.

NameTypeReqDescription
limitintegerNumber of results per page (default 20, max 50)
offsetintegerNumber of results to skip (default 0)
statusstringFilter by status: saved, applied, interviewing, offered, archived
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.

tracker_remove ~110

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.

NameTypeReqDescription
tracked_job_idstringyesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.

tracker_update ~350

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.

NameTypeReqDescription
deadlinestringDeadline date in ISO 8601 format
notesstringNotes about this job
reminder_atstringISO 8601 datetime, e.g. "2025-03-15T10:00:00Z" (must be in the future, or empty to clear)
salary_offerednumberSalary amount
salary_offered_typestringSalary type: year, month, week, day, hour
tagsstringComma-separated tags (e.g., "remote,startup,tech")
tracked_job_idstringyesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.

tracker_update_status ~347

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.

NameTypeReqDescription
statusstringyesNew status: saved, applied, interviewing, offered, archived
sub_statusstringSub-status within the main status, valid only for that status — saved: interested, researching_company, preparing_application, ready_to_apply; applied: application_submitted, followed_up; interviewin…
tracked_job_idstringyesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)
NameTypeReqDescription
hasMoreboolean
statusOrderarray
subStatusOrderobject
totalCountinteger
trackedJobobject
trackedJobsarray
trackerWebUrlstring

No examples provided.