hires_list_application_attachments
List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. |
List all file attachments linked to an application (resumes, cover letters, documents). Returns file metadata and download URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Application ID. |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's claim that it 'lists' attachments is consistent. It adds value by specifying that it returns 'file metadata and download URLs', but it does not discuss pagination or rate limits. The description adds moderate behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, totaling about 20 words. It is front-loaded with the action and resource, and includes relevant examples and output. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description explains the return content (file metadata and download URLs). It does not mention potential pagination or ordering, but for a simple list tool, it is sufficient. A minor gap given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'id' with a description 'Application ID.' Schema coverage is 100%, so the description does not need to add extra parameter info. The description does not elaborate on the parameter beyond what the schema provides, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and clearly identifies the resource 'file attachments linked to an application'. It lists example types (resumes, cover letters, documents) and mentions output (file metadata and download URLs). This distinguishes it from sibling tools like 'hires_download_attachment' and 'hires_list_candidate_files'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by requiring an application ID. It is clear when to use it (to see attachments on an application). However, it does not explicitly state when not to use it or compare with alternatives like 'hires_list_candidate_files', but the purpose is straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools have clearly distinct purposes due to specific entity and action combinations. However, with 133 tools, there is some overlap (e.g., multiple ways to move applications) and similar-sounding operations (e.g., batch_remove_tags vs remove_candidate_tag) that could cause confusion. The detailed descriptions help but the sheer number increases ambiguity.
All tools follow a consistent 'hires_verb_noun' pattern with snake_case. Verbs are descriptive (create, list, get, delete, update, batch) and nouns match the domain entities (candidate, application, job, etc.). No mixing of conventions like camelCase or inconsistent verb styles.
133 tools is excessive for a typical server scope. While a full-featured ATS requires many operations, this count suggests insufficient aggregation. Tools for similar entities (e.g., multiple update/delete variants) could be consolidated. The high number overwhelms the tool surface and increases complexity.
The tool set covers core CRUD operations for major entities (candidates, applications, jobs, companies, users, messages, forms, etc.) plus batch operations, webhooks, and advanced features like AI scoring and nurture campaigns. Minor gaps exist (e.g., no direct reporting/analytics tools), but most workflows can be executed.