Skip to main content
Glama

ATSPrep

Draft a cover letter

draft_cover_letter
Read-onlyIdempotent

Draft a cover letter from the user's resume and the job posting with fixed rules: name, contact details and up to two results from the resume, the job title and top keywords from the posting. Facts that are missing show as [square-bracket] gaps for the user to fill, never as stand-ins. Returns the letter, the gaps and a checklist.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whyNoOptional. Why this company, in the user's words.
nameNoOptional. Overrides the name read from the resume.
roleNoOptional. The job title they are applying for.
emailNoOptional.
phoneNoOptional.
styleNoclassic (default), direct, or career-change.
companyNoOptional. The company they are applying to.
resultsNoOptional. One or two real results, one per line.
resume_textNoThe whole resume as plain text, one heading, role or bullet per line.
current_titleNoOptional. The user's current or last job title.
hiring_managerNoOptional. The hiring manager's name, if known.
job_descriptionNoThe full job posting as plain text, including its requirements (120–20,000 characters). For a link, call fetch_job_post first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare this as a read-only, idempotent, non-destructive generation, so safety is covered. The description goes further by disclosing output composition (letter, gaps, checklist) and a non-obvious behavior: missing facts become [square-bracket] gaps and are never replaced with invented stand-ins, which is meaningful for trusting the result.

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?

Two sentences, front-loaded with the action and then the rule set; the long colon-delimited clause is dense but each element carries information. Slightly heavy for a description, but no filler.

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?

There is no output schema, so the description correctly carries the return-value burden ('Returns the letter, the gaps and a checklist'). With 12 parameters and 0 required, the description implies resume_text and job_description are needed even though the schema marks them optional — a minor ambiguity, but otherwise complete.

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 description coverage is 100%, so the 3 baseline applies, but the description adds real semantic mapping: which fields feed which letter sections (name, contact details, up to two results, job title, top keywords), clarifying the purpose of the otherwise vague 'results', 'role' and 'why' parameters.

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?

States a specific verb and artifact ('Draft a cover letter') plus its inputs ('from the user's resume and the job posting'), which cleanly separates it from siblings like draft_resignation_letter and tailor_resume. It also enumerates the fixed content rules, so the agent knows exactly what the tool will produce.

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 implies the usage context (needs a resume and a job posting) and the schema adds a routing hint ('For a link, call fetch_job_post first'), but there is no explicit when-to-use/when-not guidance or comparison to siblings such as tailor_resume. Adequate but leaves routing to inference.

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.