Skip to main content
Glama

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

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 15 of 15 tools scored. Lowest: 3.6/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: alerts, jobs search/details, tracker CRUD, status updates, reminders, and external job addition. No significant overlap; tools like tracker_add and tracker_add_external are clearly separated by the source of the job.

Naming Consistency5/5

All tools follow a consistent pattern: domain prefix (job_alert, jobs, reminder, tracker) followed by an underscore and a verb (list, subscribe, unsubscribe, details, search, etc.). Even 'jobs_details' uses 'details' as a verb, maintaining the pattern.

Tool Count5/5

15 tools is well-scoped for a job search and application tracker. The number covers essential operations (search, view, track, alert, remind) without excess or deficiency.

Completeness4/5

The tool set covers the core lifecycle: searching jobs, viewing details, tracking jobs (CRUD plus status updates), setting reminders, and managing alerts. Missing explicit saved search management, but the core flow is complete and agents can work around minor gaps.

Available Tools

15 tools
job_alert_listA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (default 20, max 50)
offsetNoNumber of results to skip (default 0)
statusNoFilter by status: pending, active, unsubscribed

Output Schema

ParametersJSON Schema
NameRequiredDescription
hasMoreNo
jobAlertsNo
totalCountNo
frequenciesNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds context about pagination, search summary, and a system_instruction for result presentation, which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the purpose, and uses clear section headers for Input and Output. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 3 optional parameters and an existing output schema, the description adequately covers pagination, search summary, and system_instruction. No significant gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds default values for all parameters (e.g., status defaults to all statuses), which is not in the schema. This provides meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Lists the authenticated user's job alerts across all subscription sources' with a specific verb and resource. It distinguishes from sibling tools like job_alert_subscribe, jobs_details, and tracker tools by focusing on listing alerts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. The listing purpose implies use for viewing alerts, but no alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

job_alert_subscribeA
Idempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
frequencyNoAlert frequency: daily, weekly, monthly (defaults to "weekly")
job_search_idYesJob search UUID or composite job id ("seo_id--job_search_id") from jobs_search results

Output Schema

ParametersJSON Schema
NameRequiredDescription
jobAlertNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses idempotent behavior ('updates existing alert without duplicate'), return structure (id, status, frequency), and mutation nature beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise with clear Input/Output sections. Every sentence adds value, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all necessary aspects: auth (authenticated user), input options, idempotency, output shape. No gaps given tool simplicity and output schema presence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100%, description adds clarity for job_search_id (accepts UUID or composite ID from jobs_search/jobs_details) and confirms frequency defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'subscribes' and resource 'job alerts for a specific saved job search'. Distinct from siblings like job_alert_list and job_alert_unsubscribe.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides guidance on accepted input formats (UUID or composite ID) and idempotency. Does not explicitly exclude alternatives but context makes usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

job_alert_unsubscribeA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_search_idYesJob search UUID or composite job id ("seo_id--job_search_id") from jobs_search results

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds idempotency behavior ('returns success even when not subscribed') beyond the annotations (destructiveHint=true). This clarifies the non-error behavior on redundant calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with separate sections for Input and Output, and no extraneous information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description completes the picture by explaining input format and idempotency. It is sufficiently detailed for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the parameter job_search_id in detail, specifying that it accepts either a UUID or a composite ID from jobs_search/jobs_details with format hint. This adds significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'unsubscribes' and the resource 'job alerts for a specific job search'. It distinguishes itself from sibling tools like job_alert_subscribe and job_alert_list by focusing on the unsubscription action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool over alternatives, such as job_alert_unsubscribe_all. It implies usage when unsubscribing from a specific job search, but lacks direct contrast with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

job_alert_unsubscribe_allA
DestructiveIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmYesSet to true to confirm unsubscribing from every alert; the call is rejected otherwise

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds context about idempotency and the confirm guard beyond annotations, which already indicate destructive and idempotent hints. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with three clear paragraphs covering purpose, input, and output, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers behavior, input constraints, and output format. Could mention error cases or irreversibility, but sufficient for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description adds purpose of confirm parameter as a guard against unintended bulk unsubscribe, providing extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it unsubscribes from all job alerts across all subscription sources, using a specific verb and resource, and distinguishes from siblings like job_alert_unsubscribe.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the confirm guard and idempotency but does not explicitly state when to use this tool versus single unsubscribe options, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jobs_detailsAInspect

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, and application link.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe unique identifier of the job from jobs_search results

Output Schema

ParametersJSON Schema
NameRequiredDescription
jobNo
trackedJobNo
statusOrderNo
trackerWebUrlNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description implies a read-only operation ('fetches'), but annotations set readOnlyHint=false, indicating potential side effects. No disclosure of such effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two-section structure (input/output) with front-loaded purpose. Every sentence is informative and necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Single parameter clearly explained, output schema exists (so return structure is covered), and behavior is fully described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers parameter with description; description adds context: 'exact ID string from the `id` field of a `jobs_search` result'. Adds value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it fetches full details for a single job by ID, and distinguishes from the search sibling by noting it provides 'the deeper view behind a search result'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes when to use (after obtaining an ID from jobs_search) and the source of the ID. No explicit when-not or alternatives, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reminder_deleteA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tracked_job_idYesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackedJobNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true and readOnlyHint=false. The description adds that it returns the updated tracked job with reminderAt cleared, which is valuable behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief, front-loaded with the action, and structured with Input/Output sections. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, output schema exists), the description covers the essential behavior. It could mention error cases or prerequisites, but it's adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the description repeats the same text for tracked_job_id, so it adds no new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with 'Deletes a reminder from a tracked job,' clearly stating the verb and resource. It distinguishes from sibling tools like reminder_set and reminder_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly says when to use (to delete a reminder) and provides a note on the ID source to avoid confusion, but does not explicitly state when not to use or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reminder_listA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (default 20, max 50)

Output Schema

ParametersJSON Schema
NameRequiredDescription
hasMoreNo
totalCountNo
trackedJobsNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds valuable context: results are ordered by soonest reminder time and only include jobs with active reminders. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and well-structured, with a header, input section, and output section. It is front-loaded with the core purpose. Could be slightly more structured but no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description need not explain return values. Parameters are fully covered by schema. The tool is simple with one optional parameter and the description provides sufficient context for usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema description for the limit parameter matches the tool description. The description adds no additional meaning beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'lists' and the resource 'tracked jobs that have reminders set', with ordering by reminder time. It distinguishes from sibling tools like reminder_delete and tracker_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for what the tool does but does not explicitly mention when to use it versus alternatives like tracker_list or reminder_set. No exclusions or comparisons are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reminder_setA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
remind_atYesISO 8601 datetime, e.g. "2025-03-15T10:00:00Z" (must be in the future)
tracked_job_idYesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackedJobNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides behavioral details beyond annotations, such as sending a confirmation email with .ics attachment and requiring a future datetime. It complements the destructiveHint annotation by clarifying the nature of the modification.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections for Input and Output, and is appropriately concise. Each sentence adds value, though the formatting could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations, input schema, and output schema present, the description covers the tool's behavior well. It explains the output returns the updated tracked job, which is sufficient given the context signals.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds value by explaining the tracked_job_id derivation from tracker_list output and providing an example format for remind_at, enhancing the schema's descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: setting a reminder for a tracked job, with specific details like sending a confirmation email with .ics attachment. It distinguishes from sibling tools like reminder_list and reminder_delete by focusing on creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does and lists required inputs, but does not explicitly state when not to use it or provide alternative tools. However, the purpose is clear enough for an agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tracker_addAInspect

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

  • notes: notes about the job

Returns the tracked job with its details, or an error if it is already tracked. A job that was previously removed from the tracker is restored with its earlier status and notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoNotes about this job
job_idYesThe job ID from jobs.search results
statusNoInitial tracking status: saved, applied, interviewing, offered, archived
sub_statusNoSub-status within the main status

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackedJobNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes beyond annotations by describing return behavior (tracked job details or error if already tracked) and restoration behavior for previously removed jobs, adding valuable context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with purpose first, then alternatives, then field list, then behaviors. Slightly verbose but no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Rich description covering purpose, usage, parameters, and behavioral details including error and restoration cases. Output schema exists, so return values are already documented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, baseline is 3. Description adds value by clarifying default status ('saved'), listing fields with brief explanations, and emphasizing the origin of job_id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool tracks a job from jobs_search results using its job_id, and distinguishes from the sibling tracker_add_external which handles jobs from the open web.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use this tool (jobs from jobs_search) and when to use tracker_add_external (jobs from open web with URL but no job_id), providing clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tracker_add_externalAInspect

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; the url is the posting's own page (a company homepage is not accepted) and the description is the posting's description as the source result provides it — a short summary from the result card is acceptable when no fuller text is available. The remaining structured fields describe the posting's salary, employment type, work-location type, education, and experience; each is optional and any that the posting states can be supplied. Skills, benefits, and bonuses are derived from the description and are not accepted as inputs.

Fields:

  • url: the job posting's direct URL (required; not a company homepage)

  • company_name: company name

  • title_name: job title

  • location_name: location, e.g. "New York, NY"

  • 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)

  • 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, postgraduate_degree

  • experience_months: minimum required experience in months (number)

  • status: initial tracking status (saved, applied, interviewing, offered, archived); defaults to "saved"

  • sub_status: sub-status within the main status

  • notes: notes about the job

Returns the tracked job, or an error if it is already tracked.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe job posting URL
notesNoNotes about this job
statusNoInitial tracking status: saved, applied, interviewing, offered, archived
sub_statusNoSub-status within the main status
title_nameYesJob title
descriptionYesThe posting's description from the source result; a short summary is acceptable
salary_typeNoOne of: year, month, week, day, hour
company_nameYesCompany name
salary_valueNoSingle salary figure when there is no range
location_nameYesLocation text, e.g. "New York, NY"
employment_typeNoArray of: full_time, part_time, contractor, temporary, intern, volunteer, per_diem, other
salary_max_valueNoSalary range maximum
salary_min_valueNoSalary range minimum
experience_monthsNoMinimum required experience in months
work_location_typeNoOne of: on_site, remote, hybrid
education_requirementsNoArray of: no_requirements, high_school, associate_degree, bachelor_degree, professional_certificate, postgraduate_degree

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackedJobNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that the tool saves a posting and returns the tracked job or an error if already tracked. Adds context beyond annotations: URL must be the posting's page (not homepage), description can be a short summary, skills/benefits/bonuses are derived and not accepted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with intro, usage note, then field list. Some redundancy (field descriptions repeated from schema) but overall efficient and clear. Slightly verbose but justified given parameter count.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all necessary context: what the tool does, when to use, parameter details, return value (tracked job or error). With 16 parameters, 5 required, and output schema present, the description is complete and comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds significant meaning beyond input schema descriptions. Examples: explains that url must be the posting's direct URL (not company homepage), description is from source result, skills/bonuses are not accepted, status defaults to 'saved'. This helps the agent provide correct inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool saves a job posting from the open web into the user's tracker. It distinguishes from tracker_add by specifying that tracker_add is for jobs from jobs_search results. The verb 'saves' and resource 'job posting' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool vs. tracker_add (if from jobs_search, use tracker_add). Also clarifies that jobs from elsewhere need no prior jobs_search call. Provides clear guidance on when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tracker_listA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results per page (default 20, max 50)
offsetNoNumber of results to skip (default 0)
statusNoFilter by status: saved, applied, interviewing, offered, archived

Output Schema

ParametersJSON Schema
NameRequiredDescription
hasMoreNo
totalCountNo
statusOrderNo
trackedJobsNo
trackerWebUrlNo
subStatusOrderNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, so the description does not need to reiterate safety. The description adds value by detailing pagination behavior (defaults and limits) and output structure (grouped by status with system_instruction), which are not covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with clear sections (Input, Output) and front-loaded purpose. Every sentence provides useful information without redundancy. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description need not detail return values. It summarizes output structure (grouped by status, system_instruction) and fully covers parameters. The description is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining the output (grouped by status, includes system_instruction) and reiterating parameter defaults and constraints clearly. This extra context justifies a score of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it 'lists the user's tracked jobs with optional filtering and pagination', using a specific verb and resource. It distinguishes itself from sibling tools like 'jobs_search' (which searches all jobs) and 'tracker_add' (which adds jobs) by focusing on listing tracked jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing tracked jobs with filtering and pagination. It does not explicitly state when not to use or alternatives, but the context of sibling tools (e.g., tracker_add, jobs_search) provides sufficient differentiation for a clear use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tracker_removeA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tracked_job_idYesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackedJobNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, and the description aligns by stating 'Removes'. It adds minimal extra context (output confirms removal) but does not disclose potential side effects, failure modes, or permissions required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and structured with Input/Output sections, but it unnecessarily repeats the parameter description from the schema. Otherwise, it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 1-parameter destructive tool with an output schema, the description adequately covers purpose and input. However, it lacks details on error cases, idempotency, or any constraints beyond the provided info.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description repeats the schema's parameter description without adding new semantic information. Thus, the description provides no added value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Removes') and target ('a job from the user's job tracker'), which is specific and distinguishes it from siblings like tracker_add or tracker_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on the input (`tracked_job_id` distinct from other IDs) and implies the tool is used after tracker_list to remove a tracked job. However, it does not explicitly state when not to use it or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tracker_updateA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoComma-separated tags (e.g., "remote,startup,tech")
notesNoNotes about this job
deadlineNoDeadline date in ISO 8601 format
reminder_atNoISO 8601 datetime, e.g. "2025-03-15T10:00:00Z" (must be in the future, or empty to clear)
salary_offeredNoSalary amount
tracked_job_idYesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)
salary_offered_typeNoSalary type: year, month, week, day, hour

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackedJobNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, and the description adds behavioral details such as the future date constraint for reminder_at and the ability to clear it with empty string. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections for input and output and bullet points for parameters. It is moderately concise, though it could be slightly tighter without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (7 parameters) and presence of an output schema, the description covers purpose, parameter semantics, and basic behavior. It lacks error handling or side effects, but is sufficient for typical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds value by clarifying the source of tracked_job_id and providing format examples (e.g., ISO 8601 for deadline and reminder_at). This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Updates details of a tracked job' and lists the updatable fields (notes, deadline, salary, tags). It distinguishes from sibling tools like tracker_update_status and tracker_add by specifying the resource and action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context for usage by explaining the tracked_job_id must come from tracker_list output and distinguishes it from other IDs. However, it does not explicitly state when to use this tool versus alternatives like tracker_update_status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tracker_update_statusB
Destructive
Inspect

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 (optional)

Output: Returns the updated tracked job.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYesNew status: saved, applied, interviewing, offered, archived
sub_statusNoSub-status within the main status
tracked_job_idYesThe tracked job ID — `trackedJobs[].id` from tracker_list output, distinct from `trackable.id` and `job.id` (required)

Output Schema

ParametersJSON Schema
NameRequiredDescription
trackedJobNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint: true, indicating mutation. The description adds that it returns the updated tracked job. While consistent, it provides minimal extra behavioral context beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with Input and Output sections, using bullet points. It is concise but could be more succinct without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool has no output schema, the description mentions the return value minimally. It does not address when to use this vs tracker_update, which is a nearby sibling. Overall adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description adds meaningful details: clarifies the source of tracked_job_id (distinct from other IDs), lists valid status values, and explains sub_status as optional. This enriches the schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Updates) and resource (status of a tracked job). It distinguishes from siblings by focusing on status update, but does not explicitly differentiate from tracker_update which might update other fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like tracker_update, tracker_add, or tracker_remove. The description lacks when-to-use or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources