Skip to main content
Glama
ati-hh-mcp

ati-hh-mcp

by timur-ai

Get Resume

get_resume

Retrieve a resume by ID or hash for applicants or employers, optionally including contact credentials, job search status, and negotiation history.

Instructions

Get a resume by id or hash: own resume for an applicant or an accessible resume for an employer. Optional flags add contact credentials, job search status and negotiation history.

Input Schema

NameRequiredDescriptionDefault
resume_idYes
with_credsNo
with_job_search_statusNo
with_negotiations_historyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

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 behavioral burden. It does disclose that the result scope depends on the caller's role (own vs merely accessible resume) and that flags conditionally enrich the payload, which is genuinely useful context. However, it says nothing about what happens when an employer lacks access (error vs empty), whether the lookup is cached, or what the returned object looks like.

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?

A single front-loaded sentence with the core action first, access scoping second, and the optional flags last. Every clause adds information; nothing is redundant padding.

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?

For a 4-parameter read tool with no annotations, no output schema, and 0% schema coverage, the description covers the action and parameter intent but leaves the response shape and access-failure behavior completely unstated. It is adequate to attempt a call but not complete enough to predict the result.

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 0%, so the description must carry all parameter meaning, and it largely does: it identifies resume_id as accepting an id or hash, and maps all three optional flags to concrete semantics (contact credentials, job search status, negotiation history) rather than just restating their names. Gaps remain on default behavior when flags are null and on any performance or permission cost of enabling them.

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 ("Get a resume") plus the lookup key (id or hash) and the access scoping (own resume for applicants, accessible resume for employers). This is clearly distinguishable from siblings like get_me or get_negotiation, though it never explicitly contrasts with get_resume_phone, which is the nearest overlapping sibling.

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 applicant-vs-employer framing implies when the tool applies and hints at authorization boundaries, but there is no explicit when-to-use/when-not-to-use guidance and no mention of alternatives such as get_resume_phone for phone-specific data. Usage must be inferred from the actor role description.

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