Skip to main content
Glama

cover_letter_prepare

Generate the prompt for a tailored job cover letter, then write only the letter body and submit it.

Instructions

Start a tailored cover letter for a job (language 'en' or 'no'; default from coverletter/style.yaml): returns the prompt. Write only the letter body following it, then call cover_letter_submit.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
job_idYes
languageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.5

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the non-obvious return behavior (a prompt, not letter content) and the required follow-up call, plus that language defaults come from coverletter/style.yaml. It says nothing about permissions, error cases, idempotency, or job_id validity, so the behavioral picture is only partially covered.

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?

Dense and front-loaded: the action comes first, then the language/default caveat, then the workflow instruction. No filler sentences, though the telegraphic phrasing around 'returns the prompt' reads slightly clipped.

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 two-parameter prompt-generation tool with no output schema, the description supplies what an agent needs: the input semantics, the fact that output is a prompt to be obeyed, and the next call. Only failure/permission behavior is absent, which is a minor gap for this tool class.

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 0% and neither property has a description, but the description supplies the real semantics for 'language' ('en' or 'no', default sourced from coverletter/style.yaml) which the schema lacks entirely. 'job_id' is left at name-only inference, so compensation is partial rather than complete.

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+resource ('Start a tailored cover letter for a job') and clarifies the surprising mechanic that the tool returns a prompt rather than a letter. It also names the follow-up sibling (cover_letter_submit), so an agent can place it in the workflow, though it never explicitly contrasts itself with that sibling's own purpose.

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?

Gives clear operational context: call this first, write only the letter body from the returned prompt, then call cover_letter_submit. There are no explicit when-not conditions or scope exclusions, but the sequencing guidance is unambiguous for this tool's role.

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