Skip to main content
Glama

Graphlog Career

Save job applications

save_career_applications
Destructive

Store job applications the person sent or is preparing, many in one call. It serves keeping an application when it is sent, updating where one stands, and bringing in applications kept elsewhere. An item without id adds an entry and needs company, role and status; an item with id changes that entry: the fields it gives replace the stored ones, null clears an optional one, and remove true deletes the entry. Each entry keeps a log of updates, what happened and when: addUpdates adds to it, a change of status on a kept entry is logged on the last update the item adds or on one of its own, and removeUpdates deletes by n. Another person in any text appears by first name and last initial, such as Lauren C., without their contact details. The applications are kept apart from the career record, with no versions; an entry is deleted 90 days after its last change, and at most 500 are kept, 5 MB of text together. The save is refused, and nothing stored, when an id is not kept, a new entry lacks a field, or a value or the total breaks its limit; the refusal names the item and field. Returns {saved, kept}: saved names each entry with its id, company, role and outcome, added, updated or removed; kept counts the entries now kept.

Input Schema

NameRequiredDescriptionDefault
applicationsYesThe entries to add, change or remove.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Goes well past the annotations (destructiveHint=true, idempotentHint=false) by disclosing field-replacement semantics, that null clears an optional field, that remove:true deletes, that status changes are logged onto the last added or own update, that the write is all-or-nothing ('nothing stored'), and retention rules (90 days after last change, 500 entries, 5 MB of text). It also flags the privacy transformation of other people's names, which no structured field conveys.

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?

Purpose and the add/change/remove rule are front-loaded, and nearly every sentence carries load-bearing information about limits, atomicity or the return shape. Some sentences are dense and comma-chained (the update-log sentence in particular), costing a little readability for a batch-mutation tool with this much conditional behavior.

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?

Despite no output schema it describes the return object precisely ({saved, kept} with each saved entry's id, company, role and outcome), and covers error behavior, retention caps, deletion timing and privacy handling. An agent has everything needed to construct a correct call and interpret the result.

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?

Schema coverage is 100% so the baseline would be 3, but the description adds conditional semantics the schema cannot express: an item without id is an add requiring company, role and status, while an item with id mutates, with supplied fields replacing stored ones and null clearing optionals. The addUpdates/removeUpdates log mechanics and the status-change-to-log rule are likewise only in the prose.

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 (store) and resource (job applications) with batch scope ('many in one call'), then enumerates the three jobs it does: keeping a sent application, updating status, and importing applications kept elsewhere. It also separates itself from the career record explicitly, so an agent can distinguish it from save_career_record and list_career_applications.

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 conditions for use (when an application is sent, when its standing changes, when importing from elsewhere) and spells out when the save is refused (unknown id, missing field on a new entry, a value or the total over its limit). It does not name a sibling alternative for the case where the agent should be reading rather than writing, so it stops short of explicit routing.

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.