Lever Ops Control Plane
Server Details
Ask Lever the messy recruiting-ops questions dashboards miss by connecting opportunities, applications, stages, notes, feedback, interviews, referrals, postings, requisitions, offers, users, sources, tags, files, resumes, and archive reasons. Find referral SLA misses, stale opportunities by owner, feedback debt by interviewer and hiring team, funnel leakage by recruiter/source/team, requisition fill-risk, offer hygiene gaps, archive-reason drift, and bottleneck owners. No dashboard build. No SQL
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.3/5 across 108 of 108 tools scored. Lowest: 1.7/5.
Most tools target distinct resource-action combinations, but the sheer count (108) and the presence of closely related tools like list_opportunity_feedback / get_opportunity_feedback may cause occasional agent confusion.
Tool names follow a highly consistent verb_noun pattern (e.g., create_*, get_*, list_*, update_*, delete_*, add_*, remove_*). Minor exceptions like apply_to_posting still fit the overall structure.
With 108 tools, the surface is excessively large for most agent workflows. Many tools could be merged or removed without losing essential functionality, leading to decision overload.
The tool set covers the full Lever API surface comprehensively, including opportunities, postings, requisitions, users, webhooks, templates, files, and compliance data, leaving no obvious gaps.
Available Tools
108 toolsadd_opportunity_linksCInspect
Call Lever POST /opportunities/:opportunity/addLinks for opportunity contact/source/tag maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only identifies the endpoint and purpose, but does not mention side effects, idempotency, permissions, response format, or the fact that it is a mutating write. The term 'maintenance' is vague and fails to disclose the operational impact.
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 a single, concise sentence that immediately names the API endpoint and high-level purpose. It is front-loaded and free of filler. However, its extreme brevity relies on external documentation ('documented Lever endpoint') and omits necessary context, making it efficient but not fully self-contained.
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?
As a mutation tool with no annotations and no output schema, the description is incomplete. It does not explain the write nature, governance parameters (reason, confirm, dry_run), or the relationship to sibling tools. Users would need to consult external docs or infer behavior from the schema alone, which is insufficient for correct and safe invocation.
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?
Schema coverage is 100%, so the baseline is 3. The description adds minimal meaning beyond the schema by hinting at the purpose of the 'body' parameter (contact/source/tag maintenance), but it does not elaborate on how parameters interact or provide examples. The schema already documents all parameters adequately.
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 clearly states the tool calls the Lever POST /opportunities/:opportunity/addLinks endpoint for 'contact/source/tag maintenance.' This specifies the verb (POST), resource (opportunity links), and general purpose. However, it does not explicitly differentiate from the similar sibling tools add_opportunity_sources and add_opportunity_tags, which also handle links of a specific type.
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?
No guidance is provided on when to use this tool versus the sibling tools add_opportunity_sources or add_opportunity_tags, nor are any exclusions or alternative recommendations given. The phrase 'for opportunity contact/source/tag maintenance' implies a use case but does not clarify the distinction from the more specific add-tool siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_opportunity_sourcesCInspect
Call Lever POST /opportunities/:opportunity/addSources for opportunity contact/source/tag maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the HTTP method (POST) and the vague goal of 'maintenance.' It does not disclose that this is a mutating operation, any permission requirements, idempotency, or effects on existing opportunity data.
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 a single sentence that front-loads the API endpoint. It is concise with no unnecessary words, but it sacrifices detail for brevity. Acceptable structure for a one-liner.
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?
With 6 parameters, no annotations, and no output schema, the description is inadequate. It does not explain the request body format, when to use the tool, or what the response will contain. The reliance on external API knowledge makes it incomplete for an AI agent.
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?
Schema coverage is 100%, so the baseline is 3. The description adds no parameter information. The body parameter is open-ended (additionalProperties: {}), and the description does not clarify the expected structure for addSources (e.g., list of sources). The schema's own descriptions cover parameter purposes adequately.
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 names the exact API endpoint (POST /opportunities/:opportunity/addSources) and associates it with opportunity contact/source/tag maintenance, which distinguishes it from siblings like add_opportunity_tags and remove_opportunity_sources. However, 'maintenance' is vague and does not explicitly say 'adds sources'.
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 provides no guidance on when to use this tool vs. alternatives. It does not mention related tools like add_opportunity_tags or remove_opportunity_sources, nor does it state conditions for use or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_opportunity_tagsCInspect
Call Lever POST /opportunities/:opportunity/addTags for opportunity contact/source/tag maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure, but it only states the endpoint and a vague purpose. It does not mention side effects (e.g., tags are added, not replaced), authentication requirements (perform_as), or any write confirmation behavior that the schema hints at via confirm and dry_run parameters. The phrase 'contact/source/tag maintenance' could even mislead about actual behavior.
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 a single sentence, achieving conciseness. However, the inclusion of 'contact/source/tag maintenance' is somewhat redundant and confusing, detracting from the otherwise efficient structure.
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?
This is a mutation tool with 6 parameters, including a free-form body, and no annotations or output schema. The description fails to explain the body format, the effect of adding tags, potential side effects, or the meaning of perform_as, reason, confirm, and dry_run in context. It is too minimal for an operation of this complexity.
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?
Schema description coverage is 100%, so the baseline is 3. The description itself adds no parameter details beyond what the schema provides. While the schema contains descriptions for each parameter, some are generic (e.g., body is 'JSON body to send to the documented Lever endpoint'), and the description does not clarify expected body structure or parameter relationships.
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 clearly states the tool calls the Lever POST /opportunities/:opportunity/addTags endpoint and mentions tag maintenance, distinguishing it from sibling tools like add_opportunity_links and add_opportunity_sources. However, the phrase 'opportunity contact/source/tag maintenance' is ambiguous, as it could imply handling contacts and sources as well, which muddies the specific purpose.
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?
No guidance is provided on when to use this tool versus alternatives (e.g., remove_opportunity_tags, add_opportunity_links). The description does not mention prerequisites, conditions, or exclusions, leaving the agent to infer usage from the endpoint name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_requisition_field_optionsCInspect
Use Lever POST /requisition_fields/:id/options for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever requisition or requisition-field ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only names the API endpoint and does not disclose side effects, permission requirements, data mutation behavior, or any constraints. The tool name implies a write operation, but the description adds no behavioral context.
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 a single sentence and is brief, but it is under-specified. It provides an API endpoint mapping without supporting context, making it as close to boilerplate as possible. While concise, it lacks the informative content that would make every word valuable.
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 6 parameters, a nested body object, no output schema, and no annotations. The description does not explain what the request body should contain, how options are structured, or what the response will be. It fails to provide sufficient context for an agent to select and invoke the tool correctly.
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 schema provides 100% coverage of parameter descriptions, including types, defaults, and required fields. The description adds no additional parameter meaning, but the high schema coverage satisfies the baseline. The body parameter remains an opaque object, but the schema already states it is the JSON body to send.
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 identifies the specific Lever endpoint (POST /requisition_fields/:id/options), which indicates the operation, but it does not explain in plain terms that the tool adds options to a requisition field. It is somewhat vague and does not distinguish from analogous tools like update_requisition_field_options or delete_requisition_field_options.
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?
There is no guidance on when to use this tool versus alternatives. It merely says 'for recruiting operations,' which is too broad and does not specify scenarios, prerequisites, or exclusions. No sibling differentiation is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_to_postingAInspect
Apply to a Lever posting via POST /postings/:posting/apply. This is the documented create-application path.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| posting_id | Yes | Lever posting ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full transparency burden. It correctly identifies the action as a create-operation, but omits critical details such as side effects, permission requirements, reversibility, or response behavior. The description does not go beyond stating the obvious mutation.
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 extremely concise—two sentences that immediately state the purpose and then reinforce it with an authoritative note. Every word serves a purpose, and the structure is front-loaded with the action.
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?
Given six parameters, a nested body object, no annotations, and no output schema, this description is under-equipped. It does not explain the expected return value, error cases, or how the body should be structured beyond the API endpoint. For a complex write operation, more behavioral and usage context is needed.
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 100% description coverage for all six parameters, so the baseline is 3. The description adds no parameter-level detail beyond what the schema already provides, and the schema descriptions are adequate.
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 clearly states the tool's action: 'Apply to a Lever posting' with the specific API endpoint. It uses a distinct verb+resource pair and mentions the documented create-application path, setting it apart from sibling tools like create_opportunity or get_posting.
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 phrase 'This is the documented create-application path' implies this is the intended method for applying to a posting, providing clear context. It does not explicitly list alternatives or when-not-to-use scenarios, but the purpose is distinct enough that no exclusions are necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_feedback_templateCInspect
Use Lever POST /feedback_templates for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| template_id | No | Unused for create operations. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description was expected to disclose behavioral aspects such as side effects, authorization needs, or error conditions. It only mentions the HTTP endpoint, offering no additional transparency about the operation's behavior.
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 very brief and front-loaded with the endpoint, but it is too sparse to be appropriately informative. It wastes no words, yet the single sentence provides minimal value beyond the tool name.
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?
Given the complexity of six parameters, a nested body object, and no output schema, the description fails to explain what a feedback template is, how to structure the body, or any constraints. It is incomplete for a tool with such requirements.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond the schema, but the schema already documents all six parameters, including template_id being unused for create operations.
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 clearly indicates this creates a feedback template via the Lever POST /feedback_templates endpoint. It identifies the specific verb and resource, distinguishing it from sibling tools like create_form_template or create_opportunity_feedback, though it does not explicitly define what a feedback template is.
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?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context. The phrase 'for recruiting operations' is vague and does not clarify scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_form_templateCInspect
Use Lever POST /form_templates for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| template_id | No | Unused for create operations. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose side effects, permissions, and mutation behavior, but it only instructs to use the endpoint. It does not state that this is a write operation, whether it is reversible, what happens on duplicate creation, or required auth context. The creating nature is implied but not explained.
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 a single, front-loaded sentence with no filler: 'Use Lever POST /form_templates for recruiting operations.' It is concise and structured, though it sacrifices necessary detail for brevity.
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?
For a write operation with no annotations, no output schema, and nested objects in the schema, the description is too sparse. It does not explain what a form template is, what the response looks like, error/failure behavior, or required permissions. The generic 'recruiting operations' adds little context.
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 schema covers 100% of the 6 parameters with descriptions, so the baseline is 3. The description adds endpoint context but no additional parameter semantics beyond what the schema already provides. It does not hurt or help beyond the schema.
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 names the exact endpoint (POST /form_templates) and domain ('recruiting operations'), which clearly implies creating a form template and distinguishes it from sibling get/list/update/delete form_template tools. However, it never explicitly uses the verb 'create' or states the outcome, relying on REST semantics and the tool name.
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?
There is no guidance on when to use this tool versus alternatives like create_feedback_template or create_opportunity_form. 'for recruiting operations' is generic and does not specify prerequisites, typical scenarios, or when not to use it. Only the tool name and endpoint imply the usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_opportunityBInspect
Create a Lever opportunity via POST /opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it creates an opportunity, but does not mention side effects, required permissions, rate limits, or the shape of the request body. This is insufficient for a mutation tool with no safety 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?
A single, front-loaded sentence conveys the essential purpose and endpoint. No filler or repetition; every word serves a purpose.
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, no annotations, and a critical body parameter that is open-ended. The description does not explain what the response looks like, what fields are required in the body, or any limitations or preconditions. This leaves a significant gap for an agent to correctly construct and invoke the tool.
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 schema provides descriptions for all 5 parameters (100% coverage), so the description does not need to add basic parameter semantics. However, the body parameter is a generic JSON object with no field structure, and the description does not compensate by hinting at required opportunity fields. The baseline 3 is appropriate since the schema handles the parameter documentation.
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 clearly states the action ('Create'), the resource ('a Lever opportunity'), and the specific endpoint ('POST /opportunities'). This distinguishes it from sibling tools like create_opportunity_note or create_posting, which target different resources.
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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention related tools for creating notes, feedback, or other sub-resources, leaving the agent to infer context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_opportunity_feedbackCInspect
Use Lever POST /opportunities/:opportunity/feedback for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | No | Unused for create operations. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It fails to mention that this is a write operation, requires perform_as, or relies on confirm/dry_run controls. It provides no information about side effects, notifications, or errors. The phrase 'for recruiting operations' is too broad to inform an agent of what happens when this tool is called.
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 a single sentence and is front-loaded with the endpoint, so it is short and does not waste words. However, it is under-specified and lacks actionable details, making it closer to a placeholder than a useful description. It does not earn its place because it adds little beyond the tool name and endpoint.
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?
This is a complex mutation tool with 7 parameters, a nested body object, and no annotations or output schema. The description is far too sparse to guide an AI agent; it omits expected return values, error behavior, prerequisites, and examples. An agent cannot understand what the tool does, when to use it, or how to construct the body from the description alone.
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?
Schema description coverage is 100%, which meets the baseline of 3 even though the tool description adds no parameter information. The schema itself gives some meaning to each parameter, but the 'body' parameter is described only as 'JSON body to send to the documented Lever endpoint,' which is vague and does not explain the required structure. Nevertheless, the description does not need to compensate given the high coverage.
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 references the Lever API endpoint 'POST /opportunities/:opportunity/feedback' and mentions recruiting operations, which gives some indication of the tool's scope. However, it does not explicitly state that this creates an opportunity feedback record, relying on the tool name and HTTP method for that inference. It also does not distinguish this from sibling tools like create_opportunity_note or create_feedback_template, leaving the purpose vague.
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?
No guidance is provided about when to use this tool versus alternatives such as create_opportunity_note or update_opportunity_feedback. The description only says 'for recruiting operations,' which is generic and gives no context about prerequisites, candidate selection, or when not to use it. There is no mention of exclusions or preferred alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_opportunity_formBInspect
Create a Lever profile form via POST /opportunities/:opportunity/forms.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses only that this is a creation operation via POST, which is already obvious from the name and schema. It does not mention side effects, required permissions, whether the form replaces an existing one, or what the response contains.
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 a single, clear sentence that front-loads the core action and endpoint. It is appropriately sized with no unnecessary words or repetition.
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?
Despite having six parameters, a nested body object, and no output schema, the description lacks crucial context such as what a 'profile form' is, any prerequisite conditions, return values, or error handling. It is too sparse to fully guide an agent invoking this tool.
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 schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds no additional parameter-level meaning, but the schema already provides sufficient information for the six parameters.
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 clearly states the action ('Create a Lever profile form') and the target resource (specific opportunity via the endpoint). It distinguishes from sibling tools like create_form_template by explicitly pointing to the per-opportunity form endpoint.
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?
No guidance is provided on when to use this tool versus alternatives such as create_form_template or other create_* tools. There is no mention of prerequisites, exclusions, or context where this tool should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_opportunity_interviewCInspect
Use Lever POST /opportunities/:opportunity/interviews for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | No | Unused for create operations. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must carry the full behavioral disclosure burden. It only reveals the HTTP method and endpoint, implying a write operation, but does not mention required permissions, side effects (e.g., calendar invitations, notifications), reversibility, or response behavior. This is minimal transparency.
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 a single concise sentence with no wasted words and is front-loaded with the operation and endpoint. It is appropriately short, although it sacrifices informative content for brevity.
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?
For a write tool with seven parameters, a nested body object, no annotations, and no output schema, this description is far too sparse. It references the endpoint but fails to explain what an interview creation entails, what the body should contain, or what the agent should do with the response. The description is a stub rather than a complete operational guide.
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?
Schema description coverage is 100%, so the schema already documents all seven parameters, including opportunity_id, perform_as, and body. The description adds no parameter-level meaning, but the baseline of 3 applies because the schema handles the heavy lifting. The free-form 'body' parameter remains opaque, but that is an API documentation concern rather than a schema gap.
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 names the exact Lever endpoint (POST /opportunities/:opportunity/interviews) and the sibling set includes many opportunity sub-resources, so it is clear this creates an interview for an opportunity. It could be more explicit by saying 'creates an interview,' but the HTTP method and path plus the tool name provide sufficient specificity.
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?
No guidance is given about when to use this tool versus alternatives like update_opportunity_interview, delete_opportunity_interview, or list_opportunity_interviews. The phrase 'for recruiting operations' is too generic to help an agent decide between creating, fetching, updating, or deleting an interview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_opportunity_noteBInspect
Create a Lever note via POST /opportunities/:opportunity/notes.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It only states the action and endpoint, omitting any mention of side effects, required permissions, idempotency, or response behavior. It adds no context beyond the verb 'Create' already in the name.
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 a single, clear sentence that front-loads the action and includes the exact endpoint. Every word earns its place; there is no redundant information.
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 a nested 'body' object with no schema details, no output schema, and no annotations. The description does not explain what constitutes a Lever note or how to structure the body, leaving a significant gap for an agent to invoke it correctly. The endpoint alone is insufficient for complete context.
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?
Schema description coverage is 100%, so each parameter is already documented. The description adds no additional meaning to the parameters, and the schema descriptions themselves are somewhat generic (e.g., body is 'JSON body to send to the documented Lever endpoint'), making this a baseline 3.
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 clearly states 'Create a Lever note' with the exact REST endpoint, specifying both the action (create) and the resource (note). It effectively distinguishes this from sibling tools like update_opportunity_note, delete_opportunity_note, and list_opportunity_notes.
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 usage is implied by the verb 'Create' and the endpoint path, but no explicit guidance is given for when to use this tool versus alternatives. There are no prerequisites, exclusions, or conditions mentioned beyond the operation itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_opportunity_panelDInspect
Use Lever POST /opportunities/:opportunity/panels for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | No | Unused for create operations. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior but doesn't. It doesn't mention that this is a write operation, any side effects, permissions, or what happens when invoked. 'POST' is the only hint, but it's not explicit.
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?
It's a single sentence, but it's under-specified. Conciseness isn't just brevity; it's having every sentence earn its place. This sentence only names an endpoint, adding limited value.
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?
Given the tool's complexity (7 parameters, nested body object) and no output schema, the description is severely incomplete. It doesn't explain what a panel is, what the body should contain, or any expected outcome.
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 schema has 100% description coverage for all parameters, so the schema carries the burden. The description adds no additional meaning about parameters like body structure or the purpose of perform_as.
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 cites an API endpoint but doesn't clearly state the tool's function (creating an opportunity panel). 'Recruiting operations' is vague and doesn't distinguish this from other create tools like create_opportunity_note or create_opportunity_interview.
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?
There's no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. It merely references an endpoint without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_postingBInspect
Create a Lever posting via POST /postings.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, and the description only says 'Create a Lever posting via POST /postings.' It does not disclose any side effects, permission requirements, idempotency, or response behavior, leaving the agent without critical context for a write operation.
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?
Single sentence of 8 words, zero filler, perfectly front-loaded. The description is appropriately sized and structured.
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 five parameters and no output schema or annotations, yet the description is a bare one-liner. It does not explain the purpose of the body, the perform_as requirement, or the effects of dry_run and confirm, leaving the description insufficient for a complex creation operation.
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?
Schema coverage is 100%, with each parameter described (body, reason, confirm, dry_run, perform_as). The description adds no parameter information, but the schema already thoroughly documents them, so baseline 3 applies.
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 clearly states the action (create) and resource (Lever posting) with the HTTP method and endpoint, distinguishing it from sibling tools like update_posting and get_posting.
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?
No mention of when to use this tool versus alternatives; no exclusions or alternative tool references are given. The description provides no contextual guidance for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_requisitionCInspect
Use Lever POST /requisitions for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | No | Unused for create operations. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full transparency burden. It mentions POST, indicating a write operation, but does not disclose side effects, required permissions, error behavior, or that it creates a new requisition. This is a significant gap for a mutation tool.
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 a single sentence with no wasted words, but it is under-specified rather than effectively concise. It lacks essential information that would make the brevity valuable.
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?
For a tool with 6 parameters, no annotations, and no output schema, the description is critically incomplete. It does not explain what a requisition is, what the body should contain, the outcome of the operation, or when to use dry_run/confirm. The agent would be left guessing on how to invoke the tool correctly.
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?
Schema coverage is 100%, so the baseline is 3. However, the description adds no meaning beyond the schema. The 'body' parameter is generically described as 'JSON body to send to the documented Lever endpoint' without explaining requisition-specific fields, and the description does not compensate for this vagueness.
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 references the Lever POST /requisitions endpoint, implying the tool creates a requisition, but the phrase 'for recruiting operations' is broad and doesn't explicitly state the action. It also fails to distinguish this tool from siblings like create_posting or create_opportunity.
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?
No guidance is provided for when to use this tool versus other create tools. The description offers no context about prerequisites, conditions, or alternatives, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_requisition_fieldCInspect
Use Lever POST /requisition_fields for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | No | Unused for create operations. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only indicates that this is a POST (write) operation to Lever, but it does not disclose permissions, side effects, reversibility, or return behavior. It also fails to clarify that this creates a new requisition field, which is important context for a mutating action.
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 a single short sentence with no filler. It front-loads the endpoint (Lever POST /requisition_fields) and keeps the context minimal. Every word earns its place, making it highly concise even though it lacks depth in other dimensions.
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 is a complex API wrapper with a nested body parameter and no output schema, so the description needs to explain what a requisition field is, what the body should represent, and what happens after execution. The description provides none of that; it only names the endpoint and a vague domain, leaving the agent under-equipped to use the tool correctly.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-level meaning beyond the schema; in particular, the 'body' parameter remains an opaque JSON object with additionalProperties allowed, and the description does not explain what fields the body should contain for requisition field creation.
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 identifies the exact Lever endpoint (POST /requisition_fields), which maps clearly to the tool's name and creation intent. However, it does not explicitly use the verb 'create' and provides no differentiation from sibling tools like update_requisition_field, delete_requisition_field, or add_requisition_field_options. 'For recruiting operations' is a vague domain qualifier.
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?
No guidance is given for when to use this tool versus related siblings such as add_requisition_field_options, update_requisition_field, or delete_requisition_field. The only context is the broad phrase 'for recruiting operations,' which does not help an agent decide between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_userDInspect
Use Lever POST /users for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| user_id | No | Unused for create operations. | |
| actor_id | Yes | Lever user ID associated with this action when needed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It only mentions 'POST', implying a write, but discloses no side effects, permissions, idempotency, or required prerequisites.
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 a single short sentence, but it is under-specified. It lacks meaningful structure or detail, so this is not effective conciseness but rather a failure to convey necessary information.
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?
With six parameters, a nested object, no output schema, and no annotations, the description must explain behavior, return values, and usage context. It does none of this, making the tool poorly specified.
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?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no parameter meaning beyond the schema, but the schema itself is sufficient, yielding the baseline score of 3.
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 says 'Use Lever POST /users for recruiting operations.' It identifies an endpoint but does not state the actual action (creating a user) or scope. It is vague and fails to distinguish from sibling tools like update_user or deactivate_user.
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 provides no guidance on when to use this tool versus alternatives. With many sibling tools for user management, no exclusions or preferred contexts are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhookBInspect
Create a Lever API webhook via POST /webhooks.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose side effects. It only states the action and HTTP method, without mentioning that by default it executes a real write (as per the 'confirm' and 'dry_run' parameters), any authorization requirements, or expected consequences.
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 a single sentence that immediately states the verb and resource, with no filler 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 a nested body parameter and no output schema, but the description does not explain how to construct the body, what a webhook is, or what the response contains. This is insufficient for a non-trivial creation operation.
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 100% coverage on all five properties, including descriptions for body, reason, confirm, dry_run, and actor_id. The description adds no further parameter-specific details, so the schema carries the full load.
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 the specific verb 'Create' and names the resource 'Lever API webhook' along with the HTTP endpoint, clearly distinguishing it from sibling tools like delete_webhook, update_webhooks, and list_webhooks.
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 use for creating webhooks but does not explicitly state when to use it versus alternatives like update_webhooks or delete_webhook. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deactivate_userCInspect
Use Lever POST /users/:id/deactivate for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| user_id | Yes | Lever user ID. | |
| actor_id | Yes | Lever user ID associated with this action when needed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full responsibility for behavioral disclosure. It only references an API endpoint and says nothing about effects of deactivation, reversibility, required permissions, or side effects. For a write operation, this is a critical gap.
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 a single short sentence, which is concise in length, but it lacks essential explanatory content. It is under-specified rather than efficiently structured, providing no real value beyond the tool name.
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?
With no annotations, no output schema, and six parameters, the tool requires a richer description to be safely invokable. The description does not explain what the tool returns, when it should be used, or the consequences of deactivating a user, leaving the agent without necessary context.
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 documents all six parameters with clear descriptions, so schema coverage is 100%. The description adds no extra parameter-level context, but the schema already does the heavy lifting, so the baseline of 3 is appropriate.
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 references the Lever deactivate endpoint, which implies the tool deactivates a user, and the tool name reinforces this. However, it does not clearly state the action in plain language; it reads as an imperative instruction rather than a descriptive statement. It also doesn't explicitly differentiate from reactivate_user or update_user.
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?
No usage guidance is provided. The phrase 'for recruiting operations' is too vague to indicate when this tool should be used, and there is no mention of alternatives or exclusions. The description fails to help the agent choose between deactivate_user, reactivate_user, and update_user.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_feedback_templateCInspect
Use Lever DELETE /feedback_templates/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| template_id | Yes | Lever template ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to mention whether deletion is permanent, whether confirmation is required, any side effects, idempotency, or authorization needs. The description only points to an endpoint without explaining what happens when the tool is invoked.
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 a single sentence with no wasted words, so it is concise. However, the brevity sacrifices substance; it provides barely more than the tool name and endpoint. A concise but insufficient description is not ideal.
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 lacks an output schema and annotations, so the description must provide context about return values, success/failure behavior, and operational semantics. It does not. The description simply states the endpoint and parameterized context is absent, leaving the agent without enough information to safely and correctly use the tool.
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?
Schema description coverage is 100%, so all parameters have descriptions in the schema. The tool description adds no additional meaning beyond the schema, which is sufficient to meet the baseline. However, some parameter descriptions (e.g., body) are vague, but this is not the description's fault.
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 references the Lever DELETE endpoint and resource, but it reads more as a command to use the API than a functional statement of what the tool does. It distinguishes the resource (feedback templates) but does not clearly say 'deletes a feedback template' or describe the outcome. The verb is implied by the HTTP method, not explicitly stated.
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 gives no guidance on when to use this tool versus alternatives (e.g., create_feedback_template, update_feedback_template) and no exclusions or prerequisites. The phrase 'for recruiting operations' is too generic to help an agent decide between deletion and other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_form_templateCInspect
Use Lever DELETE /form_templates/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| template_id | Yes | Lever template ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It communicates destructiveness via 'DELETE' but does not mention consequences, reversibility, authorization requirements, or the safety parameters like confirm and dry_run that appear in the schema.
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 a single concise sentence that front-loads the endpoint, which is efficient. However, it is under-specified and could convey the same information with added clarity about the operation and safety considerations without becoming bloated.
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?
There is no output schema and no annotations, so the description must provide comprehensive context. It fails to explain return values, error behavior, deletion semantics, or the role of required parameters, leaving a six-parameter destructive mutation tool significantly under-explained.
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?
Schema description coverage is 100%, so the input schema already documents all parameters including template_id and actor_id. The description itself adds no parameter-specific meaning beyond the endpoint reference, making the baseline score appropriate.
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 names the specific Lever endpoint 'DELETE /form_templates/:id', which clearly indicates a delete operation on form templates and distinguishes it from sibling tools like create_form_template, update_form_template, get_form_template, and list_form_templates. It lacks a plain-language statement like 'Deletes a form template,' but the endpoint reference is specific enough to identify the resource and action.
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 only usage guidance is the generic phrase 'for recruiting operations,' which applies to all Lever tools and offers no differentiation. It does not explain when to delete versus update/create a form template, nor does it mention prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_opportunity_feedbackCInspect
Use Lever DELETE /opportunities/:opportunity/feedback/:record for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever record ID for this collection. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions the HTTP method DELETE, which signals deletion, but it does not state whether the action is permanent, requires specific permissions, or has other side effects. This is a significant gap for a destructive tool.
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 a single sentence and very brief, which is concise, but it sacrifices substance for brevity. It does not earn its place as the primary descriptor, as it essentially restates the endpoint without adding useful detail. A slightly longer, more informative description would still be concise.
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?
This is a destructive mutation tool with 7 parameters, no annotations, and no output schema, yet the description only provides the endpoint path. It is entirely inadequate for understanding the tool's behavior, side effects, or return values. The tool complexity demands a much more complete description.
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 schema already provides descriptions for all 7 parameters (100% coverage), so the baseline is 3. The description adds a small amount of context by mapping the endpoint placeholders :opportunity and :record to opportunity_id and record_id, but it does not explain parameters like perform_as, confirm, or dry_run. Overall, the schema does the heavy lifting.
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 references the exact DELETE endpoint for feedback, which implies deleting opportunity feedback, but it does not explicitly state the action in plain terms. It distinguishes from sibling tools by naming the feedback resource, but the phrasing 'Use Lever DELETE ... for recruiting operations' is more of an instruction than a clear description.
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?
No guidance is provided on when to use this tool versus alternatives like delete_opportunity_note or delete_opportunity_interview. The phrase 'for recruiting operations' is too generic and does not offer context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_opportunity_fileBInspect
Delete a Lever opportunity file via DELETE /opportunities/:opportunity/files/:file.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| file_id | Yes | Lever file ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only restates the delete action and endpoint, without disclosing consequences like irreversibility, required permissions, or what happens to the file. This is a notable gap for a destructive operation.
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?
A single, front-loaded sentence that states the operation and endpoint directly. No unnecessary words or repetition—highly concise.
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?
For a destructive tool with 7 parameters and no annotations or output schema, this description is too brief. It omits behavioral context, success/error behavior, and prerequisites, leaving the agent to infer critical details from the schema and endpoint path alone.
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?
All 7 parameters are documented in the input schema with descriptions, so schema coverage is 100%. The description adds no parameter-specific context, but the baseline of 3 applies because the schema handles parameter semantics.
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 the specific verb 'Delete' and identifies the resource 'Lever opportunity file' with the exact DELETE endpoint, clearly distinguishing it from sibling tools like download/get/list/upload opportunity file.
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 gives no explicit guidance on when to use this tool versus alternatives, such as upload_opportunity_file or list_opportunity_files. Usage is only implied by the name and delete semantics, with no exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_opportunity_interviewCInspect
Use Lever DELETE /opportunities/:opportunity/interviews/:record for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever record ID for this collection. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only mentions DELETE, implying destructiveness, but does not state irreversibility, side effects, or any required confirmation. No additional context is provided beyond the endpoint.
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 a single efficient sentence that leads with the endpoint path, containing no extraneous wording. However, it is so concise that it lacks substantive detail, though the structure itself is clean.
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?
Given 7 parameters, no annotations, and no output schema, the description is far from complete. It does not explain return values, error conditions, or the impact of deleting an interview, leaving the agent to infer the tool's contract from the endpoint alone.
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?
Schema description coverage is 100%, so the baseline is 3. The path template adds slight value by mapping record_id to the interviews/:record segment, but the description does not elaborate on parameter usage or relationships beyond what the schema already provides.
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 identifies the HTTP DELETE method and targeted resource (opportunity interviews) via the path template, but essentially restates the tool name. It does not provide a functional definition like 'Deletes a specific interview from an opportunity' or distinguish itself from other delete tools beyond the resource name.
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?
No guidance is given on when to use this tool versus alternatives such as update_opportunity_interview or delete_opportunity_panel. The phrase 'for recruiting operations' is too generic and does not indicate scenarios where deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_opportunity_noteAInspect
Delete a Lever note via DELETE /opportunities/:opportunity/notes/:noteId.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| note_id | Yes | Lever note ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the HTTP method (DELETE) but does not disclose permanence of deletion, side effects, idempotency, or any error behavior that may occur.
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 a single, concise sentence that efficiently conveys the action and endpoint without any filler or redundant information.
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 description is sufficient for a simple delete operation but lacks context about consequences (e.g., permanence), expected response, or any warnings. Given the presence of a 3-parameter requirement and no output schema, a bit more detail would improve completeness.
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 schema provides complete descriptions for all 7 parameters, so the tool description does not need to add parameter detail. Baseline of 3 is appropriate given the high schema coverage.
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 clearly states the action ('Delete'), the resource ('a Lever note'), and the exact HTTP endpoint, distinguishing it from sibling tools like get_opportunity_note, list_opportunity_notes, and update_opportunity_note.
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 for deleting a specific note on an opportunity but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives or prerequisites such as checking whether the note exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_opportunity_panelCInspect
Use Lever DELETE /opportunities/:opportunity/panels/:record for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever record ID for this collection. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden, but it only reveals the HTTP DELETE method, implying destructiveness. It doesn't disclose irreversibility, side effects, permissions, or consequences for related data, which is significant for a deletion tool.
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 a single terse sentence, which is concise and front-loaded. However, the phrase 'for recruiting operations' is generic filler, and the description is under-specified as a standalone explanation.
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?
This is a destructive mutation tool with no annotations and no output schema, so the description should provide more operational context. It doesn't mention return values, errors, or what deletion means for the opportunity, making it incomplete for an agent to invoke confidently.
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 schema description coverage is 100%, so the baseline is 3. The description adds no parameter meaning, but the schema already documents all 7 parameters, including required fields and defaults.
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 specifies the DELETE endpoint and resource, making it clear the tool deletes an opportunity panel. However, the phrasing 'Use Lever DELETE ... for recruiting operations' is vague and doesn't explain the action in natural language or distinguish it from other delete_* sibling tools.
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 provides no guidance on when to use this tool instead of alternatives like update_opportunity_panel or list_opportunity_panels. It only says 'for recruiting operations,' which applies to all sibling tools and offers no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_requisitionCInspect
Use Lever DELETE /requisitions/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever requisition or requisition-field ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It fails to mention that this is a destructive, likely irreversible action, that confirm and dry_run parameters exist for safety, or any perform_as implications. The description is silent on side effects, making it dangerously opaque for a delete operation.
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 a single sentence and contains no redundancy. However, it is under-informative and the phrase 'for recruiting operations' adds no value. It is concise in words but lacks meaningful content, earning a middle score.
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?
For a destructive tool with six parameters, no annotations, and no output schema, this description is severely incomplete. It does not explain the deletion scope, the effect of confirm/dry_run, the purpose of body/reason, or any expected consequences. The schema documents parameters but not the operational context, leaving the agent with insufficient information to use the tool safely.
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 provides 100% coverage with descriptions for all six parameters, so the baseline is 3. The description adds no additional parameter context, but since the schema already documents each parameter thoroughly, no deduction is warranted.
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 specifies the Lever DELETE /requisitions/:id endpoint, clearly indicating a deletion operation on requisitions. It distinguishes from siblings like create_requisition or update_requisition by referencing the HTTP DELETE method and resource. However, 'for recruiting operations' is vague and does not explicitly state that a requisition is deleted, leaving slight ambiguity.
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?
No guidance is provided on when to use this tool vs alternatives. The description does not mention prerequisites, permissions, safety checks, or situations where other tools (e.g., archive or update) would be more appropriate. It merely instructs to use the endpoint for 'recruiting operations,' which is too generic to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_requisition_fieldCInspect
Use Lever DELETE /requisition_fields/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever requisition or requisition-field ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention that the operation is destructive, does not explain any safety mechanisms like confirm or dry_run, and does not state consequences of deletion. The only hint is the HTTP method 'DELETE', but the impact and reversibility are left unstated.
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 a single sentence with no fluff, which is concise. However, it is under-specified and does not convey enough meaning. It is not a waste of words, but it could be more informative while still being concise.
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?
This tool has six parameters, no annotations, and no output schema, making the description crucial for context. The minimal text does not cover return values, safety behavior (confirm/dry_run), prerequisites, or any side effects. For a destructive tool, this is a significant gap that leaves the agent without enough information to invoke it safely.
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 schema has 100% description coverage, so the baseline is 3. The description adds no parameter-specific information, but every parameter already has a clear description in the schema. Thus, the description does not need to compensate, and the schema adequately handles parameter semantics.
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 references the exact Lever endpoint DELETE /requisition_fields/:id, which gives a specific resource and HTTP method. However, it does not explicitly state the tool's function in business terms (e.g., 'Delete a requisition field') and does not distinguish it from similar delete tools like delete_requisition. This is more informative than a pure tautology but still vague.
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 provides no guidance on when to use this tool versus alternatives. The phrase 'for recruiting operations' is too broad and does not specify conditions, prerequisites, or exclusions. There is no mention of when to choose this over delete_requisition or delete_requisition_field_options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_requisition_field_optionsDInspect
Use Lever DELETE /requisition_fields/:id/options for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever requisition or requisition-field ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention that this is a destructive operation, whether it is reversible, what happens to associated data, or any side effects. The only hint is the HTTP DELETE method in the endpoint reference, which is not a description of behavior.
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 a single sentence, so it is concise. However, it is not well-structured as a description; it reads as an instruction to use an endpoint. It is not front-loaded with a clear purpose and the information it provides (API path) is already implied by the tool name and schema.
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 6 parameters, no output schema, and no annotations. The description does not explain return values, error behavior, or the specific effect on requisition field options. It is insufficiently complete for a destructive operation, especially without annotations to clarify safety.
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 100% description coverage for all 6 parameters, including record_id and perform_as. The description adds no parameter information beyond the schema, so the baseline of 3 applies. It does not clarify how parameters map to the endpoint or any constraints beyond the schema.
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 'Use Lever DELETE /requisition_fields/:id/options for recruiting operations' does not explicitly state what the tool does. It references an HTTP method and endpoint path but lacks a clear action verb like 'delete' or 'remove' and does not describe the resource being modified. It is closer to a command than a purpose statement, and it does not distinguish itself from siblings like delete_requisition_field or update_requisition_field_options.
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?
There is no guidance on when to use this tool versus alternatives. The phrase 'for recruiting operations' is too generic and does not specify context, prerequisites, or exclusions. No sibling alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webhookAInspect
Delete one Lever API-created webhook via DELETE /webhooks/:webhookId.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Optional JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| webhook_id | Yes | Lever webhook ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It adds the specific HTTP method and the restriction to API-created webhooks, but it does not disclose permanence, permission requirements, or error behavior, which are relevant for a deletion operation.
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?
A single, front-loaded sentence with the verb and resource, containing zero 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 description gives the core purpose and the schema documents all parameters, but with no output schema and no annotations, it lacks return-value expectations, error scenarios, and explicit destructive implications. This is adequate but not rich.
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?
Schema description coverage is 100%, so each parameter already has a description. The tool description does not add any parameter-specific detail; baseline 3 is appropriate when the schema carries the parameter documentation.
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 clearly states the action (delete), the target resource (one Lever API-created webhook), and the REST endpoint, distinguishing it from sibling tools like create_webhook and list_webhooks.
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 use when a specific webhook must be removed, but it does not explicitly contrast with update_webhooks or list_webhooks, nor does it mention prerequisites or when not to use this action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_opportunity_fileBInspect
Download one Lever opportunity file as base64 via GET /opportunities/:opportunity/files/:file/download.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Reason for returning a base64 file payload. | |
| file_id | Yes | Lever file ID. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| max_bytes | No | ||
| opportunity_id | Yes | Lever opportunity ID. | |
| acknowledge_sensitive_data | No | Must be true for high-sensitivity reads such as EEO PII, diversity surveys, or download URLs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It mentions the GET method and base64 output, but omits critical behavior such as the need for acknowledge_sensitive_data for sensitive files, the reason requirement, and any permission or error context.
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 a single sentence with a clear verb and resource, no redundant phrasing, and front-loads the key action and endpoint. Every word earns its place.
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 6 parameters including a sensitive-data acknowledgment flag and a reason field, yet the description only summarizes the operation. It does not explain return structure, prerequisites, or handling of large/sensitive downloads, making it under-specified for the full context.
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 schema provides descriptions for 5 of 6 parameters (83% coverage), and max_bytes has min/max/default constraints. The description adds no parameter-level meaning beyond the schema, so baseline 3 is appropriate.
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 states a specific action—'Download one Lever opportunity file'—and identifies the exact endpoint and response format (base64). It clearly distinguishes from sibling tools like download_opportunity_resume by focusing on generic opportunity 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?
No guidance is provided on when to use this tool versus alternatives such as download_opportunity_resume or download_opportunity_offer_file. The intended context is implied only by the tool name and endpoint, leaving the agent to infer which download tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_opportunity_offer_fileBInspect
Download a sent or signed Lever offer file as base64 via GET /opportunities/:opportunity/offers/:offer/download.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Reason for returning a base64 file payload. | |
| status | Yes | Offer document status to download. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| offer_id | Yes | Lever offer ID. | |
| max_bytes | No | ||
| opportunity_id | Yes | Lever opportunity ID. | |
| acknowledge_sensitive_data | No | Must be true for high-sensitivity reads such as EEO PII, diversity surveys, or download URLs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior fully. It mentions only the download action and base64 format, but omits side effects, permission requirements, sensitivity handling (acknowledge_sensitive_data), and error behavior. It does not contradict annotations, but it is insufficient.
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?
Single sentence, front-loaded with the verb 'Download', and includes the essential attributes. No redundancy or filler.
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?
No output schema and no annotations. The description does not explain return structure, error conditions, or critical invocation details such as acknowledging sensitive data for certain downloads, despite having 7 parameters. An agent would need to infer too much from the schema alone.
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?
Schema description coverage is 86%, so most parameters are already documented. The description adds no parameter-level detail beyond the status condition ('sent or signed') which is already in the schema enum. Baseline 3 applies.
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?
Clearly states the action (download), resource (Lever offer file), conditions (sent or signed), format (base64), and HTTP endpoint. The name and description distinguish it from sibling tools like download_opportunity_resume and download_opportunity_file.
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?
No explicit when-to-use or alternative guidance. The description only states what the tool does, not when to select it over sibling download tools. The status enum is implied but not presented as usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_opportunity_resumeBInspect
Download one Lever resume file as base64 via GET /opportunities/:opportunity/resumes/:resume/download.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Reason for returning a base64 file payload. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| max_bytes | No | ||
| resume_id | Yes | Lever resume ID. | |
| opportunity_id | Yes | Lever opportunity ID. | |
| acknowledge_sensitive_data | No | Must be true for high-sensitivity reads such as EEO PII, diversity surveys, or download URLs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It does mention the return format (base64) and HTTP GET, but omits critical context such as the need for actor_id, reason, and the acknowledge_sensitive_data flag for high-sensitivity downloads. The schema describes acknowledge_sensitive_data as required for sensitive data, yet the description does not surface this behavioral requirement.
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?
Single sentence, front-loaded with the action and resource, and includes the endpoint for immediate clarity. No filler words or redundancy.
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?
Given the tool has 6 parameters, no output schema, no annotations, and sibling tools exist, the description is insufficiently complete. It does not explain the return structure beyond 'base64', nor does it indicate when to choose this download endpoint over get_opportunity_resume or list_opportunity_resumes. The sensitivity handling and actor/reason requirements are unmentioned, leaving the agent without adequate context to invoke the tool correctly in many situations.
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?
Schema description coverage is 83% (5 of 6 params documented). The description adds the URL template that implies opportunity_id and resume_id are path parameters, which aligns with schema. However, it does not elaborate on the purpose of actor_id, reason, max_bytes, or acknowledge_sensitive_data beyond what the schema already says. Baseline of 3 is appropriate given high schema coverage.
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 clearly states a specific action ('Download one Lever resume file'), the format ('base64'), and the exact endpoint path with opportunity and resume IDs. This distinguishes it from sibling tools like download_opportunity_file or get_opportunity_resume.
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?
No explicit guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or which sibling tools to use instead (e.g., get_opportunity_resume for metadata). The description only states the mechanism, not the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_archive_reasonBInspect
Retrieve one Lever archive reason.
| Name | Required | Description | Default |
|---|---|---|---|
| archive_reason_id | Yes | Lever archive reason ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It merely restates the action and provides no context about return format, authentication, or error behavior. It is not misleading but adds minimal transparency.
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 a single, clear sentence with no redundant words. It is front-loaded and appropriately sized for a simple getter, though it could benefit from a bit more contextual detail.
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 is simple with one parameter and no output schema. The description is minimal but adequate for the core action; however, it does not explain what the response contains or any related context, making it average.
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 schema fully documents the single parameter with the description 'Lever archive reason ID.' The tool description adds no additional parameter semantics, so the baseline 3 applies due to high schema coverage.
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 clearly states the verb 'Retrieve' and the resource 'Lever archive reason,' and the singular 'one' distinguishes it from the sibling list_archive_reasons.
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?
No explicit usage guidance is provided, but the phrasing 'one ... reason' implies it should be used when a specific archive_reason_id is known, contrasting with the sibling list tool. Lacks explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contactAInspect
Retrieve one Lever contact. Default output omits name, headline, emails, and phones; full contact details require detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| contact_id | Yes | Lever contact ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals a non-obvious default behavior (omitting name, headline, emails, phones) and the requirement for detail_profile=full with a reason. This is valuable context, though it does not cover permissions, errors, or rate limits.
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, front-loading the core purpose and then adding one crucial behavioral detail. Every word earns its place with no redundancy or filler.
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?
For a simple get tool with three parameters and no output schema, the description covers the key non-obvious behavior (default field omission and full detail requirement). It does not explain why a reason is needed or what happens when a contact is not found, but these are not critical for basic usage. The description is sufficiently complete for an agent to use the tool effectively.
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?
Schema description coverage is 100%, but the description adds meaning by linking detail_profile=full to the need for a reason and explaining the consequence of the default operational profile. This goes beyond simply restating parameter names and provides behavioral context for the parameters.
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 clearly states 'Retrieve one Lever contact' with a specific verb and resource. It distinguishes itself from sibling tools like update_contact and list_* by focusing on a single contact retrieval. The added detail about default output omissions further clarifies the tool's specific behavior.
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 when to use the tool (to retrieve a contact) but does not explicitly mention alternatives or exclusions, such as using list_* for multiple contacts or update_contact for modifications. The note about needing detail_profile=full for full details provides some usage guidance, but it is not framed as an alternative comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_control_plane_capabilitiesAInspect
Show which Lever control-plane tool families and API permissions are available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states 'Show', which implies a read-only operation, but does not explicitly confirm the absence of side effects, whether special authorization is required, or what the response format will be. The description is too minimal to fully inform the agent of behavioral expectations.
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 a single clear sentence that front-loads the action and resource. It contains no fluff, no redundancy, and all words earn their place.
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?
For a simple introspection tool with no input schema and no output schema, the description tells the agent what the tool does and what it returns ('which tool families and API permissions are available'). This is sufficient for a basic understanding, though it could have explicitly stated that it returns a list or object and is read-only.
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 tool has zero parameters, so the schema is empty. The baseline for zero parameters is 4. The description adds no parameter-level meaning because there are none to add, and it correctly focuses on the output rather than inputs.
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 ('Show') and clearly identifies the resource ('Lever control-plane tool families and API permissions'). This distinguishes it from the many CRUD operations on opportunities, postings, users, etc., as a meta/introspection tool. The purpose is immediately clear.
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 does not explicitly state when to use this tool versus alternatives. However, its unique purpose as a capability discovery tool implies it should be used to check available permissions before calling other tools. No alternatives are named because none are needed, but there is no explicit usage context or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_diversity_surveyAInspect
Retrieve the Lever diversity survey configuration for a posting. Requires a compliance reason and acknowledge_sensitive_data=true.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Compliance reason for reading diversity survey configuration. | |
| posting_id | Yes | Lever posting ID. | |
| acknowledge_sensitive_data | No | Must be true for high-sensitivity reads such as EEO PII, diversity surveys, or download URLs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that reading this configuration requires a compliance reason and explicit sensitive-data acknowledgment, indicating a sensitive/audited operation. However, it does not describe return format or error behavior; 'Retrieve' implies read-only.
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?
Single, front-loaded sentence that states the action and necessary prerequisites with no filler or redundancy.
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?
Covers purpose and prerequisites for a simple retrieval operation. With no output schema, the agent may not know the exact response shape, but all parameters are documented and the operation is straightforward enough to be largely complete.
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?
Schema coverage is 100% and each parameter already has a meaningful description. The description repeats the key requirements without adding new syntactic or semantic detail beyond what the schema provides.
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 the specific verb 'Retrieve' and names the exact resource 'Lever diversity survey configuration for a posting', clearly distinguishing it from sibling get/list tools like get_posting or list_eeo_responses.
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?
Provides clear context for when to use the tool and states required parameters (compliance reason, acknowledge_sensitive_data=true), but does not explicitly mention alternative tools or exclusions. The resource is specific enough that the intended use is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feedback_templateAInspect
Retrieve one Lever feedback template. Full template instructions and fields require detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| feedback_template_id | Yes | Lever feedback template ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses that full details require a reason and detail_profile=full, but this information is already present in the schema, so the description adds limited new behavioral context. It does not mention return format, error behavior, or permissions, which would be useful for a retrieval tool.
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 highly concise, with two sentences that convey the core purpose and a key usage detail. Every word earns its place, and it is front-loaded with the action and resource.
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?
Given the tool's simplicity (3 params, 1 required) and the schema's rich descriptions, the description adequately covers the primary purpose and a critical behavioral nuance. The lack of an output schema means the description does not need to explain return values, though a brief note on what the default operational view returns would make it more complete.
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?
Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema; it simply repeats the need for detail_profile=full and a reason. No additional parameter semantics or examples are provided.
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 clearly states the tool's action ('Retrieve') and resource ('one Lever feedback template'), distinguishing it from sibling tools like list_feedback_templates and create/update/delete variants. The focus on a single resource makes the purpose unambiguous.
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 provides clear context for use: retrieving a single template. It also notes that full details require detail_profile=full with a reason, guiding when and how to request complete data. However, it does not explicitly name alternative tools (e.g., list_feedback_templates for multiple templates) or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_form_templateAInspect
Retrieve one Lever profile form template. Full instructions and fields require detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| form_template_id | Yes | Lever form template ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses that full details require detail_profile=full and a reason, which is helpful. However, it does not mention safety profile (read-only), authentication requirements, or potential errors, though 'retrieve' implies a read operation.
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 a single sentence that front-loads the core purpose and includes the key constraint. There is no wasted verbiage, making it highly concise and well-structured.
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 and no annotations, so the description should compensate by explaining return values and behavior. It only states that it retrieves a template and mentions the full-detail requirement, but does not describe what the operational vs. full response contains. Given the schema fully covers parameters, the description is minimal but workable.
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?
Schema coverage is 100%, so the baseline is 3. The description adds a note that full instructions and fields require detail_profile=full with a reason, which reinforces the schema's existing documentation on the reason parameter. It does not add substantive new meaning beyond the schema.
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 clearly states the verb 'Retrieve' and the resource 'one Lever profile form template', which distinguishes it from list_form_templates. It is concise and unambiguous about the tool's scope.
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 when to use this tool (for retrieving a single template) and provides a hint about using detail_profile=full for full details, but it does not explicitly mention alternatives or when not to use it. There is no reference to list_form_templates for listing multiple templates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunityAInspect
Retrieve one Lever opportunity. Default output omits contact PII; use detail_profile=contact with a reason when names, emails, phones, links, and URLs are needed.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Lever expand parameter for endpoint-supported objects. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| include | No | Lever include parameter for endpoint-supported fields. | |
| detail_profile | No | operational omits contact PII; contact includes name, emails, phones, links, and URLs. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that default output omits contact PII and that contact details require a reason, which is valuable behavioral context beyond the raw schema. However, it does not mention authentication, error cases, or any side effects (though a read tool likely has none).
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?
Two sentences, front-loaded with the primary purpose. The second sentence adds a specific behavioral note without redundancy. No wasted 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?
Given the rich schema with full parameter descriptions and no output schema, the description covers the most important behavioral nuance (PII handling) and the tool's core action. It does not elaborate on expand/include, but the schema covers those, so the description is adequate for a get tool.
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?
Schema description coverage is 100%, so the schema already explains all 5 parameters. The description restates the detail_profile=contact behavior but adds no new semantic meaning for expand, include, or reason beyond what the schema provides. Baseline 3 is appropriate.
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 starts with 'Retrieve one Lever opportunity,' which clearly states a specific verb and resource with explicit singular scope. This distinguishes it from list_opportunities (plural), get_opportunity_application, and other subresource getters.
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?
No explicit guidance on when to use this tool versus siblings like list_opportunities or get_opportunity_application. It does provide clear parameter-level guidance about using detail_profile=contact with a reason for PII access, but tool selection is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_applicationAInspect
Retrieve one application attached to a Lever opportunity. Deprecated by Lever in favor of get_opportunity with expand=applications, but maintained for backwards compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| application_id | Yes | Lever application ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Retrieve' implies read-only, and the deprecation note is useful, but it does not mention return format, pagination, error behavior, or authentication needs. Basic transparency is present but not enriched.
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?
Two sentences, front-loaded with the primary action, followed by the deprecation note. Every word earns its place; no redundancy or fluff.
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?
Given a 4-parameter tool with clear schema descriptions, the description provides the essential purpose and the crucial deprecation alternative. It lacks a note on detail_profile return differences, but the schema covers param meaning. Sufficiently complete for a simple retrieval tool.
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?
Schema description coverage is 100%, so parameter descriptions already explain each field. The tool description adds no parameter-specific context, but the baseline of 3 is appropriate since the schema handles the semantics.
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 opens with a specific verb and resource: 'Retrieve one application attached to a Lever opportunity.' It also explicitly names the preferred alternative (get_opportunity with expand=applications), clearly distinguishing this tool from get_opportunity and list_opportunity_applications.
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 states 'Deprecated by Lever in favor of get_opportunity with expand=applications, but maintained for backwards compatibility,' providing explicit when-to-use and when-to-avoid guidance. This directly tells the agent to prefer the alternative while acknowledging backwards compatibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_feedbackAInspect
Retrieve one Lever feedback form. Default output keeps scores, timestamps, users, and field presence without returning field values.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| feedback_id | Yes | Lever feedback ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It goes beyond a generic 'get' by revealing that the default output omits field values and instead includes scores, timestamps, users, and field presence. This is a valuable behavioral insight, though it does not cover error handling or authentication.
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 a single, tightly written sentence that immediately states the core purpose and a critical output trait. No filler words; every element earns its place.
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 description gives a key fact about default output but leaves gaps. It does not explain the 'full' detail_profile behavior, the relationship between 'reason' and detail_profile (despite schema mentioning it), or the overall response structure. For a 4-parameter tool with no output schema and no annotations, this is adequate but not complete.
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 already provides 100% coverage, documenting each parameter with descriptions. The description does not add meaning beyond the schema; it only restates the default output behavior linked to detail_profile, which the schema already covers. Thus baseline 3 is appropriate.
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 clearly states the tool's action ('Retrieve one Lever feedback form'), identifies the specific resource (feedback form), and distinguishes it from listing operations by emphasizing 'one'. This aligns perfectly with a single-get tool.
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 provides clear context for when to use this tool: when you need a single feedback form identified by feedback_id. However, it does not explicitly mention alternatives like list_opportunity_feedback for enumerating forms, so it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_fileAInspect
Retrieve file metadata for one Lever opportunity file. Default output omits the download URL; full metadata requires detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| file_id | Yes | Lever file ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It reveals important behavioral details: default output omits the download URL, and full metadata requires setting detail_profile=full along with a reason. This goes beyond the schema and helps the agent understand side effects and prerequisites.
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?
Two sentences, no fluff, front-loaded with the primary purpose. Every word earns its place, and the parameter behavior is summarized efficiently.
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 is a simple metadata getter, and the description covers its key behavior with no output schema present. It doesn't enumerate what 'metadata' includes, but for this simplicity, the description is sufficient for an agent to select and invoke it correctly.
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?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the interplay between detail_profile and reason, and the consequence of the 'operational' vs 'full' setting on the output (download URL omitted by default). This supplements the schema's static descriptions.
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 clearly states the tool's function: 'Retrieve file metadata for one Lever opportunity file.' The verb 'Retrieve' and resource 'file metadata' are specific, and it distinguishes from sibling tools like download_opportunity_file (content vs metadata) and list_opportunity_files (one vs list).
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 provides clear context on how to use the tool, noting that the default output omits the download URL and that full metadata requires detail_profile=full. It implies the tool is for metadata retrieval, but it does not explicitly contrast with alternatives like download_opportunity_file, so it lacks explicit exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_formAInspect
Retrieve one Lever profile form attached to an opportunity. Default output summarizes fields without values; full field values require a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| form_id | Yes | Lever profile form ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a key behavioral nuance: default output summarizes fields without values, and full field values require a reason. This goes beyond a simple retrieval statement and informs the agent about potential authorization/input requirements.
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, concise, and front-loaded with the primary purpose. Every word adds value without unnecessary detail.
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 must convey some return behavior. It explains the two output modes (summary vs full) and the reason requirement, which covers the main nuances. However, it lacks specifics about the response structure or what the summary includes, leaving a small gap.
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?
Schema description coverage is 100%, so the schema already explains each parameter. The description does not add extra meaning beyond the schema, but it does reinforce the 'reason' parameter's role in enabling full values, which is already documented.
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 clearly states the action 'Retrieve' and the specific resource 'one Lever profile form attached to an opportunity'. This distinguishes it from sibling tools like list_opportunity_forms or get_opportunity, making its purpose unambiguous.
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 when a specific form's details are needed, but it does not explicitly state when to use this tool versus alternatives such as list_opportunity_forms. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_interviewAInspect
Retrieve one Lever interview by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| interview_id | Yes | Lever interview ID. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Retrieve,' which essentially restates the tool's name ('get'), and adds no disclosure about return format, error behavior, or required permissions. Without an output schema, the agent has no idea what response to expect.
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 a single, front-loaded sentence with no wasted words. Every word earns its place: verb, resource, scope, and lookup method. It is appropriately sized for the tool's simple nature.
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?
For a simple get-by-ID tool with no annotations and no output schema, the description is minimally sufficient but not complete. It does not mention that the interview belongs to an opportunity (though the name implies it), nor does it describe the expected return value. The absence of output schema makes this a notable gap, though the schema covers required parameters.
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 description adds no parameter-level meaning beyond the schema, which already documents both parameters with concise descriptions. Since schema coverage is 100%, the baseline of 3 applies; the description's phrase 'by ID' does not clarify which ID maps to which parameter, but the schema names them clearly.
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 the specific verb 'Retrieve' and clearly identifies the resource as 'one Lever interview,' distinguishing it from the sibling list_opportunity_interviews and other get_* tools. It explicitly states the scope ('one') and the lookup mechanism ('by ID'), making the purpose unambiguous.
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?
No explicit guidance is provided about when to use this tool versus alternatives like list_opportunity_interviews. The intended usage is implied from 'one' and 'by ID,' but the description does not mention alternative tools or exclusion criteria, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_noteAInspect
Retrieve one Lever opportunity note. Default output shows note metadata; full note values require detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| note_id | Yes | Lever note ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses two important behaviors: the default output is metadata-only, and full note values require detail_profile=full with a reason. This goes beyond the schema by explaining a conditional requirement. It does not cover auth, rate limits, or error cases, but for a read tool the key behavioral nuance is addressed.
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?
Two sentences, no filler. The first sentence is a clean action statement. The second sentence provides essential behavioral detail (default vs full, reason requirement). Every word earns its place, and the structure front-loads the primary purpose.
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?
For a tool with no output schema and no annotations, the description covers the core purpose and the most important edge behavior (full vs metadata). It omits what exactly constitutes 'metadata' vs 'full values,' and doesn't describe response format, but the default/full distinction gives enough guidance. This is complete for most agent interactions.
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?
Schema description coverage is 100%, providing baseline 3. The description adds semantic meaning by linking detail_profile=full to the reason requirement, which is not captured in the schema (reason is simply optional with length constraints). This clarifies the inter-parameter dependency and raises the score to 4.
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 opens with 'Retrieve one Lever opportunity note,' using a specific verb ('Retrieve') and clear resource ('Lever opportunity note'). It unambiguously distinguishes this from sibling tools like list_opportunity_notes (which lists multiple) and update_opportunity_note/delete_opportunity_note. The scope is singular and precise.
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 gives clear context on when to use the 'full' detail_profile versus the default, and notes that 'full' requires a reason. However, it does not explicitly name or exclude alternative tools (e.g., list_opportunity_notes for retrieving multiple notes). The guidance is implied rather than explicit, meriting a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_offerAInspect
Retrieve one Lever offer by scanning the documented Lever offers list for this opportunity. Default output supports offer hygiene checks without returning offer field values, signature data, or download URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| offer_id | Yes | Lever offer ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It reveals that the tool works by 'scanning the documented Lever offers list' and that the default output is limited to non-sensitive data, which adds context beyond a simple 'retrieve offer'. It does not discuss error handling or authentication, but for a read-type tool, this is reasonable.
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, front-loaded with the core purpose ('Retrieve one Lever offer'), and every clause adds useful detail. There is no fluff or redundancy.
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 description explains what the default output does *not* contain but does not specify what it *does* contain, which is a gap given the absence of an output schema. It also does not mention error behavior or the relationship to list_opportunity_offers, making it adequate but not fully complete.
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?
Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning to the parameters beyond what the schema already provides. The 'detail_profile' parameter is described in the schema with enum values, and the description does not elaborate further.
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 clearly states the tool retrieves a single Lever offer for a specific opportunity, using the verb 'Retrieve' and identifying the resource. It also differentiates from siblings like list_opportunity_offers and download_opportunity_offer_file by explicitly noting what the default output does not include.
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 provides a clear use case: 'supports offer hygiene checks' and indicates that the default output omits offer field values, signature data, and download URLs, implying it is for quick verification rather than detailed data retrieval. However, it does not explicitly name alternative tools for those needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_panelAInspect
Retrieve one Lever interview panel attached to an opportunity.
| Name | Required | Description | Default |
|---|---|---|---|
| panel_id | Yes | Lever panel ID. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. 'Retrieve' implies a read operation, but the description does not explicitly state safety, permissions, or error behavior (e.g., what happens if panel not found). It adds no behavioral context beyond what the tool name already conveys.
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?
A single, front-loaded sentence that efficiently conveys the action. There is no wasted text, and the structure is appropriate for the simple operation.
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?
With only two parameters, full schema coverage, and no output schema, the description is minimally complete. It clearly states the purpose, but does not describe the return format or any caveats. For a simple get, this is adequate but leaves some gaps.
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?
Schema coverage is 100% with each parameter (panel_id, opportunity_id) having a short description. The description adds no additional parameter semantics, but the schema already provides sufficient meaning. Baseline of 3 is appropriate.
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 ('Retrieve') and explicitly identifies the resource ('one Lever interview panel') and its scope ('attached to an opportunity'). This clearly distinguishes it from sibling tools like list_opportunity_panels (which lists all panels) and create/update/delete_panel (which mutate panels).
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 when a specific panel is needed (given opportunity_id and panel_id), but does not explicitly mention when to use this over alternatives such as list_opportunity_panels. No when-not-to-use or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_referralAInspect
Retrieve one Lever referral form for an opportunity.
| Name | Required | Description | Default |
|---|---|---|---|
| referral_id | Yes | Lever referral ID. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does, not what happens on success/failure, required auth, or whether the referral is nested or standalone. For a retrieve operation, this is minimal transparency.
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 a single, directly worded sentence with no filler. Every word contributes to meaning, making it both concise and front-loaded.
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 is simple (2 required parameters, no output schema, no annotations). The description covers the core purpose, and the schema covers parameters, but the agent receives no information about return format, error cases, or relationship to list_opportunity_referrals. This is adequate but leaves identifiable gaps.
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?
Schema description coverage is 100%, with both referral_id and opportunity_id described. The description adds no additional meaning beyond 'one referral form for an opportunity,' which matches the schema. Per the baseline rule, a 3 is appropriate since the schema already handles parameter documentation.
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 'Retrieve' and names the resource 'one Lever referral form' with the scope 'for an opportunity.' This clearly identifies the action and distinguishes it from sibling tools like list_opportunity_referrals, which retrieve multiple referrals.
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—'one' suggests this is for retrieving a single referral by ID—but it does not explicitly state when to choose this over list_opportunity_referrals or provide any exclusionary guidance. No alternatives are mentioned, so the usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opportunity_resumeAInspect
Retrieve resume metadata for one Lever opportunity resume. Default output omits parsed resume details and download URLs; full metadata requires a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| resume_id | Yes | Lever resume ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses that default output omits parsed resume details and download URLs, and that full metadata requires a reason—non-obvious behavior not apparent from the schema. No contradictions exist.
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?
Two sentences, front-loaded with the core purpose, and every phrase earns its place. It conveys key functional constraints without redundancy.
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?
For a single-resource metadata retrieval with 4 params and no output schema, the description covers the essential points: what it retrieves, default omissions, and the reason condition. It lacks explicit return structure or authentication notes, but is adequate given the tool's simplicity.
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?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining why 'reason' is needed (to get full metadata) and confirming the default behavior. It does not deeply elaborate on all parameters, but it supplements the schema meaningfully.
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?
Description states a specific verb ('Retrieve') and resource ('resume metadata for one Lever opportunity resume'), clearly distinguishing it from sibling tools like download_opportunity_resume (downloads the file) and list_opportunity_resumes (lists resumes). The singular focus on one resume is explicit.
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?
Provides clear context about default vs. full metadata and the reason requirement, guiding when to request full metadata. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_postingAInspect
Retrieve one Lever posting. Default output omits content and salary fields; use detail_profile=full with a reason when needed.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Lever expand parameter for endpoint-supported objects. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| include | No | Lever include parameter for endpoint-supported fields. | |
| posting_id | Yes | Lever posting ID. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses a key behavioral trait (default omits content/salary fields) and the reason requirement for full details, which goes beyond what the name alone implies. It doesn't cover all behaviors but is sufficient for this simple getter.
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?
Two sentences, front-loaded with purpose, followed by a crucial usage tip. No wasted words; every part earns its place.
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?
Given moderate complexity and no output schema, the description covers the essential caveat (default omission) and distinguishes the tool. It relies on the schema for expand/include parameter details, which is acceptable since schema descriptions are comprehensive.
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?
Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining the default behavior of detail_profile and why the reason parameter may be required, directly linking two parameters. This enriches the schema's static descriptions.
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 states 'Retrieve one Lever posting', which clearly specifies the verb and resource. It distinguishes from list_postings by emphasizing 'one' posting, making its singular purpose evident.
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?
It provides clear context on default output omission and instructs to use detail_profile=full with a reason when full details are needed. However, it does not explicitly mention alternatives or exclusions beyond this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_posting_application_questionsAInspect
Retrieve Lever posting application questions and posting apply-form schema.
| Name | Required | Description | Default |
|---|---|---|---|
| posting_id | Yes | Lever posting ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only says 'Retrieve,' which indicates a read operation, but does not disclose any details about return format, pagination, error handling, or required permissions. There is no additional behavioral context beyond the verb itself.
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 a single clear sentence with no wasted words. It front-loads the verb and states the target resource directly.
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?
This is a simple 1-parameter tool with no nested objects or output schema. The description states what is retrieved, which is sufficient for a straightforward getter, though it could mention that the returned data includes both questions and 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 schema fully describes posting_id as 'Lever posting ID.' (100% coverage), so the description adds no new parameter-level information. The baseline of 3 is appropriate since the schema handles the semantics.
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 the specific verb 'Retrieve' and clearly identifies the resource: 'Lever posting application questions and posting apply-form schema.' This distinguishes it from sibling getters like get_posting or get_opportunity_application.
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 the tool is used when you need the application questions or apply-form schema for a Lever posting, but it does not explicitly state when to use it over alternatives or any exclusions. For a simple getter, this is adequate but under-specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_requisitionAInspect
Retrieve one Lever requisition. Default output omits compensation band, internal notes, custom fields, and approval internals; full details require a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Lever expand parameter for endpoint-supported objects. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| include | No | Lever include parameter for endpoint-supported fields. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| requisition_id | Yes | Lever requisition ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the default output omits compensation band, internal notes, custom fields, and approval internals, and that full details require a reason. This is meaningful behavioral context beyond what a read-only hint would provide, though not exhaustive.
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, front-loaded with the core action, and every phrase adds value. It is concise and well-structured.
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 5 parameters and no output schema. The description, combined with the fully documented schema, provides enough context for correct invocation: it clarifies the reason requirement and default output behavior. It does not explain return value structure, but there is no output schema, so it is not strictly required.
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?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining what the default output includes/excludes (e.g., compensation band, internal notes) and that full details require a reason, which complements the schema's detail_profile and reason parameters.
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 the specific verb 'Retrieve' and names the resource 'one Lever requisition', clearly distinguishing it from list_requisitions (plural) and get_requisition_field (different resource). The additional detail about default output omissions clarifies the tool's scope.
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 states it retrieves a single requisition, which implies use when a specific requisition ID is known. It also notes that full details require a reason, giving guidance on when to provide that parameter. However, it does not explicitly name alternatives or exclusion criteria, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_requisition_fieldAInspect
Retrieve one Lever requisition field schema.
| Name | Required | Description | Default |
|---|---|---|---|
| requisition_field_id | Yes | Lever requisition field identifier. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'Retrieve,' which implies a read operation, but gives no details on return format, error behavior, permissions, or side effects (though likely none).
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 one concise sentence, front-loaded with the verb and resource, with no wasted words. It is appropriately sized for the tool's simplicity.
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?
With only one parameter and no output schema, the description is minimally adequate but could be more complete. It doesn't explain what 'schema' entails or what the response looks like, which would be helpful for an agent expecting to use the result.
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?
Schema description coverage is 100% for the single parameter, so the schema fully documents 'requisition_field_id'. The description adds no additional meaning beyond the schema, warranting the baseline score of 3.
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 clearly states the tool's action ('Retrieve') and resource ('one Lever requisition field schema'). The singular 'one' distinguishes it from sibling tool list_requisition_fields, making its scope unambiguous.
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?
Usage context is implied by the singular 'one' against the list sibling, but no explicit guidance is given about when to use this over list_requisition_fields or other alternatives. There are no stated exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stageCInspect
Retrieve one Lever stage.
| Name | Required | Description | Default |
|---|---|---|---|
| stage_id | Yes | Lever stage ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only states 'Retrieve one Lever stage' and adds no information about permissions, response contents, error behavior, or side effects. The verb 'Retrieve' implies a read operation, but no other traits are disclosed.
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 a single, front-loaded sentence with zero wasted words. It efficiently states the verb and object, which is appropriate for a simple get tool.
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 description is under-specified for the context. There are many sibling tools, but no guidance on how this tool differs. No output schema or annotations exist, so the description should clarify what 'stage' means or what the response looks like, but it does not.
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?
Schema coverage is 100% (the sole parameter stage_id has a description 'Lever stage ID.'). The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
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 ('Retrieve') and resource ('Lever stage'), clearly indicating a single-object fetch. It distinguishes from list_stages by the word 'one', but does not explicitly name alternatives or differentiate further.
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?
No usage guidance is provided. There is no mention of when to use this tool vs. list_stages or other get_* tools, no prerequisites, and no context about typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_userBInspect
Retrieve one Lever user.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Lever user ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only restates the read operation and adds no context about permissions, error handling, return format, or side effects.
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 a single, front-loaded sentence with no filler. It is appropriately concise for a simple getter tool.
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?
Despite the simple schema, the description fails to mention return value, error behavior, or usage context. With no output schema and no annotations, more detail is needed for an agent to confidently invoke the tool.
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 schema covers the only parameter (user_id) with a description ('Lever user ID.'), so the baseline score of 3 applies. The tool description adds no extra parameter information beyond the schema.
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 clearly states the tool retrieves a single Lever user, using the specific verb 'Retrieve' and identifying the resource. It distinguishes itself from siblings like list_users by specifying 'one' user.
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?
There is no guidance on when to use this tool versus alternatives such as list_users or get_contact. The description implies use for a specific user ID but does not mention alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_archive_reasonsAInspect
List Lever archive reasons, optionally filtered by hired or non-hired type.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It only says 'list' and 'optionally filtered', but does not disclose whether the operation is purely read-only, if there is pagination, ordering, or any other behavioral traits. This is a minimal disclosure that does not sufficiently characterize the tool's behavior.
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 a single concise sentence that includes the action, resource, and the relevant filtering option without any unnecessary detail. Every word serves a purpose.
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?
Given the tool's simplicity (one optional parameter, no output schema, no annotations), the description provides enough to understand the core functionality. However, it lacks any information about the return format, whether it returns all reasons when no filter is provided, or any potential caveats. For such a simple tool, this is adequate but not fully complete.
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 description adds meaning to the 'type' parameter by explaining it is an optional filter for 'hired' or 'non-hired' types. This goes beyond the raw schema, which only provides the enum without context. The description effectively communicates the parameter's purpose and optionality.
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 clearly states the tool lists Lever archive reasons and mentions optional filtering by type. This is a specific verb+resource combination, and it distinguishes itself from the sibling get_archive_reason by being a list operation rather than a single-fetch operation.
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 context by noting the optional filter, but it does not explicitly state when to use this tool versus get_archive_reason or any alternatives. It provides no exclusions or when-not-to-use guidance, so it only gives implied usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_audit_eventsAInspect
List Lever audit events for security and access investigations. This endpoint is a Lever add-on. Default output summarizes meta keys; full meta requires a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter returned events to a single event type. | |
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| user_id | No | Filter by acting user ID, or literal null for no-user events. | |
| target_id | No | Filter by target resource ID. Requires target_type in Lever. | |
| target_type | No | Filter by target resource type. | |
| created_at_end | No | ||
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| created_at_start | No | Unix timestamp in milliseconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds valuable context: 'Default output summarizes meta keys; full meta requires a reason' describes output behavior and a conditional requirement not apparent from the name alone. The add-on note also discloses potential non-availability. However, it does not mention pagination behavior or response format details, leaving some aspects unexplained.
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 long, with the primary purpose in the first sentence and key behavioral notes in the second. Every clause adds value: 'List Lever audit events for security and access investigations' states purpose, 'This endpoint is a Lever add-on' adds availability context, and 'Default output summarizes meta keys; full meta requires a reason' describes output behavior. No filler or redundancy.
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?
Given the tool's complexity (10 parameters, no output schema) and the absence of annotations, the description provides the most critical context: purpose, availability, and output behavior. It does not explain pagination or response structure, but the schema already details the cursor parameter and the description mentions meta key summarization. For a list tool with a well-documented schema, this level of completeness is above average.
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?
Schema description coverage is high (90%), and the schema already documents all parameters with clear descriptions, including enums and defaults. The description adds minimal parameter-specific meaning beyond the schema; the 'meta keys' and 'reason' references partially relate to detail_profile and reason, but these are already covered in the schema. Thus, a baseline score of 3 is appropriate—the schema carries the load, with only marginal added context.
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 starts with 'List Lever audit events for security and access investigations,' which uses a specific verb ('List'), a clear resource ('Lever audit events'), and a purpose ('security and access investigations'). This distinguishes it from all sibling list_* tools, which target other resource types. The mention of 'This endpoint is a Lever add-on' further clarifies its unique position.
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 provides context for when to use the tool ('for security and access investigations') and includes important usage caveats: 'This endpoint is a Lever add-on' implies availability constraints, and 'full meta requires a reason' sets a prerequisite. It does not explicitly mention alternatives or when not to use it, but no direct alternatives exist among the sibling tools, so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_deleted_applicationsAInspect
List deleted Lever applications within a required 30-day deleted_at window.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| deleted_at_end | Yes | Exclusive upper bound in Unix milliseconds. Window may not exceed 30 days. | |
| deleted_at_start | Yes | Inclusive lower bound in Unix milliseconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a key behavioral constraint (the required 30-day deleted_at window) and the scope (deleted only), but it does not mention pagination behavior, result ordering, error handling, or the read-only nature of the operation. This is minimal but not misleading.
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 a single sentence of ten words, immediately conveying the action, resource, and key constraint. There is zero redundancy, and every word contributes meaningful information.
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?
For a simple list operation with schema-covered parameters and no output schema, the description adequately conveys the essential selection criteria: it lists deleted applications within a required window. It does not explain return values, but the verb 'List' implies a list, and the schema already covers pagination parameters. A mention of pagination behavior would improve completeness, but it is not strictly necessary.
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 describes all four parameters with 100% coverage, including the purpose of limit, cursor, deleted_at_start, and deleted_at_end. The description adds only the relationship between the two required date parameters (30-day window), which slightly reinforces the schema but doesn't provide substantial new semantics. Baseline 3 is appropriate.
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 clearly states the action ('List'), the resource ('deleted Lever applications'), and a distinctive constraint (required 30-day deleted_at window). This differentiates it from sibling tools like list_deleted_opportunities and list_opportunity_applications by specifying both the deleted status and the time window.
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 gives clear context for when to use this tool (retrieving deleted applications with a 30-day window) but does not explicitly mention alternatives or when not to use it. The scope is evident from the wording, but no direct comparison to other list tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_deleted_opportunitiesAInspect
List deleted Lever opportunities within a required 30-day deleted_at window.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| deleted_at_end | Yes | Exclusive upper bound in Unix milliseconds. Window may not exceed 30 days. | |
| deleted_at_start | Yes | Inclusive lower bound in Unix milliseconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only restates the window constraint also present in the schema and does not mention read-only nature, pagination behavior, or return format. This is insufficient for a tool with no structured safety signals.
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 a single, focused sentence with no filler. It front-loads the core purpose and the key constraint.
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?
While the schema is detailed, the description is minimal. With no annotations and no output schema, the agent is left without information about response structure or error conditions. The 30-day window is already in the schema, so the description adds little beyond the tool name.
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?
Schema description coverage is 100%, so the schema documents all four parameters. The description adds no additional parameter semantics beyond what the schema already provides, hence baseline score.
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 clearly states the tool lists deleted Lever opportunities, using a specific verb and resource. It is distinguishable from sibling tools like list_opportunities and list_deleted_applications by the 'deleted' and 'opportunities' combination, plus the 30-day window.
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 provides clear context: use when you need deleted opportunities filtered by a 30-day deleted_at window. It does not explicitly cite alternatives or exclusions, but the scope is unambiguous and the sibling names further clarify the niche.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_deleted_postingsAInspect
List deleted Lever postings within a required 30-day deleted_at window.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| deleted_at_end | Yes | Exclusive upper bound in Unix milliseconds. Window may not exceed 30 days. | |
| deleted_at_start | Yes | Inclusive lower bound in Unix milliseconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of transparency. It discloses the 30-day window limitation and the fact that only deleted postings are returned, which are useful behavioral traits. However, it does not explicitly state that the operation is read-only, nor does it describe pagination behavior or what happens if the window constraint is violated.
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 a single, clear sentence that front-loads the action and resource. Every word contributes: it specifies 'deleted,' 'Lever postings,' and the essential 30-day window constraint. There is no redundancy or filler.
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 description, combined with a fully detailed schema, provides enough context for a list tool. It clearly states what is listed and the critical time-window requirement. It does not describe the return format, but since no output schema exists and 'list' implies a collection of postings, this is a minor gap.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds a small amount of context by highlighting the 'required 30-day deleted_at window,' which aligns with the schema's own note on deleted_at_end. It does not provide additional meaning for limit or cursor beyond what the schema already states.
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 clearly states a specific verb ('List') and a distinct resource ('deleted Lever postings'). It also introduces the key constraint of a required 30-day deleted_at window, which distinguishes this tool from sibling tools like list_postings, list_deleted_applications, or list_deleted_opportunities.
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: when you need to retrieve deleted postings within a 30-day window. However, it does not explicitly mention alternatives or when not to use this tool (e.g., for non-deleted postings, use list_postings). The required window is a constraint but not a comparative guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_disposition_stagesAInspect
List Lever disposition stages used for archive/disposition reporting.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the transparency burden. It clearly states a read-only listing operation but offers no additional details like pagination, sort order, or scope limits. For a zero-parameter list, this is minimally acceptable but not rich.
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 a single sentence that front-loads the action and resource, with no filler or redundancy.
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?
Given the tool's simplicity (no parameters, no output schema), the description provides adequate context for what it lists and why. It is complete enough for an agent to invoke correctly without expecting additional structure.
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 zero parameters and 100% coverage, so the baseline per rubric is 4. The description adds no parameter-specific details, but none are needed.
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 the specific verb 'List' with the resource 'Lever disposition stages' and adds context about archive/disposition reporting. This clearly distinguishes it from sibling tools like list_stages and list_archive_reasons.
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 phrase 'used for archive/disposition reporting' provides clear context for when to use this tool. It does not explicitly compare with alternatives, but the specific purpose narrows the usage enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_eeo_responsesAInspect
List anonymous Lever EEO responses for compliance analysis. Use carefully and only with an appropriate compliance reason.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| expand | No | Comma-separated fields Lever allows expanding, such as contact, hiringManager, posting. | |
| reason | Yes | Compliance reason for reading anonymous EEO responses. | |
| created_at_end | No | ||
| created_at_start | No | Unix timestamp in milliseconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It mentions 'anonymous' and 'compliance reason' but does not disclose operational traits such as read-only nature, permission requirements, pagination behavior, or response content. 'Use carefully' is a vague warning that adds little concrete behavioral information for a sensitive compliance tool.
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 short sentences, each earning its place. The first sentence states the purpose with a clear verb and resource; the second adds a necessary caution. It is front-loaded and free of unnecessary wording.
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?
Without an output schema or annotations, the description leaves gaps: it does not explain the expected return format, pagination behavior (though the `cursor` parameter hints at it), or how to choose between this tool and `list_eeo_responses_with_pii`. The 'compliance analysis' context is useful but the tool's overall usage context is not fully complete for a sensitive endpoint.
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?
Schema coverage is high (83%), with detailed descriptions for most parameters. The description does not add parameter-specific information beyond what the schema already provides; for example, the `reason` parameter's role is already described as 'Compliance reason for reading anonymous EEO responses.' Thus, the description meets the baseline without needing to compensate.
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 clearly states a specific action ('List'), resource ('anonymous Lever EEO responses'), and context ('for compliance analysis'). It also distinguishes from the sibling tool `list_eeo_responses_with_pii` by using 'anonymous', signaling this is the non-PII variant.
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 cautions to 'Use carefully and only with an appropriate compliance reason' but does not explicitly state when to use this tool over `list_eeo_responses_with_pii` or other list tools. The 'anonymous' qualifier implies non-PII contexts, but alternatives are not named, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_eeo_responses_with_piiAInspect
List Lever EEO responses with PII. This is high-sensitivity compliance data and requires both a reason and acknowledge_sensitive_data=true.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| expand | No | Comma-separated fields Lever allows expanding, such as contact, hiringManager, posting. | |
| reason | Yes | Compliance reason for reading EEO responses with PII. | |
| created_at_end | No | ||
| created_at_start | No | Unix timestamp in milliseconds. | |
| acknowledge_sensitive_data | No | Must be true for high-sensitivity reads such as EEO PII, diversity surveys, or download URLs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It highlights the sensitive nature and required parameters, but does not expand on side effects (which are minimal for a list), response format, or data handling expectations beyond the sensitivity warning.
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 front-loaded with the core purpose, with no redundant words or repetition of schema details.
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 7 parameters and no output schema, but the description covers the essential compliance context. However, it does not describe pagination behavior or the response structure, which might be important for an agent using this tool without prior knowledge.
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?
Schema description coverage is 86%, so the parameters are mostly self-explanatory. The description calls out 'reason' and 'acknowledge_sensitive_data' but merely restates what the schema already says, adding little semantic value.
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 clearly states the tool's action ('List') and resource ('Lever EEO responses with PII'), distinguishing it from the sibling tool 'list_eeo_responses' by explicitly including PII in the scope.
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 notes that this is high-sensitivity compliance data and specifies prerequisites (reason, acknowledge_sensitive_data=true), giving clear context for when to use it. However, it does not explicitly mention alternatives or when not to use it, such as referencing 'list_eeo_responses' for non-PII data, so the usage guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_feedback_templatesAInspect
List active Lever feedback templates, useful for interview-loop and scorecard-design audits.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only adds the 'active' filter context but does not disclose the return format, pagination behavior, or confirm it's a read-only operation. Given the absence of annotations, this is a significant gap for a list tool with pagination parameters.
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, front-loaded with the verb+resource, and includes a relevant use case without unnecessary filler.
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?
No output schema exists and no annotations are provided, so the description should explain what a feedback template is or what the response contains. It doesn't, leaving the agent to infer from the tool name and schema. The use-case hint helps but is insufficient for full completeness.
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?
Schema description coverage is 100%, with detailed descriptions for limit, cursor, reason, and detail_profile. The description adds no additional parameter information beyond the schema, so baseline 3 is appropriate.
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 clearly states 'List active Lever feedback templates' with a specific verb and resource, and adds the use-case context for interview-loop and scorecard-design audits. This distinguishes it from get_feedback_template (single template) and list_form_templates (different resource).
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 gives a clear use case ('useful for interview-loop and scorecard-design audits') but does not explicitly state when not to use this tool or name alternatives like get_feedback_template for a single template. This is clear context without exclusions, warranting a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_form_templatesAInspect
List Lever profile form templates, useful for profile-form hygiene and structured-data coverage audits.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| include | No | Comma-separated attributes to include, such as text, group, fields. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does not mention read-only nature, pagination, rate limits, or result structure. The brevity leaves the agent to infer behavior from the schema and tool name, which is insufficient.
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 a single sentence with a clear verb and object, no redundancy with the tool name or schema, and no filler. It is efficient and well-structured.
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?
With 5 parameters, no output schema, and no annotations, the description is too sparse. It fails to explain pagination behavior, return format, or the intended use of include vs detail_profile. The use-case sentence helps but does not compensate for the missing operational completeness needed for an agent to invoke the tool correctly.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides, and the 'reason' parameter description in the schema appears inconsistent with the detail_profile enum, but that is a schema issue, not a description issue.
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 resource ('Lever profile form templates'), clearly distinguishing it from sibling tools like list_feedback_templates and get_form_template. The use-case phrase adds practical context and makes the tool's scope explicit.
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?
It provides clear context with 'useful for profile-form hygiene and structured-data coverage audits', but it does not explicitly contrast with alternatives such as get_form_template for a single template or list_feedback_templates. This is clear context without exclusions, warranting a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunitiesAInspect
List Lever opportunities for recruiting-ops investigations. Default output omits contact PII while preserving stage, owner, source, tag, application, archive, snooze, and timestamp fields.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Comma-separated tag filters. Tags are case-sensitive. | |
| No | Filter by exact candidate contact email. | ||
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| expand | No | Lever expand parameter for endpoint-supported objects. | |
| origin | No | Comma-separated origin filters, such as sourced or applied. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| source | No | Comma-separated source filters. | |
| include | No | Lever include parameter for endpoint-supported fields. | |
| snoozed | No | ||
| archived | No | ||
| stage_id | No | Comma-separated stage IDs. | |
| contact_id | No | Comma-separated contact IDs. | |
| posting_id | No | Comma-separated posting IDs. | |
| created_at_end | No | ||
| detail_profile | No | operational omits contact PII; contact includes name, emails, phones, links, and URLs. | operational |
| updated_at_end | No | ||
| advanced_at_end | No | ||
| archived_at_end | No | ||
| confidentiality | No | ||
| created_at_start | No | Unix timestamp in milliseconds. | |
| updated_at_start | No | ||
| advanced_at_start | No | ||
| archive_reason_id | No | Comma-separated archive reason IDs. | |
| archived_at_start | No | ||
| archived_posting_id | No | Comma-separated archived posting IDs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It usefully discloses that the default output omits contact PII while preserving specific fields, which is valuable context. However, it does not mention pagination behavior, read-only nature, or the effects of detail_profile, leaving several behavioral aspects undocumented.
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 short sentences with the verb and resource front-loaded. Every clause adds useful information, and there is no filler or repetition of schema details.
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?
For a tool with 26 parameters, no output schema, and no annotations, the description is serviceable but not comprehensive. It gives a clear default behavior, but omits pagination, expand/include options, detail_profile implications, and the broader range of filters, relying heavily on the schema for completeness.
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?
Schema coverage is 62%, and many parameters already have descriptive text. The description adds little parameter-level meaning beyond hinting at output fields like stage, source, and tag, which map to some filters. It does not compensate for the remaining undocumented parameters, so it stays at 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 clearly states the action ('List'), resource ('Lever opportunities'), and context ('recruiting-ops investigations'), and adds meaningful detail about the default PII-safe output. It is distinct from many sibling tools at a glance, though it does not explicitly differentiate itself from similar list tools like list_deleted_opportunities or list_opportunity_applications.
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 use for recruiting-ops investigations and emphasizes the PII-safe default, which hints at when this tool is appropriate. However, it does not explicitly state when to prefer it over alternatives such as get_opportunity or list_opportunity_applications, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_applicationsAInspect
List applications attached to one Lever opportunity. Deprecated by Lever in favor of get_opportunity with expand=applications, but maintained for backwards compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. The deprecation notice is a useful behavioral disclosure, but it omits other aspects like pagination behavior, auth requirements, or response structure. Adds some value but not comprehensive.
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?
Two sentences: purpose in the first, deprecation/alternative in the second. No wasted words, front-loaded and highly scannable.
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?
For a deprecated list tool, the description covers purpose, deprecation, and alternative, and the schema handles parameter details. It doesn't explain return shape, but this is acceptable given its simplicity and schema richness.
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?
Schema coverage is 100%, so parameters are fully described. The description adds no extra parameter meaning beyond the schema, warranting the baseline 3.
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 clearly states it lists applications for one Lever opportunity, distinguishing it from list_opportunities and get_opportunity_application. The verb 'List' plus the resource and scope make it unambiguous.
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?
Explicitly says the tool is deprecated in favor of get_opportunity with expand=applications, giving the agent a direct alternative and clear guidance to prefer the modern approach. This is precise when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_feedbackAInspect
List feedback forms for a Lever opportunity. Default output keeps scores, timestamps, users, and field presence without returning field values.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It goes beyond a generic 'list' statement by explaining the default output behavior (keeps scores, timestamps, users, and field presence without returning field values). However, it omits other behavioral facets like pagination or the effect of the 'reason' parameter, leaving some gaps.
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 a single, well-structured sentence that front-loads the purpose and then adds a concise, valuable behavioral detail about the default output. No redundant or filler content.
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?
Given the 100% schema coverage and lack of an output schema, the description is reasonably complete. It clarifies the default output and the tool's purpose. However, it does not elaborate on the 'full' detail_profile or when to provide 'reason', though those are explained in the schema. This is adequate for the tool's complexity.
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?
Schema description coverage is 100%, with all five parameters adequately described (limit, cursor, reason, detail_profile, opportunity_id). The description itself does not add parameter-level semantics beyond implying the default detail_profile behavior. Since the schema already carries the load, the baseline score of 3 is appropriate.
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 clearly states the action ('List') and the resource ('feedback forms for a Lever opportunity'), making it specific and distinguishable from sibling tools like 'get_opportunity_feedback' (singular fetch) and 'list_feedback_templates' (different resource). It also adds a behavioral note about default output, further clarifying scope.
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 provides clear context: this tool lists feedback forms for a specific opportunity. It does not explicitly mention alternatives or exclusions, but the context is unambiguous enough for an agent to select it appropriately. A note distinguishing it from 'get_opportunity_feedback' would push it to 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_file_actionsAInspect
List file-related activity for a Lever opportunity, useful for resume/import/change hygiene without downloading files.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| opportunity_id | Yes | Lever opportunity ID. | |
| occurred_at_end | No | ||
| occurred_at_start | No | Unix timestamp in milliseconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'List file-related activity' and 'without downloading files,' which is minimal. It does not explain what 'activity' entails (e.g., file uploads, deletions), return format, pagination behavior, or any access requirements. This is a significant gap for a tool with no annotation support.
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 a single sentence of 17 words, front-loaded with the core purpose ('List file-related activity for a Lever opportunity') and followed by a concise use-case clarifier. Every word earns its place with no redundancy or irrelevant detail.
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?
There is no output schema and no annotations, so the description must explain what the tool returns. It vaguely says 'file-related activity' but does not describe the response structure, what actions are included, or pagination. The use-case note is helpful but insufficient for a tool that lists activity, leaving significant gaps for an agent to invoke and interpret results correctly.
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?
Schema description coverage is 80% (4 of 5 parameters have descriptions), so the baseline is 3. The tool description does not add parameter-level meaning; it omits any reference to the filter parameters or cursor pagination. It adds no value beyond the schema, so the baseline score stands.
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 clearly states it lists file-related activity for a Lever opportunity, with a specific verb ('List') and resource ('file-related activity'). It distinguishes this from sibling tools like list_opportunity_files (files themselves) and download_opportunity_file (downloading), and the phrase 'without downloading files' reinforces the specific scope.
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 explains the tool is useful for 'resume/import/change hygiene without downloading files,' providing a clear use case and implying it's an alternative to downloading. However, it does not explicitly name alternative tools or state when not to use it, so it's slightly below the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_filesAInspect
List file metadata for a Lever opportunity. Default output omits download URLs; full metadata requires detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. | |
| uploaded_at_end | No | ||
| uploaded_at_start | No | Unix timestamp in milliseconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that default output omits download URLs and that full metadata requires a specific profile and reason, which is important behavior not obvious from the name or schema. It could mention pagination or errors, but the core caveat is covered.
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 a single sentence that front-loads the purpose and immediately follows with the most important behavioral caveat. Every word earns its place; no redundant or filler content.
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 description covers the main behavioral nuance but lacks details about response shape, pagination behavior, and error handling. Since there is no output schema and no annotations, the agent would need to infer some of these from the parameter schema and sibling tools. Adequate but not fully complete.
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?
Schema coverage is high (86%), so the baseline is 3. The description adds value by explaining the default operational profile and linking full metadata to the detail_profile and reason parameters, giving agent-motivating context beyond the schema descriptions.
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?
Description uses a specific verb ('List') and resource ('file metadata for a Lever opportunity'), clearly distinguishing it from get/download/delete file sibling tools. It also clarifies the output is metadata, not file content or download URLs.
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?
Provides clear context for when to use the tool (listing file metadata for an opportunity) and actionable guidance on using detail_profile=full with a reason when full metadata is needed. It does not explicitly name alternative tools, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_formsCInspect
List additional forms attached to a Lever opportunity.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only states that it lists forms, without mentioning pagination (despite the limit/cursor parameters), read-only nature, response shape, or the meaning of 'additional'. This is insufficient for a complete behavioral understanding.
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 a single sentence, front-loading the action and resource with no redundant words. However, the term 'additional' is vague and could be more explicit, which prevents a perfect score for clarity within conciseness.
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?
Given no annotations and no output schema, the description leaves critical gaps: it does not explain what 'additional forms' means, what the response structure looks like, or how pagination works. The schema covers parameters but not the overall behavior, and the description fails to compensate.
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?
Schema coverage is 100% with descriptive text for all three parameters (limit, cursor, opportunity_id). The description itself adds no parameter-specific context, so it meets the baseline for high schema coverage without needing to compensate.
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 states the action ('List'), the object ('additional forms'), and the parent scope ('a Lever opportunity'). It is distinct from sibling tools like get_opportunity_form (singular) and list_form_templates (not opportunity-attached), though the word 'additional' is ambiguous and not fully clarified.
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?
No guidance is provided on when to use this tool versus alternatives such as get_opportunity_form or list_opportunity_notes. There are no exclusions, prerequisites, or explicit use-case context, so the agent cannot infer the appropriate selection criteria beyond the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_interviewsAInspect
List interviews for a Lever opportunity, including schedule metadata, panel/interviewer references, and feedback template references.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses that responses include schedule metadata and references (not full details) for panels and feedback templates. However, it does not mention pagination behavior, result limits, or the read-only nature beyond the verb 'list'.
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 a single sentence of 15 words, front-loaded with the verb and resource, and contains no redundant or filler information. Every phrase adds value.
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?
For a simple list tool with no annotations and no output schema, the description states the purpose and hints at response contents (schedule metadata, references). It does not explicitly outline the return structure or pagination, but the schema covers parameter details. This is adequate for a list endpoint, though slightly more detail on response shape would improve completeness.
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 already provides descriptions for all three parameters (limit, cursor, opportunity_id), giving 100% coverage. The description adds no additional parameter semantics beyond identifying the resource as 'a Lever opportunity'.
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 clearly states 'List interviews for a Lever opportunity' with a specific verb and resource. It further distinguishes itself from siblings like list_opportunity_notes or list_opportunity_feedback by mentioning the included metadata (schedule, panel/interviewer references, feedback template references).
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 for retrieving interview data for an opportunity but does not explicitly state when to use this tool versus alternatives such as get_opportunity_interview (single interview) or other list endpoints. There are no exclusions or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_notesAInspect
List notes for a Lever opportunity. Default output shows note metadata and whether body text exists; full note values require detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and adds useful behavioral context: default is metadata-only, full values require a reason. This explains a non-obvious behavior. However, it omits other behaviors like pagination mechanics or response format, so it is not exhaustive.
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?
Two sentences, front-loaded with the primary action. Every clause adds information: listing notes, default behavior, and the requirement for full details. No filler or repetition.
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 description covers the core function and the key detail-profile caveat but lacks guidance on pagination (though limit/cursor are in schema) and does not describe the return structure beyond 'metadata and body text existence'. Given the absence of an output schema, the description should provide more context for a list operation.
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?
Schema coverage is 100%, so baseline is 3. The description adds value by connecting detail_profile=full with the reason requirement, clarifying the interaction between these parameters beyond their individual schema descriptions. This is a meaningful addition.
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 clearly states 'List notes for a Lever opportunity' with a specific verb ('List') and resource ('notes for a Lever opportunity'). This distinguishes it from sibling tools like get_opportunity_note (singular) and other list_* tools by targeting opportunity notes specifically.
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?
It implies when to use the default output vs. full detail via 'detail_profile=full with a reason', but it does not explicitly mention alternatives or when not to use this tool. For example, it does not point to get_opportunity_note for retrieving a single note. Usage context is present but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_offersAInspect
List offers for a Lever opportunity. Default output supports offer hygiene checks without returning offer field values, signature data, or download URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: the default output excludes offer field values, signature data, and download URLs. This is useful for setting expectations. However, it does not explicitly state that the operation is read-only, nor does it mention pagination behavior, which are important for an agent to know.
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 concise sentences. The first provides the core purpose, and the second adds a valuable behavioral note. There is no redundancy or unnecessary detail, making it efficient and easy to parse.
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?
Given the tool has 5 parameters and no output schema, the description only partially clarifies the expected output. It states what is excluded from the default output but does not describe what is included, nor does it explain pagination or how the detail_profile parameter affects the response. This leaves notable gaps for an agent.
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?
Schema description coverage is 100%, so all parameters are already documented in the schema. The description adds a small amount of context about the default output's relationship to the detail_profile parameter, but it does not significantly enhance understanding of the parameters themselves.
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 clearly states the tool's purpose with a specific verb and resource: 'List offers for a Lever opportunity.' It also adds specificity by mentioning 'offer hygiene checks,' which helps differentiate it from other offer-related tools and clarifies the intended use case.
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 provides clear context that this tool is for listing offers for an opportunity, implying it should be used when a list is needed. However, it does not explicitly mention alternative tools for single-offer retrieval or when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_panelsBInspect
List interview panels for a Lever opportunity.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining behavior. It only says 'List' which implies read-only, but does not disclose pagination, return format, or that it requires an existing opportunity. Lack of explicit safety or side-effect information is a gap.
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 a single, clear sentence with no redundant info. It is appropriately sized and front-loaded.
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 is simple and the schema fully documents parameters, making invocation straightforward. However, with no output schema, the description doesn't mention return structure or pagination details, leaving some context incomplete.
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 covers 100% of parameters with descriptions, so the description adds no additional parameter semantics. Baseline of 3 is appropriate since the schema already explains `limit`, `cursor`, and `opportunity_id`.
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 clearly states the action ('List') and the resource ('interview panels') for a specific scope ('Lever opportunity'). It distinguishes itself from siblings like get_opportunity_panel (singular) and create/update/delete panel tools.
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?
No guidance is given on when to use this tool versus alternatives, or on pagination behavior. The description implies usage for a specific opportunity but does not mention exclusions or when to choose `get_opportunity_panel` instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_referralsAInspect
List referrals for a Lever opportunity. This returns Lever's referral form payload; use it for referral-source and referral-SLA investigations.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It reveals that the tool returns 'Lever's referral form payload' and implies read-only by 'List'. But it does not mention auth, pagination response details, or potential side effects, leaving some behavioral aspects undisclosed.
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, front-loaded with the action and resource, and contains no filler or redundant wording. Every phrase adds value.
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?
There is no output schema, so the description's note about returning the referral form payload partially addresses return semantics. Combined with a fully described parameter list and explicit use cases, the tool is reasonably complete for a list operation, though the exact return structure remains vague.
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 covers all three parameters with descriptions (100% coverage), so schema does the heavy lifting. The description adds no parameter-specific semantics beyond what is already in the schema, so the baseline of 3 is appropriate.
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 clearly states the action ('List referrals') and the resource ('a Lever opportunity'), and adds specific investigative use cases ('referral-source and referral-SLA investigations'). It is distinct from the sibling get_opportunity_referral by indicating a list operation and payload type.
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 explicitly says to use it for referral-source and referral-SLA investigations, giving clear context. However, it does not mention alternatives or when not to use this tool, such as distinguishing from get_opportunity_referral.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_opportunity_resumesAInspect
List resume metadata for a Lever opportunity. Default output omits parsed resume details and download URLs; full metadata requires detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses two important behavioral traits: default output omits parsed resume details and download URLs, and full metadata requires a reason. This adds useful context beyond a simple 'list' statement. However, it does not discuss pagination behavior, response structure, or error conditions, leaving some transparency gaps.
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, directly stating the purpose and a key behavioral nuance with no filler. It is front-loaded and easy to parse, every sentence earns its place.
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 5 parameters, a clear schema, and no output schema. The description covers the essential behavior (list vs full), while the schema covers parameter details. It could be more explicit about return format or pagination, but given schema richness and simplicity of the operation, it is reasonably complete.
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 schema provides 100% coverage with detailed descriptions for all five parameters, so the baseline is 3. The description adds marginal value by reiterating that detail_profile=full requires a reason and that default output is operational, but it does not clarify parameter syntax or add meaning beyond what the schema already states.
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 clearly states the action (list), the resource (resume metadata), and the scope (for a Lever opportunity). It distinguishes itself from sibling tools like download_opportunity_resume and get_opportunity_resume by focusing on metadata listing, and further specifies default vs full metadata behavior.
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 this tool is for listing resume metadata rather than downloading or fetching a single resume. It provides clear usage guidance within the tool: use detail_profile=full with a reason to get full metadata, and notes the default omits parsed details. However, it does not explicitly contrast with alternatives or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_postingsBInspect
List Lever postings for job, team, department, location, requisition, and distribution-channel analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Comma-separated tag values. | |
| team | No | Comma-separated team names. | |
| group | No | ||
| level | No | Comma-separated deprecated level values. | |
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| state | No | ||
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| expand | No | Lever expand parameter for endpoint-supported objects. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| include | No | Lever include parameter for endpoint-supported fields. | |
| location | No | Comma-separated location names. | |
| commitment | No | Comma-separated work type names. | |
| department | No | Comma-separated department names. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| updated_at_end | No | ||
| confidentiality | No | ||
| updated_at_start | No | Unix timestamp in milliseconds. | |
| distributionChannel | No | Comma-separated public/internal filters. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'List,' implying a read operation, but does not disclose pagination behavior, return format, or any side effects. It adds minimal context beyond the tool's name.
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 a single sentence of 14 words, front-loaded with the verb and resource. It contains no filler or redundant information, earning every word's place.
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?
Despite having 18 parameters, no output schema, and no annotations, the description is extremely sparse. It does not explain pagination, grouping behavior, detail_profile options, or what the response contains. For a tool of this complexity, the description is inadequate.
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?
Schema description coverage is 78%, so the schema already documents most parameter meanings. The description mentions analysis dimensions (job, team, department, location, requisition, distribution-channel) which loosely map to some parameters, but it does not add concrete syntax or formatting details beyond what the schema provides.
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 clearly states the verb 'List' and the resource 'Lever postings,' with a scope of analysis dimensions. It distinguishes from sibling list tools like list_deleted_postings or list_posting_users by focusing on postings, but does not explicitly name alternatives.
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 phrase 'for ... analysis' implies a use case for analyzing postings across various dimensions, but it does not provide explicit guidance on when to use this tool versus alternatives like get_posting or list_deleted_postings, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_posting_usersAInspect
List users and roles with access to one Lever posting, useful for confidential-posting access audits.
| Name | Required | Description | Default |
|---|---|---|---|
| posting_id | Yes | Lever posting ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, but it only states that the tool lists users and roles with access. It does not disclose potential behaviors such as permission requirements, pagination, or whether only active users are included. As a read-only list operation, the lack of destructive intent is implied, but more explicit detail would improve transparency.
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 one sentence, front-loaded with the verb and resource, and includes a purpose. Every word adds value; there is no redundancy or clutter.
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?
Given the tool's simplicity (one parameter, no output schema), the description adequately conveys what the tool does and what it returns (users and roles). It does not provide output format details, but for a straightforward list operation with a clear semantic, this is largely sufficient. Slight room for improvement would be noting that it returns roles per user.
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 schema already covers the only parameter (posting_id) with a description ('Lever posting ID.'), so baseline is 3. The description adds no further parameter semantics, but with 100% schema coverage, that is acceptable.
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 clearly states the tool lists users and roles with access to a specific Lever posting, distinguishing it from list_users (all users) and list_postings (postings). It also includes a specific use case (confidential-posting access audits), making the purpose unambiguous.
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 phrase 'useful for confidential-posting access audits' provides a clear context for when to use this tool. However, it does not explicitly name alternative tools to avoid (e.g., list_users) or state when not to use it. The usage is implied rather than spelled out, but the intent is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_requisition_fieldsAInspect
List Lever requisition field schemas, optionally filtered by required flag or top-level type.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by top-level type, such as number, text, date, object, or dropdown. | |
| isRequired | No | Filter requisition fields by required flag. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. The verb 'List' implies read-only, and the filter options add context, but there is no mention of pagination, output format, permissions, or side effects. It provides basic transparency but not rich detail.
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 a single concise sentence that front-loads the verb and resource, then adds filter options. Every word contributes; there is no redundancy or irrelevant detail.
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?
For a simple tool with two optional parameters and no output schema, the description adequately covers the core functionality and filter options. It is sufficiently complete, though it does not describe the exact return structure or offer examples of top-level types, which the schema already provides.
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?
Schema coverage is 100%, so both parameters already have descriptions. The tool description restates their role as optional filters and clarifies they are for filtering, but it does not add substantial new meaning beyond the schema. The baseline of 3 applies.
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 clearly states the tool's action ('List') and specific resource ('Lever requisition field schemas'), distinguishing it from sibling tools like list_requisitions (lists requisitions) and get_requisition_field (gets a single field). The optional filtering conditions further clarify scope.
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 the tool is for retrieving field schema lists, optionally filtered by required flag or top-level type. It gives context on appropriate use but does not explicitly name alternatives or exclusion criteria, though the resource and filter language make the use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_requisitionsAInspect
List Lever requisitions for open headcount, filled headcount, owner, hiring manager, team, department, and status analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| expand | No | Lever expand parameter for endpoint-supported objects. | |
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| status | No | Filter requisitions by Lever status, such as open. | |
| include | No | Lever include parameter for endpoint-supported fields. | |
| created_at_end | No | ||
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
| confidentiality | No | ||
| created_at_start | No | Unix timestamp in milliseconds. | |
| requisition_code | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only says 'List', which implies a read-only operation, but gives no details about pagination, return format, rate limits, or default behavior. It does not mention how limit/cursor work or what the response structure is. This is a significant gap for a tool with many parameters.
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 a single sentence and efficiently conveys the core purpose. It does not waste words, though the long list of analysis dimensions could be more structured. It earns a 4 because it is compact while still informative.
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?
With 11 parameters and no output schema, the description does not sufficiently cover context. It fails to state what the response looks like, whether pagination is included, or how to choose filters. The analytical framing gives some context, but for a complex list endpoint, more guidance is needed to be complete.
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 covers 73% of parameters with descriptions, and the tool description does not add parameter-level semantics. It mentions 'status' as an analysis dimension, which loosely relates to the status parameter, but does not explain how to use it. Given the schema's baseline coverage, a score of 3 is appropriate; the description adds no extra parameter meaning.
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 clearly specifies the action ('List') and resource ('Lever requisitions'), and goes beyond a bare verb by highlighting the analytical dimensions (open headcount, filled headcount, owner, hiring manager, team, department, status). This distinguishes it from sibling tools like get_requisition (single item) or create_requisition, while the mention of analysis sets it apart from list_requisition_fields.
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 states a clear use case ('for ... analysis'), implying when to use it. However, it does not explicitly mention alternatives or exclusions, such as using get_requisition for a single record. It earns a 4 because the context is clear, though it lacks explicit comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesAInspect
List Lever sources with counts, useful for source-quality analysis.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds the behavioral trait of returning counts, which is useful. However, it does not mention read-only behavior, pagination, or any side effects, though 'list' implies a safe, read-only operation.
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 a single, well-structured sentence that efficiently conveys the tool's purpose and a primary use case. Every word earns its place.
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?
Given the tool's simplicity (0 params, no output schema), the description is mostly adequate. However, it does not detail the return structure or explicitly explain what the 'counts' represent, which would be helpful since no output schema is present.
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 tool has zero parameters, and the schema is empty. Per the guidelines, a baseline of 4 applies since there are no parameter semantics to explain.
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 clearly states the tool lists Lever sources with counts, which is a specific verb+resource. It does not explicitly distinguish from sibling tools, but the resource (sources) is unique among the long list of siblings.
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 phrase 'useful for source-quality analysis' implies a use case but does not explicitly state when to use this tool over alternatives or mention any exclusions. There is no comparison to list_* siblings, so the guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_stagesAInspect
List all Lever pipeline stages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It states that the tool lists 'all' stages, which indicates a read-only, comprehensive operation. However, it does not mention pagination, ordering, or any filtering behavior, leaving some behavioral aspects undisclosed.
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 a single, concise sentence that is front-loaded with the action and resource. It contains no unnecessary words or repetition, making it highly efficient and easy to parse.
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?
Given the tool's low complexity (zero parameters, no output schema), the description is adequately complete for an agent to know what the tool does. It could have specified the return format (e.g., list of stage objects), but the simplicity of the operation makes this less critical, and the phrase 'all ... stages' covers the essential scope.
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 tool has zero parameters, so the baseline is 4. The description adds no parameter information because none exist; schema coverage is 100% with an empty schema. This is appropriate and needs no compensation.
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 'List all Lever pipeline stages' uses a specific verb ('List') and resource ('Lever pipeline stages'), clearly distinguishing it from siblings like get_stage (single stage) and list_disposition_stages (disposition stages). It fully conveys the tool's scope.
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 the tool is used when you need all pipeline stages, but provides no explicit guidance on when to prefer it over alternatives or any exclusions. For a simple read-only list, the usage context is largely self-evident, but no direct comparison to sibling tools is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsAInspect
List Lever tags with counts, useful for source, job, and pipeline grouping.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that results include counts and implies a read-only operation, but does not describe pagination, output structure, or any limitations.
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?
Single sentence, action-first, no wasted words. It front-loads the verb 'List' and resource 'tags' with a meaningful qualifier about counts and a use case.
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 is simple (no parameters, no output schema), so the short description is largely sufficient. It states the key output (tags with counts) and purpose, though it could clarify what the counts represent.
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 tool has zero parameters, and the schema coverage is 100% (vacuously). Baseline 4 for no parameters is appropriate; description adds no parameter details because there are none.
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 clearly identifies the tool as listing Lever tags and specifies that it includes counts. It also references use cases (source, job, pipeline grouping), distinguishing it from sibling tools like list_sources or list_stages.
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?
Provides a clear context for when to use: when you need tags grouped by source, job, or pipeline. It doesn't explicitly exclude alternatives, but the context is sufficient for a listing operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_usersCInspect
List Lever users for joining owners, hiring managers, recruiters, coordinators, interviewers, and approvers.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Filter by exact canonicalized email. | ||
| limit | No | Results per page. Lever accepts 1-100; default is endpoint-specific. | |
| cursor | No | Lever pagination offset token from a previous response. Use next_cursor from the prior tool result. | |
| accessRole | No | Comma-separated access roles or custom role IDs. | |
| includeDeactivated | No | ||
| external_directory_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only restates 'List' and gives a use case; it does not mention read-only nature, pagination behavior, default filters (e.g., active users only), or any side effects. This is a significant gap for an unannotated tool.
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?
One sentence, front-loaded with the action and resource, with no filler. However, it is under-specified, so brevity comes at the cost of informativeness.
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?
Given 6 parameters, no output schema, and no annotations, the description is too thin. It does not explain pagination, response structure, or the undocumented parameters. For a list tool in a large sibling group, more context is needed for correct invocation.
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?
Schema coverage is 67%, leaving includeDeactivated and external_directory_id undocumented in both schema and description. The description does not map the listed roles to the accessRole parameter or add any meaning beyond the schema. It fails to compensate for the missing parameter descriptions.
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 resource ('Lever users') and adds the intended purpose of selecting users for roles like owners, hiring managers, etc. It helps distinguish from generic list tools, though it does not explicitly contrast with sibling tools like list_posting_users.
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 phrase 'for joining owners, hiring managers...' implies the tool is used when assigning users to these roles, but there is no explicit when-to-use or exclusion guidance compared to alternatives. Usage is implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhooksAInspect
List Lever API-created webhooks. Default output shows event and URL host only; full URLs/configuration require detail_profile=full with a reason.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Required when detail_profile requests contact, content, values, or full details. | |
| detail_profile | No | operational returns an operations view; full returns the raw endpoint payload. | operational |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It explicitly states that default output is limited to event and URL host, and that full details require a specific parameter and a reason. This goes beyond the schema by explaining the practical behavior of the default vs. full output. It does not mention pagination or authentication, but the main behavioral trait is covered.
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 long, front-loaded with the core purpose, and then provides the essential nuance about default behavior and full detail requirements. Every sentence earns its place without redundancy or unnecessary detail.
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, and the description covers the main purpose, output limitations, and parameter behavior. It is sufficiently complete for a simple list tool with 2 parameters. Minor gaps like pagination or error handling are not critical for this context.
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?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining what the output looks like in default mode versus full mode, and by confirming that a reason is needed for full detail. This complements the schema's parameter descriptions by connecting them to the actual data returned.
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 starts with a specific verb and resource: 'List Lever API-created webhooks.' This clearly distinguishes it from sibling tools like create_webhook, delete_webhook, and update_webhooks. It also adds scope by specifying 'Lever API-created' webhooks, which may be a distinct subset.
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 provides clear context on when to use the tool (listing webhooks) and gives usage guidance on how to get full details ('full URLs/configuration require detail_profile=full with a reason'). However, it does not explicitly mention alternatives or when not to use it, but for a list tool the usage is apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reactivate_userDInspect
Use Lever POST /users/:id/reactivate for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| user_id | Yes | Lever user ID. | |
| actor_id | Yes | Lever user ID associated with this action when needed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure, but it says nothing about side effects, permissions, reversibility, or the nature of the write operation. Users are left unaware of what the POST request will change.
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 brief, but it lacks substantive content. It is under-specified rather than usefully concise, providing no domain explanation or behavioral details.
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?
Given the tool has six parameters, a nested body object, no output schema, and no annotations, the one-line description is wholly inadequate. It fails to explain expected body structure, return values, or any preconditions.
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 provides complete descriptions for all six parameters, so the baseline is 3. The description adds no parameter-level context beyond what the schema already documents.
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 instructs to use a specific API endpoint but does not explain what reactivating a user does or when this action is appropriate. It largely restates the tool name via the endpoint path, providing minimal domain-level clarity.
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?
No guidance is provided on when to choose reactivate_user over related tools such as deactivate_user or update_user. The phrase 'for recruiting operations' is too broad to serve as a practical usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_opportunity_linksCInspect
Call Lever POST /opportunities/:opportunity/removeLinks for opportunity contact/source/tag maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the HTTP method (POST). It does not mention side effects, idempotency, permission requirements, error behavior, or what 'links' entail, making it insufficient for an agent to predict the tool's impact.
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 one concise sentence that front-loads the operation with the endpoint and verb. It avoids wordiness, but the ambiguous 'contact/source/tag' phrase is a minor clarity issue, making it not fully polished.
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?
For a tool with 6 parameters, a nested body object, no output schema, and no annotations, the description is severely under-specified. It does not explain the expected body structure, return value, or usage context, leaving the agent without adequate information to construct a correct request.
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?
Schema descriptions cover 100% of parameters, so the baseline is 3. The description adds no extra meaning about parameters, such as how to structure the 'body' or what link identifiers are expected, so it does not enhance the schema's semantic value.
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 clearly identifies the specific Lever API endpoint ('removeLinks') and the operation (removing links from an opportunity), which is a specific verb+resource. However, the phrase 'contact/source/tag maintenance' is ambiguous and could be confused with sibling tools dedicated to sources/tags, slightly weakening the distinction.
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?
No guidance is provided for when to use this tool versus alternatives such as remove_opportunity_sources or remove_opportunity_tags. There is no mention of prerequisites, scenarios, or exclusions, leaving the agent without direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_opportunity_sourcesCInspect
Call Lever POST /opportunities/:opportunity/removeSources for opportunity contact/source/tag maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only reveals that it's a POST (a write operation) but does not state what gets removed, whether it is reversible, authorization needs, or response behavior. This is a significant gap for a mutation tool.
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 one sentence and front-loads the endpoint, which is efficient. However, the final phrase 'for opportunity contact/source/tag maintenance' is vague and could be sharpened to 'removes sources from an opportunity,' reducing ambiguity without adding length.
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?
This is a mutation tool with no annotations and no output schema, so the description should explain required inputs, side effects, and return value. It does not mention that perform_as is needed for user identity, what the body structure is, or what the response will be. The endpoint reference alone is insufficient for correct invocation.
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?
Schema description coverage is 100%, so the baseline is 3. The description itself adds no parameter meaning; it simply repeats the endpoint. The body parameter is described in the schema as a generic JSON object, leaving its contents unclear, but the description fails to elaborate on what the body should contain (e.g., list of source IDs).
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 names the specific Lever endpoint (POST /opportunities/:opportunity/removeSources), which makes the operation clear from the name and path. However, the trailing phrase 'for opportunity contact/source/tag maintenance' is vague and muddles whether it removes sources, tags, or both, so it doesn't fully distinguish from siblings like remove_opportunity_tags.
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 provides no guidance on when to use this tool vs alternatives. It does not mention conditions, prerequisites, or contrast with sibling tools like add_opportunity_sources or remove_opportunity_links. Usage is only implied by the tool name and endpoint, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_opportunity_tagsCInspect
Call Lever POST /opportunities/:opportunity/removeTags for opportunity contact/source/tag maintenance.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states that it calls a POST endpoint, which implies a write operation, but it does not disclose any side effects, required permissions, reversibility, or what happens when tags are removed. This is a significant gap for a mutation tool.
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 extremely concise, consisting of one sentence with the endpoint and a vague purpose clause. It is front-loaded with the key information but the tail phrase 'for opportunity contact/source/tag maintenance' adds noise and should ideally be removed or clarified.
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 description is a bare endpoint reference. It does not explain what the operation does in domain terms, when to use it, or what the body should contain beyond what the schema already states. With no output schema and no annotations, the description fails to provide a complete picture for an agent to confidently use the tool.
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?
Schema description coverage is 100%, with all six parameters described in the input schema. The tool description adds no additional parameter semantics beyond the endpoint call itself, so the baseline of 3 applies.
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 clearly identifies the API endpoint and the action (removes tags from an opportunity). However, the phrase 'for opportunity contact/source/tag maintenance' introduces ambiguity, as it suggests broader maintenance beyond just removing tags, which could confuse an agent about the tool's exact scope.
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?
No guidance is provided on when to use this tool versus alternatives. It does not mention, for example, that this is for removing tags specifically, or that adding tags should use add_opportunity_tags. There is no stated context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_contactBInspect
Update one Lever contact via PUT /contacts/:contact.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| contact_id | Yes | Lever contact ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the endpoint and method without revealing side effects, permissions, or the impact of the confirm/dry_run parameters. For a mutation tool, this is insufficient transparency.
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 a single concise sentence, front-loaded with the verb and resource, and contains no filler. Every word earns its place.
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?
Despite having 6 parameters, a nested body object, no output schema, and no annotations, the description is only one line. It fails to explain the semantics of the PUT update, the expected body structure, or the control-plane context (e.g., confirm/dry_run behavior). The agent is left without enough context to understand the full workflow.
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?
Schema description coverage is 100%, so all parameters have meaningful descriptions in the schema itself. The tool description adds no parameter-level detail, but this is acceptable given the schema's completeness, yielding a baseline score.
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 the specific verb 'Update' and resource 'Lever contact', plus the explicit HTTP method/path 'PUT /contacts/:contact'. This clearly distinguishes it from sibling tools like get_contact and update_opportunity, leaving no ambiguity about its function.
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 for updating an existing contact, but it does not explicitly state when to use it over alternatives or any exclusions. Since there is no create_contact sibling, the context is somewhat clear, but the description still lacks explicit guidance about prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_feedback_templateCInspect
Use Lever PUT /feedback_templates/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| template_id | Yes | Lever template ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the endpoint and a generic purpose, omitting that this is a mutation that modifies an existing resource, any side effects, permissions, or response expectations.
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 a single sentence with minimal length, but the phrase 'for recruiting operations' is vague filler that does not earn its place. The endpoint information is front-loaded, but the overall structure lacks useful substance.
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?
Given six parameters, a nested object, no annotations, and no output schema, the description is severely under-specified. It does not explain what happens on success, what the response contains, or any crucial behavioral details.
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 provides descriptions for all six parameters, giving 100% coverage. The description adds no additional parameter-level meaning beyond the schema, so it meets the baseline for high schema coverage.
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 identifies the specific endpoint (PUT /feedback_templates/:id), which strongly implies an update operation on a feedback template. However, it does not explicitly say 'update' and instead uses the vague phrase 'for recruiting operations,' which does not distinguish it from create or delete siblings.
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?
No guidance is given on when to use this tool. The phrase 'for recruiting operations' is misleadingly broad, suggesting it could be used for any recruiting task rather than specifically for updating a feedback template. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_form_templateDInspect
Use Lever PUT /form_templates/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| template_id | Yes | Lever template ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only says 'for recruiting operations,' which is generic. It does not mention that this performs an update mutation, any permissions, or side effects.
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 extremely short but sacrifices informativeness for brevity. It is more under-specification than concise; the single sentence adds little value.
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 6 parameters and no output schema or annotations, yet the description provides almost no context about behavior, inputs, or expected use. It is far from complete.
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?
All six parameters have schema descriptions (100% coverage), meeting the baseline. However, the description adds no additional meaning, and the body parameter's schema description is circular, leaving the actual payload structure vague.
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?
Description only says 'Use Lever PUT /form_templates/:id for recruiting operations,' which is essentially an instruction to call an endpoint rather than a clear statement of what the tool does. It fails to specify that it updates an existing form template or distinguish it from related template tools.
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?
No guidance on when to use this tool vs alternatives like create_form_template or update_feedback_template. The description provides no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_opportunity_archived_stateBInspect
Update a Lever opportunity archived state via PUT /opportunities/:opportunity/archived.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only says 'Update' and provides an endpoint. It does not mention side effects, reversibility, required permissions, or request/response behavior. For a mutation tool, this is a significant gap.
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 a single concise sentence that efficiently communicates the core purpose and endpoint. No redundant or wasteful wording.
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?
Given the tool's complexity (mutating operation, 6 parameters, nested body object) and lack of output schema/annotations, the description is incomplete. It does not explain the body structure, what 'archived' means, expected results, or any constraints. The schema's 'body' parameter is vague ('JSON body to send to the documented Lever endpoint') and the description does not compensate.
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?
Schema coverage is 100% with descriptions for all six parameters, so the baseline is 3. The description adds no parameter-specific context beyond what the schema already provides, but the schema adequately covers the fields.
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 clearly states the tool's action: 'Update a Lever opportunity archived state' with a specific resource and HTTP endpoint. It distinguishes itself from sibling tools like 'update_opportunity_stage' by explicitly targeting the archived state.
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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of related tools like get_archive_reason or list_archive_reasons. It is a bare statement of functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_opportunity_feedbackCInspect
Use Lever PUT /opportunities/:opportunity/feedback/:record for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever record ID for this collection. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits, but it does not. It fails to mention that this is a mutating write operation, any required permissions, side effects, or response behavior. The phrase 'Use ...' gives no transparency into what happens when invoked.
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 a single sentence and technically concise, but it is under-specified. It does not contain enough information to be useful, so it is not appropriately sized for a tool with 7 parameters and no annotations.
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?
This is a complex tool with 7 parameters, no output schema, and no annotations. The description is completely inadequate, providing only an endpoint reference without explaining the tool's function, usage, or behavior.
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?
Schema description coverage is 100%, so the input schema already documents all 7 parameters. The description adds no semantic value beyond the schema, but the baseline of 3 is appropriate since the schema carries the full burden.
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 mentions the specific endpoint 'PUT /opportunities/:opportunity/feedback/:record', which implies an update operation, and the tool name clarifies the intent. However, it does not explicitly state 'Updates an opportunity feedback record' and fails to distinguish itself from sibling tools like create_opportunity_feedback or delete_opportunity_feedback.
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 provides no guidance on when to use this tool versus alternatives. It only says 'for recruiting operations', which is too generic and does not mention prerequisites, exclusions, or related tools for creating or deleting feedback.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_opportunity_interviewCInspect
Use Lever PUT /opportunities/:opportunity/interviews/:record for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever record ID for this collection. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions the HTTP method PUT, which implies a write operation, but it doesn't describe side effects, required body structure, permissions, or return values. This is minimal transparency beyond what the tool name already conveys.
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 a single, short sentence, which is concise and front-loaded with the endpoint. However, it sacrifices substance for brevity, providing little more than a pointer to the API. Every sentence should earn its place, and this one barely does.
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?
This is a mutating tool with 4 required parameters and a nested body object, yet the description gives no context about how to construct the body, what the endpoint expects, or the safeguards like dry_run and confirm. The absence of an output schema and annotations makes this description severely incomplete for an agent to invoke the tool correctly.
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 100% parameter description coverage, so the schema handles parameter semantics. The description adds no parameter-level meaning beyond the endpoint reference, so the baseline score of 3 is appropriate.
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 is a bare reference to the Lever API endpoint ('Use Lever PUT /opportunities/:opportunity/interviews/:record') rather than a clear statement of what the tool does. It doesn't explicitly say 'update an interview' in plain language, though the resource is inferable from the endpoint. It's a step above tautology because it names the HTTP method and resource path.
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?
No guidance is provided on when to use this tool versus alternatives. The phrase 'for recruiting operations' is too generic to help an agent decide between this and other update tools like update_opportunity_feedback or update_opportunity_panel.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_opportunity_noteBInspect
Update a Lever note created via API using PUT /opportunities/:opportunity/notes/:note.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| note_id | Yes | Lever note ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states the operation and endpoint. It does not mention side effects, permissions required, whether the update replaces or patches the note, or any response formatting. The PUT method implies replacement, but this is not explicitly stated.
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 a single concise sentence that front-loads the action and includes the HTTP method and path for precision. It contains no unnecessary words or repetition, making it highly efficient.
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 description is minimal and omits important context such as the behavior of the update (full vs partial), expected response, and rationale for the 'created via API' restriction. Even though the schema covers parameters, the complexity of the tool (nested body, meta-parameters like dry_run and confirm) warrants additional explanation beyond what is provided.
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 provides full descriptions for all 7 parameters (100% coverage), so the baseline is 3. The description does not add any parameter-specific meaning beyond the endpoint, but it doesn't need to because the schema already explains each parameter. No additional value is provided.
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 clearly states the action ('Update'), the resource ('a Lever note'), and the specific endpoint via PUT. It distinguishes from sibling note tools like create_opportunity_note, delete_opportunity_note, get_opportunity_note, and list_opportunity_notes by focusing on the update operation.
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 a usage constraint by specifying 'created via API', which suggests this tool is only for notes created through the API, but it does not explicitly mention when to use this tool over alternatives or provide exclusion scenarios. No alternatives are named, and there is no direct guidance on when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_opportunity_panelCInspect
Use Lever PUT /opportunities/:opportunity/panels/:record for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever record ID for this collection. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the HTTP method and endpoint, implying a write operation, but doesn't disclose side effects, whether it replaces the entire resource, auth requirements, or use of confirm/dry_run parameters. Minimal behavioral transparency.
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 a single sentence with no waste, but 'for recruiting operations' is vague filler and adds little value. It is concise but sacrifices informative content.
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?
For a mutation tool with 7 parameters, no annotations, and no output schema, this description is inadequate. It doesn't explain what the operation does, when to use it, or what the response looks like.
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?
Schema coverage is 100%, so the schema already documents all 7 parameters. The description adds no additional parameter semantics, meeting the baseline of 3.
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 names the specific HTTP method (PUT) and resource path (/opportunities/:opportunity/panels/:record), which clearly implies updating an opportunity panel. However, it doesn't explicitly say 'update' or describe what a panel is, and the phrase 'for recruiting operations' is generic. It is clear enough but lacks explicit sibling differentiation.
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 provides no guidance on when to use this tool instead of create_opportunity_panel, delete_opportunity_panel, or other related tools. There are no prerequisites, exclusions, or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_opportunity_stageBInspect
Update a Lever opportunity stage via PUT /opportunities/:opportunity/stage.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Update' implies a mutation, but there is no mention of side effects, permissions, reversibility, or response behavior. This is a significant gap for a write operation.
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 a single, focused sentence that states the action and endpoint with no unnecessary words. It earns its place and is easy to parse.
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 6 parameters including a free-form body, but the description does not explain what the body should contain or any required fields for the stage update. No output schema exists to clarify return values, leaving the agent under-informed for correct invocation.
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?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional parameter semantics beyond what is in the schema, so a baseline score of 3 is appropriate.
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 clearly states the verb 'Update' and the resource 'Lever opportunity stage', and includes the exact endpoint. This distinguishes it from sibling update tools like update_opportunity_archived_state or update_opportunity_feedback.
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 the tool is for changing an opportunity's stage, but it does not explicitly state when to use it versus alternatives, nor does it mention any prerequisites or context. The endpoint provides some clarity, but no explicit guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_postingBInspect
Update a Lever posting via POST /postings/:posting.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| posting_id | Yes | Lever posting ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It only mentions 'update' and the HTTP method, without elaborating on idempotency, partial update semantics, side effects, or required permissions.
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 a single sentence that conveys the essential action and endpoint without any fluff. Every word earns its place.
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?
Despite having a complex nested body parameter and no output schema, the description offers minimal context. It does not explain what the body should contain, how updates are applied, or what response to expect. Richer documentation would be necessary for correct usage.
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?
Schema description coverage is 100%, so all parameters are well-documented in the schema itself. The description adds no extra parameter context, but the baseline of 3 applies because the schema does the heavy lifting.
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 clearly states the tool updates a Lever posting and specifies the exact endpoint (POST /postings/:posting). This is a specific verb+resource combination that distinguishes it from other update_* tools for different entities.
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?
No guidance is provided on when to use this tool versus alternatives such as create_posting or get_posting. The description only states what the tool does, not when it should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_requisitionCInspect
Use Lever PUT /requisitions/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever requisition or requisition-field ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It implies a mutation through 'PUT,' but does not explain the scope of changes, whether the operation is reversible, what permissions are needed, or how the write affects the requisition. This is minimal and insufficient for a write operation.
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 very short, but this is not effective conciseness; it is under-specification. The single sentence provides no substantive information beyond the endpoint path, so it does not earn its place.
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 6 parameters, a generic body object, and no output schema or annotations. The description fails to explain what the tool actually does, how it relates to other requisition tools, or what 'updating a requisition' involves. This is a completely inadequate context for an agent to select and invoke the tool correctly.
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?
Schema description coverage is 100%, so the parameters are already well documented in the schema. The description adds no additional semantic meaning for parameters like 'body', 'record_id', or 'perform_as', so the baseline score of 3 is appropriate.
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 only says 'Use Lever PUT /requisitions/:id for recruiting operations,' which restates the endpoint implied by the tool name and gives no semantic description of what updating a requisition entails. It neither specifies the verb and resource in a meaningful way nor distinguishes from sibling tools like update_requisition_field or create_requisition.
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?
There is no guidance on when to use this tool versus alternatives. The broad phrase 'for recruiting operations' provides no context about specific use cases, prerequisites, or situations where another tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_requisition_fieldCInspect
Use Lever PUT /requisition_fields/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever requisition or requisition-field ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only mentions the HTTP method (PUT) and endpoint, implying a mutation, but does not disclose side effects, required permissions, what happens to existing data, or error behavior. This is insufficient transparency for a mutating tool.
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 concise (one sentence) with no fluff, but it is under-specified and not front-loaded with useful information. The single sentence merely names an endpoint without explaining its purpose or behavior, so conciseness comes at the cost of clarity.
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?
For a tool with six parameters, a nested body object, and no output schema, this description is drastically incomplete. It fails to explain what a requisition field is, what the update does, how the body should be structured, or possible responses. An AI agent cannot confidently select or invoke this tool based solely on this description.
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 provides descriptions for all six parameters, and the schema coverage is 100%, so the description adds no additional parameter semantics. The brief mention of 'Lever PUT' does not clarify parameter usage. Baseline 3 is appropriate given the schema's high coverage.
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 references the endpoint 'PUT /requisition_fields/:id' but uses the vague verb 'Use' and the generic purpose 'for recruiting operations.' It does not explicitly state that the tool updates a requisition field, nor does it distinguish it from sibling tools like update_requisition or update_requisition_field_options.
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?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or conditions under which this tool should be preferred. The phrase 'for recruiting operations' is too broad to be actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_requisition_field_optionsCInspect
Use Lever PUT /requisition_fields/:id/options for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| record_id | Yes | Lever requisition or requisition-field ID. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description carries the full burden of behavioral disclosure. It does not mention that this is a write operation, what side effects occur, whether it requires confirm/dry_run safeguards, or what permissions are needed. The schema hints at these, but the description adds no behavioral context.
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 a single short sentence, making it concise, but it is under-specified rather than efficiently informative. It fits on one line and gets to the point quickly, but the point it makes is too minimal to be useful.
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?
With 6 parameters, a nested body object, and no output schema, the description is entirely inadequate. It only provides an endpoint reference and does not explain the operation, the purpose of record_id/perform_as, or what the body should contain. This is a critical gap for a write tool with safeguards.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter details beyond the schema. The parameters like body and record_id are documented in the schema, but the description does not help understand how they map to the endpoint.
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 references a specific endpoint but does not explicitly state the action. The verb 'Use' is vague, and 'for recruiting operations' is generic. The name and endpoint imply updating requisition field options, but the description itself lacks a clear, direct statement of what the tool does.
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?
There is no guidance on when to use this tool versus alternatives like 'add_requisition_field_options' or 'update_requisition_field'. The description simply says 'for recruiting operations,' which does not help select between siblings or provide context for when this mutation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_userCInspect
Use Lever PUT /users/:id for recruiting operations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| user_id | Yes | Lever user ID. | |
| actor_id | Yes | Lever user ID associated with this action when needed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only mentions a PUT endpoint, with no details about mutation side effects, required permissions, idempotency, rate limits, or response shape. This is insufficient for an update operation.
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 a single sentence, but it is under-specified and wastes words on the vague phrase 'for recruiting operations.' It lacks a clear structure that front-loads meaningful content, resembling a placeholder more than a concise description.
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?
With six parameters, a nested body object, and no annotations or output schema, the tool is moderately complex. The description provides zero context about operation behavior, returned data, or error handling, and fails to differentiate from the many sibling tools. It is far from complete.
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 schema provides descriptions for all six parameters, achieving 100% coverage. The description itself adds no parameter information, but the schema fulfills the baseline requirement, so a score of 3 is appropriate.
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 states 'Use Lever PUT /users/:id for recruiting operations,' which references an endpoint but does not explicitly say that it updates a user's fields. It fails to distinguish from sibling tools like create_user, deactivate_user, or reactivate_user, and the phrase 'for recruiting operations' is vague.
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?
There is no guidance on when to use this tool versus alternatives such as create_user, deactivate_user, or list_users. No context about prerequisites, use cases, or exclusions is provided, leaving the agent without clear decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webhooksCInspect
Update one or more Lever API-created webhooks via PUT /webhooks/.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body to send to the documented Lever endpoint. | |
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states the operation and endpoint, without disclosing whether updates are partial or full replacements, idempotency, required permissions, or side effects. This is a significant gap for a mutation tool.
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?
Single sentence, no fluff, front-loaded with the action and resource. It efficiently conveys the essential scope and method in a compact form.
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?
This mutation tool has a nested body parameter and no output schema, yet the description does not explain return values, error behavior, or how to construct a valid body. Given the complexity (5 params, nested object), the description is dangerously under-specified.
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?
Input schema has 100% parameter description coverage, so the baseline is 3. The tool description adds minimal extra meaning beyond the endpoint reference; the body parameter remains vaguely defined (an arbitrary JSON object), and the schema's own description is equally generic.
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?
Description clearly states the action (update), resource (webhooks), and HTTP method (PUT), distinguishing it from create/delete/list webhook siblings. It does not explicitly name alternatives but the verb+resource makes the purpose unambiguous.
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?
No guidance on when to use this tool versus alternatives. There is no mention of when updating is appropriate compared to deleting or recreating a webhook. The only subtle hint is 'Lever API-created,' but that is part of the target scope, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileBInspect
Upload a file through Lever's generic POST /uploads endpoint. Reads a local file path from the MCP host.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| actor_id | Yes | Lever user ID associated with this action when needed. | |
| file_path | Yes | Local file path on the machine running the MCP server. | |
| content_type | No | Optional MIME type. Defaults to application/octet-stream. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It reveals that the tool reads a local file path from the MCP host, a useful detail, but omits other important aspects such as whether permissions are required, what side effects occur (a file object created in Lever), or how the file is processed (size limits, binary handling). For a mutation tool, this is a significant gap, so a low score is warranted.
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 with no redundancy. It front-loads the primary action and then gives a key implementation detail. Every word earns its place.
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?
Given the tool has 6 parameters, no output schema, and no annotations, the description is too thin. It doesn't explain return values, the purpose of the control-plane parameters (confirm, dry_run, reason), or the distinction from upload_opportunity_file. This leaves an agent under-informed about when this upload endpoint should be used and what to expect.
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 provides descriptions for all six parameters, so the baseline is 3. The description adds minor extra meaning for file_path by clarifying it is a local path on the MCP host, but it doesn't enhance the other parameters. This is acceptable given the high schema coverage.
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 clearly identifies the tool's function: uploading a file via Lever's generic POST /uploads endpoint. The word 'generic' distinguishes it from the sibling upload_opportunity_file, which presumably uploads files tied to a specific opportunity. This is a specific verb+resource that goes beyond a tautology.
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 provides context that the tool reads a file from the MCP host, but does not explain when to use this generic uploader versus upload_opportunity_file or other upload-related tools. No explicit alternatives or exclusions are mentioned, making the usage guidance implicit. The 'generic' phrase offers a hint but not enough for clear selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_opportunity_fileAInspect
Upload a file to a Lever opportunity via POST /opportunities/:opportunity/files. Reads a local file path from the MCP host.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Reason for this Lever write. | Requested through Lever Ops Control Plane. |
| confirm | No | Set false only when you explicitly want to block execution. | |
| dry_run | No | When true, preview the write without sending it to Lever. | |
| file_path | Yes | Local file path on the machine running the MCP server. | |
| perform_as | Yes | Lever user ID for perform_as when the Lever endpoint needs one. | |
| content_type | No | Optional MIME type. Defaults to application/octet-stream. | |
| opportunity_id | Yes | Lever opportunity ID. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does add valuable context by revealing that the tool reads a local file path on the MCP host and targets the POST /opportunities/:opportunity/files endpoint. However, it omits side effects, overwrite behavior, authentication requirements, and error/response handling, leaving meaningful gaps for a mutation tool.
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 terse, front-loaded sentences: the first states the action and endpoint, the second adds the crucial local-file constraint. Every word contributes valuable information, with no filler or redundancy.
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?
Given the absence of annotations and an output schema, the description covers the core action and a key constraint (local file path), but it is thin on post-upload behavior, error handling, and differentiation from the sibling upload_file tool. The complete parameter descriptions in the schema mitigate some gaps, but not all.
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?
Schema description coverage is 100%, with all seven parameters already documented in the input schema. The description only reinforces the file_path parameter as a local path and does not add semantic meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
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 opens with the specific verb+resource combination 'Upload a file to a Lever opportunity' and includes the exact API endpoint, making the tool's purpose unmistakable. This clearly distinguishes it from sibling tools like upload_file, download_opportunity_file, and delete_opportunity_file.
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?
It provides clear context for when to use the tool: uploading a file attachment to a specific opportunity, with the crucial note that the file path is read from the MCP host's local filesystem. It does not explicitly name alternative tools or exclusions, but the specificity of the endpoint and resource makes the use case unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.Last updated111111MIT

industrylens-mcpofficial
Flicense-qualityCmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.Last updated
Sociality MCPofficial
Alicense-qualityDmaintenanceSocial media analytics, post insights, and competitor benchmarking for AI agents.Last updated6MIT- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.Last updated1901MIT