Skip to main content
Glama

Apply to Job

getmattered_apply
Destructive

Apply to one job on the user's behalf. Pass job_match_id from getmattered_get_matches, or job_url for any posting. GetMattered rewrites the resume and cover letter for that role, then completes and submits the application on the employer's own hiring system (Greenhouse, Lever, Ashby, Workday, Personio, Teamtailor, SmartRecruiters, Recruitee, Breezy, Workable, Rippling, BambooHR, JazzHR, softgarden, Jobvite, Gem, Zoho Recruit, Dayforce, Hireology, Dover, Oracle Recruiting Cloud, Paylocity, Oracle Taleo, UKG Pro Recruiting, ADP, Avature, CareerPlug, Pinpoint, Manatal, and Eightfold). mode "auto" submits with no review step; mode "review" prepares everything and holds it for the user's approval; omit mode to follow the review setting on the user's account. The mode applies to this one application and never changes the user's settings. Spends one of the user's applications and AI credits, and a submitted application cannot be withdrawn, so apply only to jobs the user chose. Returns the application id and a tracking link; when the job already has an application, that one comes back with alreadyExisted true instead of a second. On a timeout or an error, call getmattered_get_applications before retrying, and never re-apply by job_url to a job already applied to by job_match_id. Do not use it to save or skip a match; use getmattered_triage_matches. Next: getmattered_get_applications to follow it, and getmattered_review_application if it waits for approval.

Input Schema

NameRequiredDescriptionDefault
modeNo"auto" submits with no review step. "review" holds the prepared application for the user's approval. Omit to follow the user's account setting. Applies to this application only.
job_urlNoURL of any job posting to apply to (e.g. "https://boards.greenhouse.io/acme/jobs/123"). Pass this OR job_match_id.
job_match_idNoThe job_match_id of a match from getmattered_get_matches (e.g. 48213). Pass this OR job_url.

Output Schema

NameRequiredDescriptionDefault
jobUrlYes
statusYesOur own record. Never proof the employer received it.
companyYes
outcomeYesstarted: a new application; already_in_progress: this job already had one (alreadyExisted); not_confirmed: the user declined, nothing was sent.
jobTitleYes
jobMatchIdYes
trackingUrlYes
recordedModeYes
applicationIdYesThe application to follow with getmattered_get_applications. Null only when nothing was started.
requestedModeYes
alreadyExistedYesTrue when this job already had an application, which is returned instead of a second one.
preparationStatusYes
preparedUnderFreeWatchYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Discloses costs (one application plus AI credits), irreversibility ('a submitted application cannot be withdrawn'), duplicate handling (returns the existing application with alreadyExisted true), and that mode is per-call and never mutates account settings. That goes well beyond the destructiveHint/openWorldHint annotations, which only flag risk in the abstract.

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

Conciseness3/5

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

Scoping, cost, and mode semantics are front-loaded, which is good, but the 30-name ATS enumeration (Greenhouse, Lever, Ashby, Workday, ... Eightfold) consumes a large share of the text without changing how an agent calls the tool. The remaining prose is dense and close to run-on, so size is only partly justified.

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?

For a destructive, open-world mutation with 3 optional params and an output schema, this covers what matters: credit spend, irreversibility, duplicate resolution, per-call mode scope, and a retry/recovery path after timeouts. Nothing an agent needs to call it safely is missing.

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 the baseline is 3, but the description adds real meaning: job_match_id must come from getmattered_get_matches while job_url accepts any posting, and the two are alternatives. The mode default ('omit to follow the review setting') and its single-application scope are also explained in prose.

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?

States a specific verb and resource: 'Apply to one job on the user's behalf,' and scopes it to single-job application rather than bulk flow. It names getmattered_triage_matches as the alternative for saving/skipping, but never explicitly distinguishes itself from the sibling getmattered_auto_apply, which an agent could easily confuse with this tool.

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?

Gives explicit when-to-use ('apply only to jobs the user chose'), explicit when-not ('Do not use it to save or skip a match; use getmattered_triage_matches'), and follow-up routing to getmattered_get_applications and getmattered_review_application. The error/timeout path ('call getmattered_get_applications before retrying') is spelled out rather than inferred.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.