Saber
Server Details
Sales intelligence — research companies, qualify prospects, and find contacts.
- 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 119 of 119 tools scored. Lowest: 1.6/5.
Many tools have overlapping purposes, such as signals-firmographics vs companies-enrich_firmographics, findEmail vs contacts-enrich_work_email, and monitors vs signal_subscriptions vs market_signals. While descriptions add some context, an agent could easily select the wrong tool due to the high similarity in function.
Most tools use a resource_subresource-action pattern, but there are inconsistent separators: underscores within some names, hyphens in others (e.g., scoring-assignment-bulk-create), and several camelCase exceptions (findEmail, findEmailBatchGet, getContactResearchByExternalID). This mixed convention makes the tool set feel unpredictable.
With 119 tools, this server vastly exceeds the typical well-scoped range. Even for a comprehensive B2B data platform, the sheer number creates cognitive overload and increases the risk of incorrect tool selection.
The server covers an extensive range of operations: enrichment, lists, contacts, signals, subscriptions, monitors, and scoring. Nearly every resource has create, read, update, and delete or lifecycle equivalents, leaving very few practical gaps for the intended use case.
Available Tools
119 toolscompanies-enrich_customBInspect
Enrich a company with a custom question
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context by indicating that a custom question is used, which suggests an AI/research operation. However, it does not disclose side effects, caching, credit consumption, asynchronous processing, or output characteristics. Annotations (readOnlyHint:false, openWorldHint:true) provide some safety signals, but the description itself offers very little beyond the phrase 'custom question'.
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, and it front-loads the core differentiator ('custom question'). It is concise and easy to parse, though it sacrifices depth 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?
Given the complexity of the tool (huge schema, no output schema, many options for answerType, templates, webhooks, verification), the description is insufficient. It fails to explain what an enrichment returns, whether results are cached, or how to choose this over standard enrichment tools. The extensive schema documentation prevents a score of 1, but the top-level operational context is largely missing.
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 rich descriptions for all parameters, including examples, defaults, and detailed explanations for webhook, forceRefresh, outputSchema, and verificationMode. The tool description itself adds no parameter-level meaning beyond the general 'custom question' context, so the schema carries the full burden and the 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 uses a specific verb ('Enrich') and identifies the resource ('a company') plus the distinguishing mode ('custom question'), which differentiates it from sibling tools like companies-enrich_firmographics or companies-enrich_funding. However, it does not state what enrichment produces or how it relates to signals/templates, so it's not a 5.
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 'custom question' weakly implies this tool is intended for ad-hoc research questions rather than predefined enrichment types, but it gives no explicit when-to-use or alternative guidance. There is no mention of batch variants, template usage, or when to prefer standard enrichment tools, so it only reaches an implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies-enrich_custom_batchAInspect
Enrich many companies with one custom question
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the description's job is lighter. It adds context about batch size ('many companies') and custom questions, but doesn't mention asynchronous behavior, webhook usage, or that 'question' is optional. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It conveys the core purpose immediately 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?
Given the complex nested request body (many optional fields), no output schema, and vague annotations, the description is insufficient. It doesn't hint at batch limits (max 100 targets), webhook callbacks, or async behavior, and misleadingly implies 'one custom question' is required when only 'targets' is required. More context is needed for an agent to invoke 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 description maps 'many companies' to the 'targets' array and 'custom question' to the 'question' field, giving some semantic anchor. However, the schema already describes 'targets', and many other nested fields (answerType, connectors, webhookUrl, forceRefresh, etc.) are left unexplained. With high schema coverage, a 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 'Enrich' plus a clear resource scope: 'many companies' with 'one custom question'. This distinguishes it from sibling tools like companies-enrich_custom (single company) and other enrich types such as firmographics or funding.
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 'many companies' clearly indicates this is for batch enrichment, implying use when multiple companies need the same custom question. It does not explicitly name alternatives or exclusions, but the batch context is evident from the sibling tool 'companies-enrich_custom'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies-enrich_firmographicsCInspect
Enrich a company with firmographics
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. Despite annotations indicating openWorldHint and non-read-only, the description does not explain side effects, caching behavior (forceRefresh), or webhook delivery, all of which are hinted at in the schema but absent from the description.
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 a verb-object structure, no fluff, and front-loaded action. It is appropriately concise, though minimal.
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 an output schema and the need for agents to understand what 'firmographics' includes, the description is too sparse. It does not explain the data domain, return value, or trade-offs with other enrichment tools, making it incomplete for correct tool selection.
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 covers 100% of parameters with detailed descriptions for domain, webhookUrl, and forceRefresh. The description itself adds no parameter-specific meaning, so the baseline of 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 uses the verb 'enrich' with the resource 'company' and object 'firmographics,' clearly identifying the action. However, it does not distinguish this from sibling tools like companies-enrich_funding or companies-enrich_tech_stack, which follow the same enrich pattern.
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 instead of alternatives. The description is a single sentence with no mention of selection criteria, prerequisites, or exclusions, leaving the agent to infer 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.
companies-enrich_fundingCInspect
Enrich a company with funding status
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, idempotentHint=false, and destructiveHint=false, but the description adds no behavioral context. It doesn't explain potential side effects (e.g., credit usage, async processing, webhook delivery) that go beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no filler. It front-loads the action and results, making for an appropriately concise and easily scanned tool definition.
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 lacks important context. It doesn't explain the nature of funding status data, whether the operation is synchronous or async, what the response contains, or that webhookUrl and forceRefresh are available. Given the tool has a nested request body and no output schema, more descriptive 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?
Schema description coverage is 100%, so all parameters (domain, webhookUrl, forceRefresh) are already described in the schema. The description adds no additional parameter meaning beyond the general 'company' 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 states a clear verb and resource: 'Enrich a company with funding status.' It distinguishes from sibling tools like enrich_firmographics or enrich_mna by specifically mentioning funding status. However, it is somewhat terse and could elaborate on what 'funding status' entails.
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 explicit guidance on when to use this tool versus alternatives. It doesn't mention use cases, prerequisites, or differences from other enrichment tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies-enrich_mnaCInspect
Enrich a company with M&A activity
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide openWorldHint=true and readOnlyHint=false, but the description adds no additional behavioral context such as asynchronous execution, side effects, credit consumption, or caching behavior. The description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the core purpose. It is efficient but somewhat under-specified for a tool with this complexity.
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 nested schema and no output schema, the description does not explain return values, asynchronous behavior, or what M&A activity data actually includes. The description is too sparse to be considered complete for 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 input schema fully documents all parameters (domain, webhookUrl, forceRefresh) with descriptions, so the baseline is 3. The tool description adds no meaning beyond the schema; it only provides the M&A 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 clearly identifies the verb 'enrich', the resource 'company', and the scope 'M&A activity'. It effectively distinguishes this tool from sibling enrich tools by the activity type, though it 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 description offers no guidance on when to use this tool versus alternatives such as companies-enrich_funding or signals-mna. There is no mention of exclusions, prerequisites, or preferred use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies-enrich_open_jobsCInspect
Enrich a company with open jobs
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits such as async execution, side effects, credit costs, or return format. While annotations indicate readOnlyHint=false and openWorldHint=true, the description adds no further context about what 'enrich' entails or potential side effects beyond the annotations themselves.
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 compact sentence with no filler, making it concise and front-loaded. It is slightly less detailed than ideal, but it earns its place as a brief statement of the tool's core function.
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 output schema, the description should explain what 'enrichment' produces, when to use webhookUrl, and how forceRefresh behaves. It does none of these, leaving important contextual gaps for an enrichment tool that supports async webhooks and caching 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?
The input schema fully covers all parameters with descriptions (domain, webhookUrl, forceRefresh), so the tool description adds no additional parameter meaning. Since schema description coverage is 100%, 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 'Enrich a company with open jobs' clearly states the verb (enrich), resource (company), and data (open jobs), making its purpose explicit. However, it does not distinguish this tool from siblings like companies-enrich_firmographics or signals-open_jobs, which also relate to company enrichment.
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, nor does it mention any prerequisites, exclusions, or preferred use cases. It is a single statement without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies-enrich_tech_stackBInspect
Enrich a company with its tech stack
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. It does not disclose caching behavior, webhook delivery, auto-resolution of technology names, or the distinction between sync and async endpoints. The parameter descriptions in the schema carry that burden, but the tool description itself is silent.
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 filler, achieving maximum conciseness. It is front-loaded with the core action and resource, and every word is meaningful.
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 five parameters, a nested request body, and no output schema, the one-sentence description is minimal but not misleading. The schema provides detailed parameter info, and annotations cover read/write hints, but the description omits high-level context such as sync/async behavior or mutual exclusivity of category and technology.
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 fully documents parameters like domain, category, technology, webhookUrl, and forceRefresh. The description adds no parameter-level meaning, but the baseline of 3 is appropriate given that the schema handles 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 a clear verb ('Enrich') and resource ('a company') with a specific scope ('its tech stack'), which distinguishes it from sibling enrichment tools like firmsgraphics or funding. However, it lacks detail about the optional parameters (category, technology) that define the type of tech stack enrichment.
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. While the sibling list includes other enrichment tools (e.g., companies-enrich_firmographics), the description does not mention any differentiators, prerequisites, or scenarios where this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies-generate_summaryCInspect
Generate a company summary
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds no behavioral context such as whether the operation is asynchronous, consumes credits, or has rate limits. It simply repeats the action without disclosing side effects beyond what annotations already imply.
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 core action and resource. It is appropriately brief for a simple tool with one parameter, though it sacrifices 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?
Given the tool's simplicity, the description is only minimally complete. It omits critical context about the nature of the summary output, whether it is synchronous, or how it relates to other enrichment and summary tools. This is a significant gap for an agent that needs to understand the tool's purpose and side effects.
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 a clear description for the 'domain' parameter, so the baseline is 3. The description itself adds no parameter-related information, but it does not need to because the schema is sufficient.
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 ('generate') on a resource ('company summary'), which clarifies the basic purpose. However, it does not define what a company summary contains, and it does not distinguish this tool from siblings like companies-list_summaries or signal_summaries-generate, leaving ambiguity about the output 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 offers no guidance on when to use this tool versus alternatives. It lacks any mention of prerequisites, scenarios, exclusions, or differentiation from adjacent tools, so an agent receives no help with selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies-list_summariesCRead-onlyIdempotentInspect
List company summaries
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| domain | Yes | ||
| offset | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is known. However, the description adds no additional behavioral context, such as pagination behavior, required 'domain' parameter, or what a summary 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 only four words, making it highly concise. However, it is under-specified to the point of being minimal; it does not provide any structural elements like usage scenarios or parameter notes. It earns a middle score because it is not verbose but lacks 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?
With no output schema and minimal description, the tool is under-documented. It does not mention required parameters, pagination, or return value structure, leaving important gaps for a tool with three parameters and no schema descriptions.
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 0%, and the description does not explain any parameters. While 'domain', 'limit', and 'offset' are somewhat self-explanatory, the description adds zero value for parameter semantics, leaving the agent without clarification on required 'domain' or pagination constraints.
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 company summaries' uses a specific verb ('List') and resource ('company summaries'), making the tool's purpose clear at a high level. It does not explicitly distinguish from sibling tools like signal_summaries-list, but the company domain is evident from 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?
The description provides no guidance on when to use this tool versus alternatives such as companies-generate_summary or signal_summaries-list. There is no mention of prerequisites, filtering, or use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-count_previewAInspect
Estimate how many companies match a list filter and how many credits the list operation would cost.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations present (readOnlyHint=false, openWorldHint=true), the bar is lower. The description adds useful context about credit cost estimation, but it does not disclose whether the preview itself consumes credits, whether it is safe, or what response format to expect. No contradiction with annotations, but behavioral detail is minimal.
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 is front-loaded with the key action ('Estimate') and packs both output variables (match count and credit cost) with 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?
The tool has a complex nested filter schema, but the schema itself covers parameter semantics thoroughly. No output schema exists, yet the description directly states what the output will tell the agent (number of matches and credit cost). It is slightly incomplete because it does not mention when such a preview is useful or how it fits into the broader list operation workflow, but the core purpose is adequately 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% — the filter object and all nested properties have descriptions like 'Filter by company names' and 'Filter by company size ranges'. The tool description adds no parameter-level detail beyond the word 'filter', so it does not improve on the schema. 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 ('Estimate') and clearly states the resource (companies matching a list filter) and the outcome (count and credit cost). This distinguishes it from siblings like company_lists-get_companies (which would likely return actual companies) and credits-get_balance (which displays current balance).
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 pre-flight use case by saying what the list operation 'would cost', but it does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions or prerequisites. It provides clear context but lacks direct usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-createAInspect
Save a company filter as a reusable list for review, signals, scoring, export, and CRM workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint: false and destructiveHint: false, so the agent knows this is a write operation. The description adds minimal behavioral detail beyond the word 'Save' and doesn't disclose any side effects, idempotency, or edge cases. However, with annotations covering the safety profile, the description is 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?
A single sentence that is concise and front-loaded with the core action ('Save a company filter as a reusable list') followed by relevant usage contexts. 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?
For a create tool with a rich underlying schema, the description gives enough high-level context (what the list is used for) and relies on the schema for parameter detail. It doesn't explain return values, but no output schema exists, so that's not required. It could mention that the filter supports both inclusion and exclusion criteria, but the schema already documents that.
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 with detailed descriptions for all parameters (e.g., name, filter with nested objects like exclude, location, founded). The description adds no parameter-level detail, but since schema coverage is high, 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 uses a specific verb ('Save') and clear resource ('a company filter as a reusable list'), clearly distinguishing this creation tool from sibling tools like company_lists-list or company_lists-update. It also mentions the purpose of the list (for review, signals, scoring, export, CRM workflows), adding practical context.
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 a company filter needs to be persisted for future workflows, which provides clear context. It doesn't explicitly mention alternatives or when not to use it, but the naming and wording make it obvious this is the create operation among the company_lists siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-deleteADestructiveIdempotentInspect
Delete a saved company list and remove its reusable segment boundary.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the company list to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known. The description adds value by explaining a non-obvious side effect: the removed list also removes its 'reusable segment boundary.' This is meaningful behavioral context beyond the annotations, though it does not detail irreversibility or cascading 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, concise sentence with no filler. Both clauses carry important information: the core action and the segment boundary side effect. It is appropriately front-loaded and 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?
For a simple one-parameter delete operation with strong annotations (destructive, idempotent) and no output schema, the description provides the essential behavioral nuance (segment boundary removal) and relies on schema for parameter semantics. It is complete enough, though it could mention permanence or behavior on non-existent lists, but idempotentHint mitigates that concern.
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 fully describes the single parameter listId as 'The unique identifier of the company list to delete' (100% coverage). The description does not add any additional parameter meaning, so it relies on the schema. The baseline of 3 applies here.
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') and resource ('saved company list'), and adds a specific consequence ('remove its reusable segment boundary'). This distinguishes it from other list operations like company_lists-get or company_lists-update, and clearly identifies the domain (company lists vs. contact lists).
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: it is the tool for deleting saved company lists. However, it does not explicitly state when to use this over alternatives (e.g., contact_lists-delete) or mention any prerequisites or exclusions. The context of the tool name and sibling set makes the usage clear, but explicit guidance is lacking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-exportAInspect
Export a saved company list to CSV, optionally including selected firmographic and signal columns.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the company list | |
| __requestBody | No | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=false, destructiveHint=false, and openWorldHint=true. The description adds no context about side effects, asynchronous behavior, file handling, or authentication requirements. For an export operation that may create a file or return a download link, the lack of behavioral detail leaves significant ambiguity for the agent.
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 that directly states the action, resource, and optional parameters. It contains no filler or redundant information, earning full marks for 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?
There is no output schema, so the description should explain what the agent should expect in return. 'Export to CSV' implies a CSV file, but it does not clarify whether the tool returns the file content, a download URL, or an async job ID. Given the moderate complexity (nested request body) and annotations indicating open-world behavior, the description 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?
Schema description coverage is 100%, so the input schema already documents listId and the request body fields with clear descriptions. The tool description merely summarizes 'firmographic and signal columns' without adding any details beyond what the schema provides. 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 states a specific verb ('Export') and resource ('saved company list') with a clear output format ('CSV'), distinguishing it from siblings like company_lists-get or count_preview. It also mentions optional column selection, making its functionality 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 'Export a saved company list to CSV' clearly implies the use case of obtaining a CSV export, but it does not explicitly compare with alternatives such as company_lists-get_companies (which likely returns structured JSON) or state when not to use the tool. No exclusion criteria or alternative suggestions are provided, leaving usage to be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-getARead-onlyIdempotentInspect
Retrieve company list metadata, including its filter and current company count.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the company list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds detail about the metadata contents (filter and company count) but does not disclose other behavioral aspects like error handling or permissions. This is acceptable given the annotation coverage.
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-loads the verb, and contains no extraneous 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 is simple with one parameter and no output schema. The description explains that it returns metadata including filter and company count, which covers the main return value. However, it doesn't enumerate all possible metadata fields or specify error scenarios, but this is likely sufficient for a basic metadata retrieval.
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 a complete description for the single parameter listId (100% coverage), so the description does not need to add parameter syntax. The description adds no parameter-specific 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 uses the specific verb 'retrieve' and identifies the resource as 'company list metadata', specifying key contents (filter and company count), which clearly distinguishes it from siblings like company_lists-get_companies or company_lists-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 that this tool is for metadata retrieval, but it does not explicitly mention alternatives or conditions when not to use it. The sibling context implies distinction, but the description itself lacks explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-get_companiesARead-onlyIdempotentInspect
Page through companies that match a saved company list filter.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of companies to return (1–100, default 25) | |
| listId | Yes | The unique identifier of the company list | |
| offset | No | Number of companies to skip for pagination (default 0) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read-only nature is covered. The description adds the pagination behavior and the dependency on a saved list filter, but does not disclose details like result ordering, empty results, or error behavior. This is minimal additional value over annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that directly states the tool's function without filler or repetition. It is front-loaded and easy to scan.
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 paginated read tool with well-described parameters and safe annotations, the description is nearly complete. It could mention what happens when no companies match or how results are ordered, but these are not essential for correct invocation. The lack of an output schema is partially offset by the clear statement that it returns companies.
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 clear descriptions for limit, listId, and offset, so the description does not need to add parameter details. The term 'page through' reinforces the role of limit/offset, but adds no new semantics 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 uses a specific verb ('Page through') and identifies the exact resource ('companies that match a saved company list filter'), clearly distinguishing it from related tools like company_lists-get (list metadata) and company_lists-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 clearly implies the tool is for paginating through companies in a saved list, but it does not explicitly state when to use it versus alternatives like company_lists-search, company_lists-get, or contact_lists-get_contacts. No exclusions or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-importBInspect
Import companies from a HubSpot list, view, or segment into a saved Saber company list.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal a non-read-only, non-idempotent mutation (readOnlyHint=false, idempotentHint=false). The description adds minimal behavioral context beyond that, such as implying the creation of a saved list, but does not disclose potential side effects or rate limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the action and source/destination without waste. It is concise and readable.
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 nested objects and no output schema, the description is sparse but the schema fills most gaps. Still, it doesn't clarify the relationship between the filter and HubSpot list/view/segment, and it doesn't confirm whether a new list is created or an existing one is appended. Enough for basic use but with clear 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% and the schema describes parameters in detail. However, the description's mention of 'HubSpot list, view, or segment' conflicts with the actual filter-based source schema, potentially misleading the agent into expecting a list ID rather than a property filter. This actively detracts from parameter understanding.
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 ('Import companies from a HubSpot list, view, or segment into a saved Saber company list') that distinguishes the tool from siblings like create, delete, or export. However, it refers to 'list, view, or segment' while the schema describes a property-based filter, making the source more ambiguous than it should be.
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 importing from HubSpot, but it does not explicitly state when to use this tool over alternatives or provide any exclusions. No alternatives are mentioned, and the context is only implicit through the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-listARead-onlyIdempotentInspect
List saved company lists with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of lists to return (1–100, default 20) | |
| offset | No | Number of lists to skip for pagination (default 0) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds pagination behavior, which is not covered by the annotations. Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so the bar for additional disclosure is lower. The description does not contradict annotations and adds useful 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 concise sentence with no redundancy. It delivers the core purpose and key behavioral detail (pagination) 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?
For a simple list-with-pagination tool, the description is complete. Annotations cover safety profile, schema covers parameter details, and the purpose is clear. With no output schema, the implied return of company lists is sufficient.
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 fully describes both limit and offset with ranges and defaults, achieving 100% schema description coverage. The description's mention of pagination aligns with the schema but adds no new parameter semantics 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 clearly states the action (List) and resource (saved company lists), and mentions pagination. It effectively distinguishes from sibling tools like get, search, and count_preview by implying a full enumeration.
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 purpose but does not explicitly state when to use it versus alternatives such as company_lists-search or company_lists-get. Usage context is implied by the name and action, but there are no explicit when/when-not or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-searchAInspect
Preview up to 50 companies that match a filter before creating a reusable company list.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Preview,' which implies a read-only operation, but the annotations set readOnlyHint: false, indicating the tool may not be read-only. This is a direct contradiction, and no other behavioral traits (e.g., authentication needs, rate limits, side effects) are disclosed. The annotation contradiction per the rubric forces a score of 1.
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: 'Preview up to 50 companies that match a filter before creating a reusable company list.' It states the action first, includes the key limit, and contains no extraneous words. 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 description covers the purpose and output limit but does not describe the structure of the returned company data, and there is no output schema to compensate. The rich input schema and clear preview context make it usable, but the lack of return-value details leaves a gap for an agent deciding how to use the results.
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 detailed descriptions for all filter properties (names, sizes, types, domains, exclude, founded, handles, location, websites, industries, questionIds, technologies), achieving 100% schema description coverage. The tool description adds no additional parameter-specific meaning, so the baseline score 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 function: 'Preview up to 50 companies that match a filter before creating a reusable company list.' This includes a specific verb (preview), a resource (companies), an output limit (up to 50), and the intended use case (before creating a list). It distinguishes the tool from siblings like company_lists-create (which creates) and company_lists-count_preview (which likely only counts).
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: 'before creating a reusable company list.' However, it does not explicitly name alternatives or exclusions, such as 'use company_lists-count_preview for just a count' or 'use company_lists-create to immediately create.' This is clear context but lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_lists-updateAIdempotentInspect
Update a company list name or filter and refresh cached matching companies.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the company list to update | |
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a non-obvious side effect: 'refresh cached matching companies.' This goes beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false) by explaining that the operation triggers a cache refresh. It does not contradict any annotation and adds useful 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 entire description is one succinct sentence that front-loads the main action ('Update a company list') and includes an important side effect. There is 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?
With no output schema, the description covers the tool's purpose and a key side effect, which is sufficient for a basic update operation. However, it omits the fact that both name and filter are always required (contradicting the 'or' phrasing) and provides no error-handling or prerequisite context. The rich schema compensates for input details but not for these high-level behavioral nuances.
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 the name and filter properties in detail. The description adds only that the update affects the name or filter and that matching companies are refreshed, which is largely a behavioral note. It does not clarify parameter formats, defaults, or the requirement to provide both 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 identifies the action ('Update') and the resource ('a company list'), and it distinguishes the tool from siblings like company_lists-create or company_lists-delete. However, it says 'name or filter' while the schema requires both fields in the request body, which is slightly misleading about the update semantics.
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 for updating a company list but gives no explicit guidance on when to choose this tool over alternatives such as contact_lists-update or when not to use it. It lacks exclusions or alternative references, providing minimal contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_signals-createAInspect
Create a company research signal, return immediately, then poll the signal ID or receive results through a webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds key behavioral context beyond annotations: it explicitly states the API returns immediately and results are obtained by polling the signal ID or via webhook. This is valuable operational information not covered by the annotations, which only indicate non-read-only, non-destructive, open-world 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?
A single sentence with no waste, front-loaded with the primary action and object. It efficiently conveys both the purpose and the key async behavior.
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 and rich input schema, the description provides the essential async workflow but omits guidance on alternative tools and edge cases like cache behavior or webhook limitations. It is adequate but not 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 description coverage is 100% and each property has detailed descriptions with examples and constraints. The tool description itself adds no parameter-level information, so the schema carries the full semantic burden, warranting the 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 creates a company research signal, using a specific verb and resource. It differentiates from retrieval tools (get/list) but does not explicitly distinguish from the batch creation sibling, making the distinction implicit.
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 asynchronous execution model (return immediately, poll or webhook) but provides no guidance on when to use this tool versus alternatives like company_signals-create_batch or the get/list tools. No exclusions or preferred use contexts are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_signals-create_batchAInspect
Create many company signals across domains, questions, or templates. Use templates for larger standardized batches.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond what annotations already provide. Annotations indicate readOnlyHint=false, destructiveHint=false, and openWorldHint=true, and the description simply says 'Create many company signals' without disclosing side effects, rate limits, async behavior, or other consequences. The schema contains rich details, but the description itself contributes no extra 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 two sentences, front-loaded with the primary action, and contains no unnecessary words. It efficiently conveys the tool's purpose and a single high-value usage tip about templates.
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 (nested objects, async mode, webhooks) and the lack of an output schema, the description is quite sparse. However, the input schema is highly detailed and covers most behavioral and parameter information, including async return shapes. The description could be more helpful by hinting at response formats or typical use cases, but it is minimally adequate when combined with the 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?
Schema description coverage is 100%, so the baseline is 3. The description's mention of 'domains, questions, or templates' roughly maps to the domains and signals parameters, but this adds little meaning beyond the already comprehensive schema descriptions. It does not provide additional syntax, constraints, or examples beyond what the schema 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 clearly states the tool creates many company signals, using the specific verb 'create' and resource 'company signals'. It distinguishes itself from the sibling company_signals-create by emphasizing 'many' and 'batch', and mentions domains, questions, and templates as 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 that this tool is for creating multiple signals at once, distinguishing it from single-create alternatives. It also gives specific guidance to 'use templates for larger standardized batches', which is a useful usage hint. However, it does not explicitly mention alternatives like company_signals-create or list when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_signals-getARead-onlyIdempotentInspect
Retrieve the current status and AI-generated answer for a company signal when it has completed.
| Name | Required | Description | Default |
|---|---|---|---|
| signalId | Yes | The unique identifier of the signal (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent hints. The description adds behavioral context by specifying the return includes status and AI-generated answer, and that it applies when the signal has completed, hinting at a state-dependent response.
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, information-dense sentence that is front-loaded with the verb 'Retrieve' and includes all necessary context without any 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 one-parameter, read-only getter, the description adequately covers purpose, return content (status and answer), and the completion condition. It does not detail status values or error behavior, but these are not critical for such a simple tool with strong annotations.
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 for the single parameter signalId with a clear UUID description. The tool description does not add extra parameter semantics, but none are needed given the 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 tool retrieves the current status and AI-generated answer for a company signal, with a specific condition (when it has completed). This distinguishes it from sibling tools like company_signals-list or company_signals-create.
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 'when it has completed' implies the tool is intended for retrieving results after signal completion, contrasting with list/create tools. It does not explicitly name alternatives or exclusions, but context provides clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_signals-listARead-onlyIdempotentInspect
List company signal runs with optional filters for domain, company ID, completion date, status, and subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results per page | |
| domain | No | Filter signals by company domain (e.g., "acme.com") | |
| offset | No | Number of results to skip for pagination | |
| status | No | Filter by signal status (can be specified multiple times for multiple statuses) | |
| toDate | No | Filter signals completed on or before this date (RFC3339 format) | |
| fromDate | No | Filter signals completed on or after this date (RFC3339 format) | |
| companyId | No | Filter signals by company ID | |
| subscriptionId | No | Filter signals by subscription ID (UUID of the signal subscription that triggered execution) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering safety. The description adds no further behavioral details beyond saying 'List', so it provides minimal value beyond the 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 concise sentence that states the action and the main filter categories. 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?
Given the simple list operation, the description is sufficient for a basic understanding. It does not explain pagination or return format, but the schema includes limit/offset and the operation is simple enough that the agent can infer the behavior. The lack of an output schema is not a major gap for a straightforward list 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 8 parameters documented in the schema. The description merely restates the categories of filters (domain, company ID, etc.) without adding any new meaning, 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 clearly states 'List company signal runs' with a specific verb and resource, and mentions optional filters. This distinguishes it from sibling tools like company_signals-get (which likely retrieves a single signal) and company_lists-list (which lists 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?
The description makes it clear that this tool is for listing signal runs, which is a distinct operation from getting a single run or creating runs. However, it does not explicitly mention when not to use it or name alternatives, so it falls short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
company_signals-subscription_logsARead-onlyIdempotentInspect
List company signal executions produced by a specific signal subscription, with filters and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results per page | |
| domain | No | Filter signals by company domain | |
| offset | No | Number of results to skip for pagination | |
| status | No | Filter by signal status (can be specified multiple times) | |
| toDate | No | Filter signals completed on or before this date (RFC3339 format) | |
| fromDate | No | Filter signals completed on or after this date (RFC3339 format) | |
| companyId | No | Filter signals by company ID | |
| subscriptionId | Yes | The UUID of the signal subscription |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds scoping to a specific subscription and mentions filters/pagination, but doesn't disclose additional traits like response structure or rate limits, so it adds only modest value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence front-loaded with the verb and resource, containing no redundant or extraneous information. It efficiently communicates the tool's core action and scope.
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 rich input schema with full parameter descriptions and strong annotations, the description sufficiently covers the tool's purpose and scope. However, there is no output schema and the description doesn't describe return value structure or pagination response details, leaving some ambiguity about what the agent will receive.
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 8 parameters documented in the input schema, including defaults, formats, and filter semantics. The description only generically mentions 'filters and pagination' without adding any parameter-specific meaning 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 uses the specific verb 'List' and identifies the resource as 'company signal executions produced by a specific signal subscription', which clearly distinguishes it from sibling tools like company_signals-list that may list signals more broadly. It also mentions filters and pagination, reinforcing the tool's specific role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by requiring a 'specific signal subscription' through the required subscriptionId, but it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusions or contrast with similar list tools in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectors-listARead-onlyIdempotentInspect
List connectors and their connection status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the detail that it returns 'connection status', which is useful context, but it does not elaborate on what counts as a connector or how status is represented. This is adequate 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, concise sentence that front-loads the action and resource. Every word is informative, with no filler or repetition of 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?
For a simple read-only list operation with no parameters and no output schema, the description provides the essential information: it lists connectors and their status. However, it could be more complete by mentioning whether the list includes all connectors or if any pagination/limitations apply, but given the tool's simplicity 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?
The tool has zero parameters, so the schema is fully covered (100% coverage) by default. The description does not need to explain parameters, and the baseline for zero parameters is 4. There is nothing to add.
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 'connectors', and specifies that it returns 'connection status'. This is specific and distinguishes it from sibling tools, which are all focused on other entity types like company_lists, contact_lists, or signals.
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 checking connectors and their statuses, but there is no explicit guidance on when to use this tool versus alternatives. There are no similarly named sibling tools, so alternatives are not relevant, but the description could have noted a use case like 'check before sending data' to be clearer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contact_lists-createAInspect
Run a LinkedIn Sales Navigator search, store a point-in-time contact snapshot, and return contact list metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, so the description's statement that it 'stores' a snapshot is consistent and adds a valuable nuance (point-in-time). However, it does not disclose potential side effects such as credit usage, latency, or whether the search is executed immediately. It adds some context beyond annotations but not rich behavioral 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 sentence that is front-loaded with the core action and contains no filler. Every phrase adds value, making it 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 description explains the creation process and return type ('metadata'), but with no output schema, it leaves some gaps such as what the metadata includes or whether the operation is synchronous. The schema covers the input complexly, but the description could be more complete regarding response shape and potential limitations.
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 does not add additional parameter-specific meaning beyond what the schema already provides, and the schema descriptions are adequate 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 uses a specific verb ('Run'), identifies the resource ('LinkedIn Sales Navigator search'), and explains the key actions: storing a point-in-time contact snapshot and returning contact list metadata. This clearly distinguishes it from sibling tools like contact_lists-update or contact_lists-get.
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 provide any explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. While the name implies creation, the description simply states what it does and offers no context like 'use for creating new lists; use contact_lists-update for modifications.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contact_lists-deleteADestructiveIdempotentInspect
Permanently delete a contact list and its stored contact snapshots.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the contact list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true and readOnlyHint=false, but the description adds useful behavioral context: the deletion is permanent and also removes stored contact snapshots. This goes beyond the annotations by specifying exactly what gets destroyed. No contradiction with 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 that conveys the action, the resource, and the consequence. 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?
For a simple delete tool with one parameter, the description is sufficiently complete. It clarifies the destructive scope (permanent deletion of list and snapshots) and is consistent with annotations. No output schema is provided, so return values are not required. Minor addition could include a warning about irreversibility, but 'permanently' already conveys that.
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 for the only parameter, listId, with its description 'The unique identifier of the contact list.' The description adds no additional parameter-level meaning, 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 states a specific verb+resource: 'Permanently delete a contact list' and adds the scope that it also deletes 'stored contact snapshots.' This distinguishes it from sibling tools like contact_lists-create/get/update/list and company_lists-delete by specifying the exact resource and effect.
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 is implied by the verb 'delete' and the permanent nature, but there is no explicit guidance on when to choose this vs alternatives (e.g., contact_lists-update, contact_lists-list) or any mention of prerequisites or exclusions. It gives clear context but no differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contact_lists-getARead-onlyIdempotentInspect
Retrieve contact list metadata and the stored contact count.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the contact list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds that it retrieves metadata and a count, which is useful but not extensive. No contradictions with 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, concise sentence that is front-loaded with the action and resource. 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?
For a simple one-parameter read-only tool, the description is adequate. It mentions what is returned (metadata and count) without an output schema. Could be slightly more detailed about return format, but unnecessary for 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% for listId, fully explaining its purpose. The description doesn't add additional semantics beyond what's in 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 the verb 'Retrieve' and the resource 'contact list metadata', while adding the specific detail of 'stored contact count'. This distinguishes it from sibling tools like contact_lists-get_contacts and contact_lists-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 implies usage: use when you need metadata and a count for a specific contact list. It doesn't explicitly exclude alternatives or mention siblings, but the context is clear. A brief note on when to use this instead of contact_lists-get_contacts would elevate it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contact_lists-get_contactsARead-onlyIdempotentInspect
Page through contacts stored in a saved list without making a new Sales Navigator request.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of contacts to return (1–100, default 25) | |
| listId | Yes | The unique identifier of the contact list | |
| offset | No | Number of contacts to skip for pagination (default 0) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, etc.), the description discloses a significant behavioral trait: it does not make a new Sales Navigator request, implying cached data and potential staleness. This is useful context not covered by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action ('Page through contacts'), and contains no redundant information. Every word contributes 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 pagination tool with strong annotations and full schema coverage, the description is sufficient. It explains the core use case and the key limitation (no new request). It does not detail return format, but the absence of an output schema makes that less critical given the 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?
The input schema already fully documents all three parameters (limit, listId, offset) with descriptions and ranges. The description adds no additional parameter-specific meaning, 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 tool's purpose: 'Page through contacts stored in a saved list' with a specific verb and resource. It also adds scope ('without making a new Sales Navigator request') that distinguishes it from sibling tools like contact_lists-get or contacts-search.
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 the tool—when you want to iterate over contacts that already exist in a saved list, avoiding a new API request. It implies a prerequisite (the list is already saved) and suggests it for pagination scenarios, but does not explicitly name alternatives or state 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.
contact_lists-listARead-onlyIdempotentInspect
List saved contact lists with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of lists to return (1–100, default 20) | |
| offset | No | Number of lists to skip for pagination (default 0) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds 'with pagination', which is also evident from the limit/offset schema parameters, so it adds minimal behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. It front-loads the action and resource, and mentions pagination without redundant 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 simple list tool with two well-documented parameters and rich annotations, the description covers the essential purpose. It does not describe the return format, but no output schema exists and the action 'list' implies the return of lists. Slightly more detail on sorting or response shape would improve completeness, but it is adequate.
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 both limit and offset, so the schema already fully documents the parameters. The description does not add any additional meaning to the parameters 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 'saved contact lists', and adds the pagination aspect. This distinguishes it from sibling tools like contact_lists-get (single list) and contact_lists-create/delete/update.
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 listing contact lists with pagination, but provides no explicit alternatives or when-not-to-use conditions. It does not mention using contact_lists-get for a single list or how pagination should be handled in practice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contact_lists-updateAIdempotentInspect
Rename a saved contact list without changing its stored contact snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the contact list | |
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds valuable behavioral context by stating that the stored contact snapshot is unaffected, clarifying exactly what side effects the rename operation does not have. It does not discuss permissions or error conditions, but the added constraint is meaningful.
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—'Rename a saved contact list without changing its stored contact snapshot.' Every clause adds meaning, with no filler or repetition, making it highly 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?
For a simple rename mutation with full schema coverage, helpful annotations, and a precise one-sentence behavior description, the tool is largely well-specified. The lack of an output schema and no mention of return value or error behavior is a minor gap, but the operational contract is otherwise clear.
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 both parameters: listId as 'The unique identifier of the contact list' and name as 'New display name for the contact list' with an example and maxLength. The description adds no additional parameter-level detail beyond 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 uses a specific verb ('Rename') and resource ('saved contact list'), and further scopes the action with 'without changing its stored contact snapshot.' This clearly distinguishes it from sibling tools like contact_lists-create, contact_lists-delete, or contact_lists-get_contacts, and leaves no ambiguity about 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?
The description clearly states the tool is for renaming a list and explicitly notes the snapshot is unchanged, giving strong context for when to use it. However, it does not explicitly name alternative tools to use for other operations (e.g., modifying contacts in the list) or provide 'use this instead' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts-create_researchAInspect
Start asynchronous AI research for a contact using LinkedIn and other sources, then poll the research ID for results.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds key behavioral context beyond annotations: it emphasizes that the research is asynchronous and that polling is required. It also mentions external sources (LinkedIn). However, it does not disclose other behavioral traits such as potential costs, failure modes, or the option to receive webhook notifications (a parameter in the schema). Annotations already indicate non-read-only and non-idempotent, so there is no contradiction, but the description could provide more depth on 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 sentence that front-loads the primary purpose, then adds the crucial follow-up action. Every clause earns its place, with no wasted words. It is concise yet 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?
The description provides a sufficient mental model: start async research, receive an ID, poll for results. Given the rich schema with all parameters documented, the description does not need to explain input details. It is slightly incomplete by not mentioning the webhookUrl alternative for completion notifications, but the schema covers that, so the overall context 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?
Schema description coverage is 100%, with each parameter having a clear description and example. The tool description does not add parameter-level meaning beyond the schema, but it reinforces the need for contact and company information. Since the schema carries the full burden, a 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 tool's purpose: 'Start asynchronous AI research for a contact using LinkedIn and other sources'. It specifies a distinct verb ('Start') and resource ('asynchronous AI research for a contact'), and differentiates from siblings like contacts-get_research by implying that this tool initiates research rather than retrieving results. The mention of 'poll the research ID' further distinguishes it as a kickoff 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 description provides clear context: use this tool to start asynchronous research, then poll the returned ID for results. This implies the workflow and points to a separate polling step (likely via contacts-get_research). However, it does not explicitly name alternative tools or state conditions when not to use it, so it misses explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts-create_signalAInspect
Create a contact research signal, return immediately, then poll the signal ID or receive results through a webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-idempotent operation. The description adds valuable behavioral context by revealing the async pattern (immediate return, polling or webhook), which is not captured in the annotations. This exceeds the baseline while not over-explaining.
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 conveys the essential workflow without any redundant information. It is perfectly sized for the tool's 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 description covers the core workflow needed to use the tool effectively: create, get immediate response, and retrieve results via polling or webhook. Given the rich schema and annotations, it is complete enough, though it does not explicitly mention that the returned signal ID can be used with contacts-get_signal.
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 fully documents all parameters. The description adds no parameter-specific meaning beyond what the schema already provides, matching 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 uses a specific verb and resource ('Create a contact research signal') and clearly distinguishes this from sibling tools like 'contacts-get_signal' by stating it creates rather than retrieves. It also conveys the asynchronous nature, making the tool's purpose unmistakable.
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 asynchronous workflow (return immediately, then poll or webhook), which implies when to use this tool versus synchronous alternatives. However, it does not explicitly name alternatives or state when to prefer this tool over others like 'contacts-create_research' or 'contacts-get_signal'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts-enrich_customCInspect
Enrich a contact with a custom question
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, which is consistent with the 'enrich' action. However, the description adds no behavioral context beyond that—it does not mention caching, asynchronous processing, credit usage, or that it generates a signal. The schema's parameter descriptions contain such details, but the description itself fails to disclose any of these traits.
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 action. It is not padded with fluff and is easy to parse. However, it is arguably too minimal, missing useful qualifiers like 'creates a signal' or 'for a contact', which would improve clarity without sacrificing 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?
The schema provides rich parameter-level context (e.g., forceRefresh, webhookUrl, verificationMode), but the tool has no output schema and the description does not explain what the tool returns or that it triggers asynchronous enrichment. Given the tool's complexity, a brief statement about the outcome or processing model is missing, making the description only partially 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 100% of parameters with detailed descriptions, examples, defaults, and enums. The description itself adds no parameter-specific information. Per the rubric, with high schema coverage, a baseline score of 3 is appropriate since the schema already carries the semantic weight.
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 'Enrich a contact with a custom question' clearly identifies the action (enrich) and the resource (contact), and the 'custom question' aspect distinguishes it from other contact enrichment tools like work-email enrichment. However, it does not explicitly mention that it creates a signal or how it relates to similar sibling tools like contacts-create_signal, leaving some 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?
The description provides no guidance on when to use this tool versus alternatives such as companies-enrich_custom or contacts-create_signal. It does not mention prerequisites, exclusions, or scenarios where another tool would be more appropriate. The only implicit context is the 'custom question' differentiator, which is not enough for clear usage decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts-enrich_work_emailBInspect
Find a contact's verified work email
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. It does not disclose that the operation is not read-only (readOnlyHint: false), nor does it mention potential outcomes like not_found, domain resolution behavior, or rate limits. The annotation says it's not read-only, but the description's 'find' wording may mislead agents into thinking it's a pure lookup without 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 concise sentence that gets straight to the point. It is front-loaded and contains no unnecessary words, earning a high score for 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 the tool's complexity (4 parameters, no output schema, non-read-only behavior), the description is incomplete. It doesn't explain what the tool returns (e.g., email or not_found), when to use it alongside siblings, or any behavioral caveats. The schema covers parameters, but the tool-level description leaves significant 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%, so the baseline is 3. The description itself adds no parameter details, but the schema already thoroughly documents each parameter, including domain normalization, full_name parsing, and company_name usage, so the baseline 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 'Find a contact's verified work email' clearly states the action (find) and the resource (verified work email). It is specific and distinguishes this tool from generic enrichment tools like 'contacts-enrich_custom' by emphasizing the verified work email output.
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 does not mention any sibling tools, exclusions, or specific scenarios, leaving the agent without explicit usage context beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts-get_researchARead-onlyIdempotentInspect
Retrieve the current status and AI-generated insights for a contact research job when it has completed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier of the contact research request |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds that it returns 'current status and AI-generated insights' and a completion condition, but does not disclose error behavior, polling semantics, or what happens before completion. Beyond annotations, limited additional disclosure, so 3.
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 introduces the verb and object immediately and has no redundant phrases. Efficient for a one-parameter getter, so 5.
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 with no output schema, the description provides a high-level return summary but omits important context: what happens if the job hasn't completed, whether not-found errors occur, or the structure of insights. Given the openWorldHint and lack of output schema, more detail would help, but the description is minimally adequate, so 3.
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 has one parameter with full description coverage (100%). The description's 'job' term aligns with schema's 'request' but adds no format, allowed values, or relationship details. Baseline 3 applies because schema carries the semantic weight.
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 (retrieve) and resource (contact research job), with a scoping condition ('when it has completed'). It distinguishes from write tools like contacts-create_research but does not explicitly differentiate from the similar sibling getContactResearchByExternalID, since both retrieve research data. Thus 4.
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 timing guidance ('when it has completed') that implies it should be called after completion, but does not name alternatives such as contacts-create_research or getContactResearchByExternalID, nor state when not to use it. Minimal guidance, so 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts-get_signalARead-onlyIdempotentInspect
Retrieve the current status and AI-generated answer for a contact signal when it has completed.
| Name | Required | Description | Default |
|---|---|---|---|
| signalId | Yes | The unique identifier of the contact signal (UUID format) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds the completion condition and return content, but does not detail what happens if the signal hasn't completed or any error behavior, providing only marginal context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the operation and includes only essential details, 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 one-parameter get tool with strong annotations, the description conveys the essential return value ('status and AI-generated answer') and call timing. The only notable gap is ambiguity about behavior when the signal is not yet completed, but overall it is 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?
The schema description for signalId is 100% complete, including UUID format. The tool description adds no further parameter meaning, so the 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 uses a specific verb 'retrieve' and identifies both the resource ('contact signal') and the content ('current status and AI-generated answer'). It clearly distinguishes from sibling tools like contacts-list_signals or contacts-create_signal, which handle listing or creation rather than single retrieval.
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 'when it has completed' provides a clear temporal context for when to invoke the tool. It implies the tool is meant to be called after a signal finishes, but it does not explicitly name alternatives or state when not to use it, stopping short of the highest tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacts-list_signalsARead-onlyIdempotentInspect
List contact signal runs with optional filters for profile URL and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results per page | |
| offset | No | Number of results to skip for pagination | |
| contactProfileUrl | No | Filter signals by contact profile URL (LinkedIn or other professional profile) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, establishing the safety profile. The description adds minimal behavioral context beyond the action of listing, and does not mention return format, rate limits, or other operational traits. Since the bar is lower with annotations, this scores a 3.
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. Every word contributes to conveying the action and key options, 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 is simple with three optional parameters and no output schema. The description, while minimal, clearly indicates the list action and available filtering, which is sufficient for an agent to invoke it. However, it could have explained what a 'signal run' is or what the response looks like, given no output schema exists.
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 three parameters (limit, offset, contactProfileUrl) documented. The description merely summarizes them as 'optional filters for profile URL and pagination,' adding no additional semantic meaning beyond what the schema provides. 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 uses the specific verb 'List' with the resource 'contact signal runs,' clearly distinguishing it from other list tools like company_signals-list or market_signals-list_signals. It also notes the optional profile URL filter, which ties to contacts, 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 description implies usage when one needs to list contact signal runs and mentions optional filters, but it does not explicitly state when to choose this over alternatives or mention any prerequisites. There is no comparison with sibling tools, so 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.
contacts-searchAInspect
Search for contacts by company, name, job title, keyword, country, department, or seniority using the API key owner's Sales Navigator connection.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the significant context that the search runs through the API key owner's Sales Navigator connection, which implies network-dependent results. Given the annotations already provide readOnlyHint=false, openWorldHint=true, etc., this extra context is helpful, though it does not disclose potential side effects like credit consumption or rate limits; it does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that immediately states the tool's purpose and key search dimensions. No filler or repetition – it 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?
For a tool with a rich schema covering pagination, filters, and error handling, the description provides the essential overview (what it searches and via whose connection). It lacks an explicit statement of return values, but the schema's references to 'contacts' and pagination imply the output; the description is adequate given the schema's depth.
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 describes all parameters exhaustively (100% coverage), so the description adds only a high-level mapping of search criteria to parameters. It provides no additional semantic detail beyond 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 uses a specific verb ('Search') and resource ('contacts') and enumerates the searchable attributes (company, name, job title, keyword, country, department, seniority), clearly distinguishing it from sibling tools like company_lists-search (company lists) or contacts-get_research (research profiles).
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 the tool (when you need to find contacts by those criteria and have the API key owner's Sales Navigator connection), but it does not explicitly state alternative tools or exclusions, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
credits-get_balanceARead-onlyIdempotentInspect
Check how many Saber API credits your organization has left in the current billing period.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds valuable behavioral context by specifying the temporal scope ('current billing period'), which is not encoded in the annotations. No contradictions detected.
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 the verb 'Check' first. It contains no filler or redundancy, earning a perfect conciseness 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?
Given the tool's low complexity, no output schema, and rich annotations, the description adequately conveys the purpose and the nature of the return value ('how many credits left'). It could specify the exact response format, but the phrase implies a numeric value, which is sufficient for this simple read-only 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?
With zero parameters, the baseline is 4 per the rubric. The input schema is empty, and the description correctly implies no inputs are required. No additional parameter explanations 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 a specific verb ('Check') and identifies the exact resource ('Saber API credits') with a scope ('current billing period'). It clearly distinguishes itself from sibling tools, none of which relate to credits or billing.
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 about what is being checked (credits remaining in the billing period) but does not explicitly mention when to use this tool versus alternatives. Since there are no sibling tools for credits, the usage context is sufficient, but explicit exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrichment_runs-getCRead-onlyIdempotentInspect
Get an enrichment run
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond the annotations. The annotations already indicate read-only, idempotent, and non-destructive behavior, but the description does not disclose what happens if the run is not found, whether it returns full details, or any other runtime behavior. It relies entirely on structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short ('Get an enrichment run'). While it is concise, it is under-specified rather than appropriately concise. It lacks critical details that would make the single sentence useful, such as the key parameter or return behavior. This is similar to the 'Process' example where brevity masks incompleteness.
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 (one parameter, no output schema, clear safety annotations), one might expect a simple description, but this is too minimal. It does not describe what the output looks like, possible error conditions, or how the run ID is used. The annotations and schema do not compensate for the lack of contextual detail. A complete description would at least mention 'by runId' and summarize what an enrichment run is.
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 0% for the single parameter runId. The description does not explain what runId refers to, how to obtain it, or its format/constraints. With such low schema coverage, the description must compensate but offers no parameter-related information at all. The parameter name is partially self-explanatory, but the description itself adds no 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 'Get an enrichment run' clearly states the action (get) and the resource (an enrichment run). It is understandable but does not explicitly distinguish from the sibling tool enrichment_runs-list, which also deals with enrichment runs. The verb 'get' implies a single item retrieval, but no mention of by ID or that this is for a specific run vs listing all runs.
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 that it retrieves a single run by runId, nor does it reference sibling tools like enrichment_runs-list for listing. No context is provided about typical use cases or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrichment_runs-listCRead-onlyIdempotentInspect
List enrichment runs
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Run type — `custom` or a prebuilt enrichment type. | |
| limit | No | ||
| offset | No | ||
| status | No | Repeatable. Unknown values are rejected with `422`. | |
| toDate | No | Include runs created at or before this instant. | |
| entityId | No | Exact company id; never matches contact runs. | |
| fromDate | No | Include runs created at or after this instant. | |
| entityType | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the base safety profile is known. However, the description adds no behavioral context such as pagination behavior, default sort order, or that it returns only a subset of runs. It fails to disclose anything beyond what annotations already convey.
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 zero fluff, which is highly concise. It earns a 4 for efficiency, though the brevity does sacrifice completeness.
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 8 parameters, no output schema, and only a one-line description, the context is severely lacking. The description does not explain what an enrichment run is, how results are filtered or ordered, or what the response contains, making it insufficient for an agent to invoke the tool correctly without external 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?
The description mentions none of the 8 parameters. Schema description coverage is 63%, meaning some parameters like `limit`, `offset`, and `entityType` lack textual descriptions. The description does not compensate for this gap, leaving those parameters semantically underdocumented.
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 resource ('enrichment runs'), making the purpose unambiguous. While it doesn't explicitly distinguish from sibling tool `enrichment_runs-get`, the verb 'list' implies a collection operation. It is specific but could benefit from mentioning filtering 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 like `enrichment_runs-get` or `enrichment_templates-list`. The name implies it is for listing multiple runs, but the description offers no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrichment_templates-createCInspect
Create an enrichment template
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral details beyond the bare action. Annotations provide non-idempotent and non-read-only hints, but the description does not mention return values, side effects, or any required permissions. It is essentially a restatement of the tool 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, very short sentence with no wasted words. However, it is under-specified for the tool's complexity, providing almost no informative content beyond the tool name, so it is not effectively structured for an agent.
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 complex schema with nested objects, conditional fields like outputSchema and qualificationCriteria, and no output schema. The description fails to convey the template's purpose, relationship to enrichment runs, or any usage context, leaving the agent without enough grounding to select it appropriately.
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 with detailed descriptions, examples, and conditional requirements for each field. The tool description adds no parameter information, so the schema carries the full burden, matching the baseline for 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 'Create an enrichment template' uses a clear verb and resource, distinguishing it from sibling CRUD operations like get, update, and delete. However, it does not explain what an enrichment template is or how it differs from others like signal templates, so it's not fully specific.
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. No mention of prerequisites, typical scenarios, or contrast with enrichment_templates-update or signal_templates-create. The CRUD sibling set implies usage, but the description itself gives no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrichment_templates-deleteCDestructiveIdempotentInspect
Delete an enrichment template
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint: true, but the description adds no context about consequences such as whether the deletion is permanent, whether related data is cascaded, or any required permissions. No additional behavioral traits are disclosed beyond the action 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 concise sentence, front-loaded with the action and resource. It contains no redundant or filler words, though it is arguably too sparse to fully inform an agent.
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 no output schema, the description is too minimal. It fails to mention the outcome of a successful deletion, behavior when the template does not exist, or any side effects, leaving informational gaps that annotations alone do not fill.
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 no description for templateId, and the tool description does not compensate. It doesn't mention that the parameter identifies which template to delete, leaving the agent to infer this from the tool name and schema property name. Parameter semantics are not enriched 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 uses the specific verb 'Delete' with the resource 'enrichment template', clearly distinguishing it from the sibling tools that create, get, list, or update enrichment templates. It is direct and 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 no guidance on when to use this tool vs alternatives. It simply restates the action implied by the name, with no mention of prerequisites, exclusions, or cases where a different tool (e.g., update or get) 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.
enrichment_templates-getCRead-onlyIdempotentInspect
Get an enrichment template
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description itself adds no behavioral context beyond these hints—no mention of return values, error handling, or permissions—so it provides little value beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence with no unnecessary words. It is front-loaded and efficient, perfectly serving its purpose without 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?
Given the tool's low complexity (one parameter, no nested objects, safe annotations), the description is minimally adequate. However, with no output schema, some context about the response or the nature of enrichment templates would improve completeness. It is functional but sparse.
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 0% description coverage, and the description does not mention the templateId parameter. While the parameter name is self-explanatory as an identifier, the description adds no explanation of what the parameter is for or how to use it, failing to compensate for the missing 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?
The description clearly states 'Get an enrichment template', using a specific verb and resource. It accurately conveys the tool's function, but does not differentiate from sibling tools like enrichment_templates-list or provide any detail about what an enrichment 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 given on when to use this tool versus similar operations like enrichment_templates-list (to fetch multiple templates) or enrichment_templates-get variations. The description provides no context on prerequisites or scenarios, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrichment_templates-listCRead-onlyIdempotentInspect
List enrichment templates
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| includeDeleted | No | Include deleted templates in the response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no extra behavioral context such as pagination behavior, default ordering, or whether deleted templates can be included. Since the annotations are strong, a neutral description earns a baseline 3; no contradiction exists.
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 unnecessary words. It is front-loaded and immediately states the action and resource. There is no wasted content, making it optimally 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?
With no output schema, the description should help the agent understand what the response looks like, but it does not. It also omits pagination details (limit/offset) and the option to include deleted templates, both of which are part of the tool's behavior. While annotations clarify safety, the description lacks enough information about usage nuances and expected return shape for a complete picture.
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 only 33% (only includeDeleted has a description). The tool description does not compensate for the missing descriptions of limit and offset, nor does it mention pagination or the includeDeleted option. It adds no meaning beyond the schema fields, which are already sparse. The agent must infer the semantics of limit/offset from defaults and ranges alone.
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 enrichment templates' uses a specific verb ('List') and a clear resource ('enrichment templates'), making the primary purpose obvious. It distinguishes from sibling CRUD operations like enrichment_templates-get (which implies fetching a single item) and create/update/delete. However, it does not explicitly mention pagination or filtering, but the verb and resource are clear enough.
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 does not mention that this is for listing all templates, or when to use enrichment_templates-get for a specific template, or how it differs from enrichment_types-list. No exclusions or alternatives are stated, so the agent is left without decision-support information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrichment_templates-updateDInspect
Update an enrichment template
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | ||
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond what annotations already provide. It does not mention whether updates are partial or full replacements, whether existing data is overwritten, any side effects, or whether the operation is reversible. Annotations indicate it is not read-only and not idempotent, but the description contributes no additional context, earning a low score.
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?
While the one-sentence description is concise, it is under-specified rather than appropriately sized. It conveys no actionable information and does not earn its place because it merely restates the tool's name. This is a case of under-specification, not effective 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?
The description is completely inadequate for a tool with nested objects, multiple optional fields, and no output schema. It gives no indication of update semantics (e.g., partial vs. full replacement), required vs. optional fields, or the consequences of an update. The agent is left with almost no context to make an informed decision, making this a very incomplete definition.
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 does not mention any parameter, even though the schema has a nested __requestBody object with multiple fields. Schema coverage is moderate (50% at the top level) with many subfields described, but the description fails to clarify that templateId identifies which template to update or that __requestBody contains the mutable attributes. Thus the description adds no value 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 'Update an enrichment template' is essentially a restatement of the tool name 'enrichment_templates-update'. It identifies the verb and resource but provides no additional specifics about what updating entails, how it differs from creating or deleting, or what fields are involved. It is a tautology rather than a useful purpose statement.
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 offers no guidance on when to use this tool versus alternatives like enrichment_templates-create or enrichment_templates-delete. There are no prerequisites, no context about typical scenarios, and no explanation of how updates fit into the overall workflow. Usage is not implied beyond the basic meaning of 'update'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enrichment_types-listARead-onlyIdempotentInspect
List enrichment types
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, which fully cover the safety profile. The description adds no extra behavioral context, but it is consistent with annotations, so a baseline score is appropriate.
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 and contains no wasted words. It is appropriately sized for a simple list 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?
For a zero-parameter list tool with comprehensive annotations, the description is mostly complete. However, it does not explicitly describe what 'enrichment types' are or what the return value looks like, which would be useful given no output schema. As it stands, the name and minimal description are sufficient for the likely use case.
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 input schema is trivially complete (100% coverage). Per the scoring guidelines, the baseline is 4 when there are no parameters; the description does not need to add 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 'List enrichment types' uses a specific verb ('list') and a distinct resource ('enrichment types'), clearly stating the tool's function. It differentiates from sibling list tools by the unique resource type, 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 description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios, exclusions, or relationships to other enrichment-related tools, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findEmailAInspect
Find a verified email address for a contact at a domain
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include openWorldHint=true and readOnlyHint=false, but the description adds the behavioral trait 'verified', indicating the tool performs verification steps. However, it does not disclose potential outcomes (e.g., no email found) 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 wasted words. It is appropriately concise, though extremely brief. It lacks any formatting issues.
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, yet the description implies the return value (a verified email). The rich parameter descriptions compensate for some complexity, but the description does not explain error cases or the absence of a result. It is adequate for a simple lookup but leaves 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% and parameter descriptions in the schema are very detailed (domain formats, name cleaning, redirects). The tool description itself adds no additional parameter meaning, matching 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 clearly states the verb ('Find'), the resource ('verified email address'), and the target ('for a contact at a domain'). It effectively distinguishes from siblings like findEmailBatchGet by implying a single lookup, matching 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?
The description implies use for a single email lookup but does not explicitly mention when to prefer this over batch tools (e.g., findEmailBatchSubmit) or any alternatives. No when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findEmailBatchGetCRead-onlyIdempotentInspect
Poll a bulk find-email batch
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The `batch_id` returned by the submit call. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds little behavioral context beyond the resource name; it doesn't explain polling semantics, response format, or retry recommendations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence, front-loaded with the verb and resource. It is concise but not overly terse; it conveys the core action without excess 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?
With no output schema and a minimal description, the tool lacks explanation of what a 'poll' returns (status vs. results), or how to interpret the response. The parameter description provides some context but the description as a whole is incomplete for a tool involved in an async 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 coverage is 100% for the single `id` parameter, and its description explains it's a batch ID from a submit call. The tool description itself adds no parameter details, but the baseline is 3 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 uses the verb 'Poll' and identifies the resource as a bulk find-email batch, distinguishing it from sibling tools like findEmailBatchSubmit and findEmail. However, it doesn't specify whether it returns status only or final results, making it slightly 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 on when to use this tool vs alternatives. It doesn't mention that this should be called after findEmailBatchSubmit, or that it's for retrieving async results. The parameter schema mentions 'returned by the submit call', but that is in the schema, not the tool description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
findEmailBatchSubmitBInspect
Submit a bulk find-email batch
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only, non-idempotent, non-destructive, and open-world behavior. The description adds no extra context such as async processing, returned batch ID, or the need to poll for results, which is important for a submit 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, concise sentence that is front-loaded with the key verb and object. No 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?
For a bulk submit operation with no output schema, the description fails to explain what the response will contain (e.g., a batch ID), how to retrieve results, or any async/workflow details. This leaves a material gap for the agent to invoke and 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% at the top level, though the field descriptions are minimal ('Same semantics as the single find-email endpoint'). The tool description adds no parameter detail beyond what the schema provides, 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 states the action ('Submit') and the resource ('a bulk find-email batch'). It distinguishes this tool from siblings like findEmail (single lookup) and findEmailBatchGet (retrieving batch results).
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. It does not mention that findEmail is for single requests, findEmailBatchGet for pulling results, or any prerequisites or next steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
getContactResearchByExternalIDARead-onlyIdempotentInspect
Retrieve contact research using an external system ID, such as a HubSpot contact ID, plus the source name.
| Name | Required | Description | Default |
|---|---|---|---|
| externalId | Yes | The external identifier of the contact research request (e.g., HubSpot contact ID) | |
| externalSource | Yes | The source system that provided the external ID (e.g., "hubspot") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description aligns with these. The description adds minimal behavioral context beyond the annotations, such as the requirement for both external ID and source name, but does not disclose return format, error cases, or other operational traits.
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 action and resource, and includes a concrete example. 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 tool's simplicity (2 params, read-only, no output schema), the description is adequate for understanding what it does and the key parameters. It might benefit from a note about return content, but the low complexity and strong annotations make this 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% with both parameters well-described. The description essentially repeats the schema examples (HubSpot contact ID, source name) without adding further meaning or clarifying relationships between 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 tool retrieves contact research using an external system ID and source name, with a specific verb and resource. It does not explicitly distinguish from sibling tools like contacts-get_research, though the external ID focus adds some 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 implies usage when an external ID (e.g., HubSpot contact ID) is available, but provides no explicit guidance on when to avoid this tool or use an alternative. There are no references to sibling tools or exclusions, so guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signals-create_subscriptionAInspect
Create a market signal subscription to monitor job posts, LinkedIn posts, fundraising, investments, or IPOs
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds the scope of monitored signals but does not disclose idempotency (already idempotentHint=false), response behavior, or that webhooks will be sent. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the action and scope. It contains zero wasted words 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?
For a complex create operation with a nested filter schema and no output schema, the description is quite thin—it doesn't mention required fields (type, webhookUrl) or that filters vary per signal type. However, the extremely detailed input schema carries most of the burden, so the short description is not severely deficient. It could mention expected response or side effects (e.g., subscription becomes active).
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 detailed descriptions for __requestBody, type, filters, webhookUrl, interval, and other fields. The description adds no parameter-level guidance, relying entirely on 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 uses a specific verb ('Create') and resource ('market signal subscription'), and enumerates the monitorable signal types (job posts, LinkedIn posts, fundraising, investments, IPOs). This clearly distinguishes it from sibling operations like market_signals-get_subscription or company_signals-create.
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 setting up market-signal monitoring but provides no explicit guidance on when to choose this over alternatives (e.g., company_signals-create) or what prerequisites exist (e.g., a webhook URL is required). The enumerated signal types give partial context, but there are no when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signals-delete_subscriptionADestructiveIdempotentInspect
Delete a market signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description simply restates the deletion action and adds no behavioral traits beyond the annotations. It is consistent with the annotations (destructiveHint=true, idempotentHint=true) and does not contradict them, but it offers no extra context such as irreversibility 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 one short, direct sentence that is easy to scan. It contains no unnecessary words and delivers the key information immediately.
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-parameter delete operation with strong annotations, this is nearly sufficient. It could mention side effects or return values, but the low complexity and the presence of destructiveHint and idempotentHint cover most concerns.
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 single parameter subscriptionId is fully documented in the schema with a clear description ('The unique identifier of the subscription to delete'). With 100% schema coverage, the description does not need to add 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 a clear verb ('Delete') and a specific resource ('market signal subscription'), making the tool's purpose unambiguous. It is clearly distinct from sibling tools like market_signals-create_subscription, market_signals-get_subscription, and market_signals-update_subscription.
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, nor any preconditions or consequences. It relies entirely on the tool name and sibling context, giving the agent no explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signals-get_subscriptionARead-onlyIdempotentInspect
Get a market signal subscription by ID
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description's 'Get' aligns with these. The description adds no new behavioral context such as error behavior, ownership semantics, or return format. No contradiction exists.
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 six-word sentence, front-loaded with the verb and object, and contains no filler or redundant detail. It is an ideal length for this simple retrieval 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?
For a single-parameter, read-only get-by-ID tool with rich annotations, the description is nearly complete. It could mention what the response contains or explicitly point to list_subscriptions for enumeration, but the current text is sufficient 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 already provides full documentation for subscriptionId with a clear description and UUID format, and the description just restates 'by ID' without adding further semantics. Since schema description coverage is 100%, 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?
Description uses the specific verb 'Get' and identifies the resource as 'a market signal subscription by ID', clearly distinguishing it from sibling list_subscriptions and other market signal operations. The scope is unambiguous and aligns with 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?
The phrase 'by ID' implies the tool should be used when the caller already has the subscription ID, but there is no explicit guidance about alternatives such as list_subscriptions for discovering subscriptions or when not to use this tool. Usage context is present but only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signals-list_signalsARead-onlyIdempotentInspect
List signals delivered by a market signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of signals to return (1-100, default 20) | |
| offset | No | Number of signals to skip for pagination (default 0) | |
| subscriptionId | Yes | The unique identifier of the subscription |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=true, destructiveHint=false, idempotentHint=true) already establish the safety profile. The description adds the subscription scoping but no extra behavioral details about return format, ordering, or pagination behavior beyond what the schema provides.
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 states the action directly 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?
For a simple paginated list operation with good annotations and full schema coverage, the description is largely complete. However, the absence of an output schema and any explicit note about the response structure leaves minor ambiguity about what exactly is returned.
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 three parameters (subscriptionId, limit, offset), achieving 100% schema description coverage. The description adds no additional parameter semantics, 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 uses the specific verb 'List' and clearly identifies the resource as 'signals delivered by a market signal subscription.' This distinguishes it from sibling tools like market_signals-list_subscriptions (which lists subscriptions) and company_signals-list (which lists company signals).
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: you would call this when you have a market signal subscription and want its delivered signals. However, it does not explicitly state when to use this tool over alternatives or provide any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signals-list_subscriptionsARead-onlyIdempotentInspect
List all market signal subscriptions for your organization
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of subscriptions to return (1-100, default 20) | |
| offset | No | Number of subscriptions to skip for pagination (default 0) | |
| includeDeleted | No | Include soft-deleted subscriptions in the response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no additional behavioral context beyond the annotations, such as pagination behavior or default exclusion of deleted items (though the includeDeleted parameter hints at this).
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 filler. It is front-loaded with the verb and resource, achieving maximum 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?
For a simple list tool with comprehensive annotations and schema coverage, the description is adequate but not complete. It omits mention of pagination behavior or potential distinctions from similar sibling tools, and the use of 'all' could be misleading given the limit/offset 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?
Schema description coverage is 100%; all three parameters (limit, offset, includeDeleted) are already well-documented in the schema. The description does not add further insight into parameter usage or edge cases.
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 ('market signal subscriptions'), with an explicit scope ('for your organization'). It effectively distinguishes from sibling tools like market_signals-get_subscription by being the list counterpart.
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. Sibling tools such as signal_subscriptions-list or company_signals-list could cause confusion, and there is no mention of when to prefer this tool over them 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.
market_signals-pause_subscriptionBInspect
Pause a market signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription to pause |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. It does not explain what pausing entails (e.g., whether it stops data collection or billing, whether it is reversible, or any side effects). It essentially repeats the tool name without providing additional 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. However, it is almost a tautology of the tool name and provides no additional informative value, placing it at the minimum viable level for 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?
For a mutation tool with no output schema and minimal description, the context is incomplete. The description does not mention the relationship to resume_subscription, the effects of pausing, or any prerequisites. Given the simplicity of the tool, a slightly richer description would be expected to fully understand the operation's impact.
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 the single parameter subscriptionId, and the parameter description is clear. The tool description itself adds no parameter-level detail, but the baseline of 3 applies because the schema fully documents the parameter.
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 'Pause' and the resource 'market signal subscription', distinguishing it from sibling tools like resume_subscription and delete_subscription. It precisely identifies the action and the object.
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 related actions like resume, delete, or update, nor does it indicate situations where pausing is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signals-resume_subscriptionBInspect
Resume a paused market signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription to resume |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond what annotations already state. Given openWorldHint=true and idempotentHint=false, the description should mention potential side effects (e.g., resuming signal delivery and possible credit usage) or error conditions, but it remains silent.
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 containing only essential words. Every word earns its place, and there is no redundant or fluff 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?
Although the tool is simple (one param, no output schema), the openWorldHint and the presence of many sibling subscription tools demand more context. The description lacks explanation of side effects, prerequisites, or how it differs from similar unpause/start tools, making it incomplete for 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?
The input schema already provides full documentation for subscriptionId ('The unique identifier of the subscription to resume'), covering 100% of parameter semantics. The tool description adds no additional parameter information, matching 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 'Resume a paused market signal subscription' clearly identifies the action (resume) and the resource (paused market signal subscription). The inclusion of 'paused' differentiates this from pause, create, delete, and other sibling operations, 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 word 'paused' implies the tool should be used when a subscription is in a paused state, providing minimal contextual guidance. However, there is no explicit mention of prerequisites (e.g., the subscription must exist) or alternatives like subscription_actions-unpause or signal_subscriptions-start, leaving room for confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_signals-trigger_subscriptionBInspect
Trigger an immediate run of a market signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription to trigger |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read, non-destructive, non-idempotent action. The description adds only 'immediate run', which mainly restates the name, and discloses no side effects, result format, or asynchronous 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, front-loaded with the action and object, and contains no unnecessary words. It is appropriately sized for a simple one-parameter 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 tool has only one parameter and no output schema, and annotations provide basic safety context. However, the description lacks information about return behavior, side effects of triggering, or whether the run is synchronous—leaving some 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% for the single parameter, which is fully documented with type, format, and description. The tool description adds no extra parameter detail, so the baseline score 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 uses a specific verb ('Trigger') and resource ('market signal subscription'), clearly distinguishing it from sibling tools like pause/resume/update. It also adds the qualifier 'immediate run' to specify the action's nature.
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 given on when to use this tool versus alternatives. It does not mention prerequisites, scheduling behavior, or cases where another tool (e.g., pause/resume) 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.
market_signals-update_subscriptionCInspect
Update a market signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body | |
| subscriptionId | Yes | The unique identifier of the subscription to update |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-destructive, non-idempotent operation. The description adds no extra behavioral context such as field mutability, side effects on polling, authentication needs, or what happens to the existing subscription.
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 short sentence with no fluff or wasted words. However, it largely restates the tool name and does not earn its place by adding new information, making it minimally acceptable but not notably concise in a valuable way.
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 schema and annotations provide enough structured information for invoking the tool, but the description lacks usage guidance and behavioral context. Given the complexity of the nested request body and the large set of sibling tools, more context would be needed for a fully 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?
Schema description coverage is 100%, with detailed descriptions for subscriptionId and every request body field, including behavior like 'Changing this restarts the polling schedule.' The description adds nothing beyond the schema, so the 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 states a clear verb and resource: 'Update a market signal subscription'. This distinguishes it from create/delete/list operations, but it does not differentiate between market_signals-update_subscription and the closely named sibling signal_subscriptions-update.
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 market_signals-pause_subscription, market_signals-trigger_subscription, signal_subscriptions-update, or other subscription management tools. No context, prerequisites, 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.
monitors-createCInspect
Create a monitor
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations; it does not mention side effects, prerequisites, or response behavior. Annotations indicate readOnly=false and destructive=false, but the description doesn't clarify what creating a monitor entails, such as whether it requires an existing list or how the webhook/schedule interact.
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 tautological and under-specified rather than appropriately concise. It does not earn its place because it adds no information 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?
The tool has a highly complex nested request body (checks with kinds, target types, webhook, schedule) and no output schema, yet the description provides zero context about how to structure a valid request or what the tool accomplishes beyond the verb phrase. This is completely inadequate for the complexity involved.
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 reported at 100%, and the schema itself documents most fields (e.g., check type, prompt, templateId, entity, secret, cronExpression). The description contributes nothing about parameters, but the baseline is 3 because the schema carries the semantic weight.
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 'Create a monitor' directly restates the tool name 'monitors-create' with no added specificity. It does not distinguish this tool from siblings like monitors-create_action or company_signals-create, and fails to indicate what type of monitor is created or what makes it unique.
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 monitors-create_action, monitors-update, or signal_subscriptions-create. The description is a bare command with no context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-create_actionCInspect
Create a monitor action
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes | ||
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=false and openWorldHint=true, so the description doesn't need to restate that this is a write operation with external effects. However, it adds no further behavioral context, such as that this creates a webhook action or what side effects 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 extremely concise, a single front-loaded sentence that clearly states the action. It contains no filler, earning a high score despite being minimal.
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 a nested request body, no output schema, and a rich sibling context, the description is too sparse. It does not explain what a monitor action is, why or when to create one, or what the webhook does, leaving agents to rely entirely on schema 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 description does not explain any parameters, but the input schema covers key semantics: monitorId is a UUID, and __requestBody constrains type to 'webhook' with a destination URL. With 50% schema description coverage, the schema carries most of the burden, so the lack of description is acceptable but not ideal.
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 'Create a monitor action' uses a specific verb (create) and resource (monitor action), distinguishing it from sibling tools like monitors-update_action or monitors-delete_action. However, it doesn't clarify what a monitor action entails (e.g., webhook delivery), so it's clear but somewhat shallow.
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 description does not state when to use this tool, prerequisites (e.g., an existing monitor), or alternatives. It also doesn't differentiate itself from the many other action-related tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-deleteBDestructiveIdempotentInspect
Delete a monitor
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true, idempotentHint=true), the description adds no behavioral context. It does not disclose permanence, cascading effects on related resources, or any state requirements. With annotations covering the safety profile, the description contributes nothing additional.
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 redundant words. It is front-loaded and easy to parse. However, its brevity approaches under-specification, though it remains clear and 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 tool has a simple interface with one parameter and no output schema. Annotations provide safety information, but the description lacks any detail about what happens after deletion (e.g., response format, side effects on associated actions). Given the low complexity, it is minimally viable 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 schema has 0% description coverage, and the tool description does not explain the monitorId parameter beyond its name. It does not clarify how to obtain the ID, validate it, or what it refers to beyond the obvious. The description adds minimal value over 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 action ('delete') and the resource ('monitor'), which is specific and differentiates it from sibling tools like monitors-delete_action and monitors-pause.
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 monitors-pause or monitors-update. It does not mention prerequisites, consequences of deletion, or any context where a different 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.
monitors-delete_actionADestructiveIdempotentInspect
Delete a monitor action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ||
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the description does not need to restate that this is a write/destructive operation. However, the description adds no additional behavioral context beyond the resource scope ('a monitor action'), such as whether deletion is reversible or cascades.
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. Every word contributes to the 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 is simple: 2 UUID parameters, no output schema, and annotations covering destructive/idempotent semantics. The description is sufficient for an agent to understand the primary function, though it omits details about response codes or behavior when the action doesn't exist.
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 0%, and the description doesn't clarify that monitorId is the parent resource and actionId is the sub-resource. Parameter names are self-explanatory, but the description fails to compensate for the missing schema descriptions by explaining the relationship or any required preconditions.
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 and resource ('Delete a monitor action'), clearly distinguishing from siblings like monitors-delete (which deletes a whole monitor) and monitors-update_action. The phrasing ties directly to the tool's name and 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 on when to use this tool versus alternatives such as monitors-delete or monitors-pause_action. It does not state prerequisites (e.g., that the monitor and action must exist) or mention any related cleanup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-getBRead-onlyIdempotentInspect
Get a monitor
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds no additional behavioral context, but it is consistent with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and to the point, with no unnecessary words. It front-loads the key action and resource, but its brevity sacrifices additional useful 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?
This is a simple get operation with rich annotations and a single parameter. The description is minimal but adequate for the agent to infer basic usage, though it lacks details about return values or error handling.
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 one parameter (monitorId) with no description, yielding 0% coverage. The parameter name is self-explanatory, and the description implies the need for an identifier, but it doesn't explicitly state its meaning or format 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 uses a specific verb 'Get' and names the resource 'monitor', clearly indicating a single-resource retrieval. However, it doesn't differentiate from sibling tools like monitors-list or monitors-get_action, so it only partially distinguishes.
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 context is provided for when to use this tool versus other monitor-related tools. There are no examples, prerequisites, or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-get_actionCRead-onlyIdempotentInspect
Get a monitor action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ||
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the description adds no additional behavioral context. It does not mention the relationship between monitorId and actionId, potential error cases, or any other behavioral details beyond what annotations provide.
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 short sentence, but it is under-specified and essentially restates the tool name. It is not appropriately concise; it lacks substance and provides minimal value beyond the 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 low complexity and comprehensive annotations, the description still leaves important gaps: it does not clarify what a monitor action is, how monitorId and actionId relate, or how this retrieval differs from listing actions. Sibling tool names help indirectly, but the description alone is 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?
Schema description coverage is 0%, and the description does not compensate. It does not explain the roles of monitorId and actionId, only relying on the parameter names. The agent receives no semantic explanation beyond the UUID patterns in 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 monitor action using a specific verb and resource. It is not vague and can be easily understood, though it does not explicitly differentiate from sibling tools like monitors-list_actions or monitors-get.
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 monitors-list_actions or monitors-get. There is no mention of prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-listDRead-onlyIdempotentInspect
List monitors
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| limit | No | ||
| offset | No | ||
| target | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, but the description adds no behavioral context beyond that. It does not mention rate limits, authentication, or return characteristics, so it provides no value beyond the structured 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?
Although the description is short, it is severely under-specified rather than appropriately concise. It provides no useful structure or information beyond the tool name, so it fails to serve the user effectively.
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 4 optional parameters, no output schema, and no parameter descriptions, the one-line description is woefully incomplete. It doesn't explain what monitors are, what fields are returned, or how filtering and pagination work, leaving the agent without essential 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?
With schema description coverage at 0%, the description needed to explain parameters, but it entirely omits them. The schema's enums and defaults are present, yet the description adds no semantic meaning to kind, target, limit, or offset.
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 monitors' is a direct restatement of the tool name 'monitors-list', making it a tautology. It provides no additional scope or context to clarify what monitors are or how this list differs from sibling list operations.
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 offers no guidance on when to use this tool versus alternatives like monitors-list_actions or monitors-list_signals. It also fails to mention the optional filtering parameters (kind, target) or pagination controls, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-list_actionsBRead-onlyIdempotentInspect
List monitor actions
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true; the description aligns with these but adds no additional behavioral context such as pagination, ordering, or response format. The annotations already cover the safety profile, so a neutral score is appropriate.
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, 'List monitor actions', with no redundant words or filler. It is perfectly front-loaded and 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?
For a simple one-parameter list operation, the description is adequate but omits context about what 'actions' are, whether the list is scoped to the given monitorId, and what the return value contains. However, the tool's purpose is clear enough when combined with the parameter name and sibling tools.
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 requires a monitorId (UUID format), but the description does not explain that this parameter scopes the action list. With 0% schema description coverage, the description should compensate for the parameter's meaning but does not, leaving the agent to infer from the parameter name alone.
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 monitor actions' uses a specific verb and resource, clearly distinguishing it from sibling tools like monitors-list (list monitors) and monitors-get_action (retrieve a single action). It is unambiguous and concise.
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 description does not specify when to choose this over monitors-list_signals or monitors-get_action, nor does it mention the requirement for a monitorId or any filters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-list_signalsCRead-onlyIdempotentInspect
List a monitor's signals
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. However, the description adds no behavioral context such as pagination behavior, ordering, side effects, or what constitutes a 'signal'. It offers no value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise, though it sacrifices informativeness 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 description is vastly underspecified. With no output schema, no parameter details, and no elaboration on what signals are returned or how pagination works, an agent would struggle to use this tool correctly. The minimalism leaves too many 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 0% and the description provides no explanation of the parameters (monitorId, limit, offset). The agent must rely solely on parameter names, which is insufficient for correct invocation.
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 action (List) and the resource (a monitor's signals). However, it does not distinguish itself from sibling tool names like contacts-list_signals or market_signals-list_signals beyond the resource 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 alternatives, nor any exclusions or prerequisites. The description 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.
monitors-pauseBInspect
Pause a monitor
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already convey that this is a mutating, non-idempotent operation (readOnlyHint=false, idempotentHint=false, destructiveHint=false). The description 'Pause a monitor' aligns with these annotations and adds no contradiction, but it also provides no additional behavioral context, such as whether pausing stops generation of new signals or if it is reversible. It is consistent and minimally informative.
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 at three words, with no filler or redundancy. It is appropriately sized for a simple operation and front-loads the core action. However, it sacrifices useful context, which is penalized 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?
For a simple pause operation with one ID parameter and no output schema, the description is minimally adequate. It states the action and resource, but omits domain context such as the effect on the monitor's status, whether it can be resumed, and any relation to sibling tools like 'monitors-resume'. It is sufficient to perform the action with the given schema, but lacks completeness for an agent unfamiliar with the domain.
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 does not mention the monitorId parameter at all, and with schema description coverage at 0%, there is no compensation from the description. Although the parameter name 'monitorId' is self-explanatory and the schema gives its UUID format, the description adds no semantic value beyond the schema, leaving a notable 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 uses the specific action verb 'pause' with the clear resource 'monitor', making its primary purpose evident. However, it does not explicitly distinguish between pausing a monitor and the sibling tool 'monitors-pause_action', which pauses a monitor's action. The name 'monitors-pause' helps, but the description alone is unambiguous only to a domain-aware reader.
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 like 'monitors-pause_action' or 'monitors-resume'. There is no mention of prerequisites, effects, or when pausing a monitor is appropriate. The description carries no contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-pause_actionCInspect
Pause a monitor action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ||
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, not idempotent, and not destructive, but the description adds no additional behavioral context. It does not explain what pausing an action involves, whether it is reversible, or any 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, clear sentence that front-loads the action. It is appropriately sized for a simple operation, though it could include a bit more context without becoming verbose.
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 only two parameters and no output schema, the minimal description might seem sufficient, but it lacks critical context. It does not explain the relationship between monitor actions and monitors, what pausing an action does to signal generation, or whether the operation is reversible. This makes it incomplete for an agent to correctly reason about the tool's effects.
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 describes both parameters only by name and format, with no descriptions. The tool description does not clarify what monitorId and actionId refer to beyond the obvious, nor what constitutes an 'action' in this context. With 0% schema coverage, the description should compensate but does not.
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 'Pause a monitor action' clearly identifies the specific action (pause) and the resource (monitor action). It distinguishes from siblings like monitors-pause (which would pause the whole monitor) and monitors-resume_action (the opposite 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or warnings about when not to use it, which is especially problematic given the sibling tools like monitors-pause and monitors-resume_action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-resumeCInspect
Resume a monitor
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, but the description adds no behavioral context. It does not explain side effects, prerequisites, or whether the monitor must be paused. The description merely restates the tool's name without enriching the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one short sentence), which is efficient for a simple tool, but it is under-specified rather than appropriately concise. It lacks any supporting details that could be included without bloating, so the brevity is not a strength in this 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?
Given the tool's simplicity, the description is technically complete in naming the action, but it fails to provide necessary context. It does not clarify what 'resume' means (e.g., reactivating a paused monitor), nor does it address the relationship to sibling tools like monitors-pause or monitors-resume_action. An agent may not know when to invoke this over alternatives.
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 defines monitorId as a UUID, but the description provides no additional meaning about it. With schema description coverage at 0%, the description was expected to compensate, but it does not mention the parameter at all, leaving the agent to infer its purpose solely from 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 'Resume a monitor' clearly identifies the action (resume) and the resource (monitor), effectively distinguishing it from siblings like monitors-resume_action, which resumes a specific action. It is a specific verb+resource pairing, though it could be slightly clearer about what resuming entails.
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 does not mention that it should be used only for paused monitors, nor does it reference related tools like monitors-pause or monitors-resume_action. There is no context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-resume_actionCInspect
Resume a monitor action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ||
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-idempotent, non-destructive operation. The description adds no additional behavioral context, such as potential side effects, required permissions, or what happens if the action is already resumed. With annotations covering the basic profile, useful context is still missing.
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 brief, which is concise but borders on under-specification. It is a single phrase that essentially restates the tool name. While it is front-loaded and easy to parse, it does not offer much value beyond the name itself.
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 that this is a mutation operation with two parameters, no output schema, and sparse annotations, the description is inadequate. It does not explain what a monitor action is, the effect of resuming, or any preconditions. The lack of depth would force an agent to rely on the schema and sibling tools for 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 0%, and the description does not elaborate on the meaning or relationship of monitorId and actionId. The parameter names are self-explanatory to some extent, but the description fails to compensate for the lack of schema descriptions, leaving the agent to guess their roles beyond their labels.
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 'Resume' and resource 'monitor action', which distinguishes it from similar siblings like 'monitors-resume' (which would act on a monitor, not an action). However, it lacks any additional details that would further disambiguate it from related actions like 'monitors-pause_action' or 'monitors-update_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?
There is no guidance on when to use this tool, prerequisites, or alternatives. It does not explicitly say 'use after pausing an action' or mention any required state. The single phrase provides only implicit context, leaving the agent to infer usage from the name and sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-triggerCInspect
Trigger a monitor run
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the word 'trigger'. Annotations indicate the tool is mutating (readOnlyHint=false) and not destructive, but the description does not disclose whether the run is asynchronous, whether a run ID is returned, or any 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 sentence that is direct and free of verbose language. It is appropriately sized for a simple trigger action, though it sacrifices 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?
The description is too minimal for a trigger action. It does not explain what happens after triggering (e.g., asynchronous execution, return value, or whether a monitor must be active). With no output schema, the description should provide more operational context 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?
Schema description coverage is 0%, and the description provides no additional meaning for the monitorId parameter. The schema only gives type and format, leaving the agent without semantic guidance on what the parameter does or represents.
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 verb 'Trigger' is specific and the resource 'monitor run' is clear. It distinguishes from siblings like monitors-pause, monitors-resume, and monitors-update by focusing on executing a run rather than altering the monitor's state or configuration.
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. There is no mention of prerequisites, context, or exclusions. The description only states the action without any contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-updateDInspect
Update a monitor
| Name | Required | Description | Default |
|---|---|---|---|
| monitorId | Yes | ||
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint:false, destructiveHint:false) already indicate a non-read-only, non-destructive operation, but the description adds no behavioral context. It fails to disclose that updates may be partial, that the check type is immutable (as hinted only in the schema), or any side effects such as webhook or schedule changes.
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 it is under-specification rather than conciseness. It is a single sentence that merely restates the tool name and carries no informative content, failing to 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?
This is a complex mutation tool with a deeply nested request body (checks, target, webhook, schedule) and no output schema. The description is completely inadequate: it provides no context about required fields, update semantics, return values, or how this tool relates to its many siblings.
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 does not mention any parameter or supported field (name, checks, target, webhook, schedule). With schema description coverage at 50%, the description should compensate for undocumented parameters, but it adds nothing beyond the tool name.
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 'Update a monitor' is a direct restatement of the tool name 'monitors-update' — a tautology. It provides no specific scope (e.g., which fields are updatable, whether it's partial or full update) and does not distinguish from sibling tools like 'monitors-update_action' or 'monitors-pause'.
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 that this updates monitor configuration while 'monitors-update_action' updates actions, or that creating/pausing/resuming monitors are handled by other tools. The description gives no contextual prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitors-update_actionCInspect
Update a monitor action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | ||
| monitorId | Yes | ||
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond what the annotations already state. It does not disclose whether the update is partial or full replacement, what side effects occur, or any requirement for the action to already exist. Annotations provide readOnlyHint=false and destructiveHint=false, but the description adds nothing extra.
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 brief, but it is under-specification rather than concise. It is a single sentence that merely restates the tool's name without added value, so it is not appropriately sized for a tool with a complex nested request body.
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 3 required parameters, a nested request body, and no output schema, the description is inadequate. It provides no information about return values, update semantics, or required fields, making it incomplete for an agent to correctly 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 description makes no reference to the parameters (monitorId, actionId, __requestBody). Schema description coverage is only 33%, leaving the nested webhook configuration largely unexplained. The description does not compensate, offering zero semantic help for understanding the request body.
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 'Update a monitor action' states a clear verb and resource, but it does not specify what an 'action' is or what 'update' entails. It is very close to a paraphrased tool name and fails to distinguish from sibling tools like monitors-pause_action or monitors-resume_action, which also modify action 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 such as monitors-create_action, monitors-pause_action, or monitors-delete_action. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
organisation-getARead-onlyIdempotentInspect
Get your organisation profile
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no extra behavioral context, such as what data is returned or authentication requirements, but it does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the action and resource, with no unnecessary words or repetition. It 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 no output schema, so the description should provide some indication of what the profile contains or what the response looks like. It does not mention return values or fields, leaving the agent to infer. However, given the simplicity and annotations, it is minimally adequate.
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?
There are zero parameters, so there is nothing to explain. The schema coverage is trivially 100%, and the baseline for zero params is 4; the description does not need to add parameter details.
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 verb 'Get' and resource 'your organisation profile' clearly specify the action and target. It distinguishes from the sibling 'organisation-update' and other getters by referencing the organisation profile 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?
The description gives no guidance on when to use this tool vs alternatives, such as 'organisation-update' or other profile-related tools. There is no mention of prerequisites or context in which it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
organisation-updateBIdempotentInspect
Update your organisation profile
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond annotations already provided (readOnly=false, idempotent=true, destructive=false). It does not explain whether the update is partial or full, nor any side effects or permission 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 a single sentence with no redundant content. It is front-loaded with the purpose, earning 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?
For a tool with a nested request body and no output schema, the description is too sparse. It does not clarify that only specified fields are updated, nor that sub-fields are optional, which is important 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?
The input schema provides descriptions for all properties (100% coverage), so the baseline is 3. The description adds no parameter-level meaning, but this is acceptable given the schema's completeness.
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 'organisation profile', clearly indicating a write operation. It distinguishes from sibling tool 'organisation-get' by implying modification rather than retrieval.
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 exclusions. It does not mention other organisational tools or clarify update semantics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-assignment-bulk-createAInspect
Assign a profile to many objects at once
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a write operation (readOnlyHint=false) that is not idempotent and not destructive. The description adds the bulk aspect and the 'profile' target but does not disclose any side effects, partial-failure behavior, or rate limits, leaving the behavioral profile thin.
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 redundant words. It conveys the core purpose 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?
For a bulk write tool with no output schema, the description is adequate but not comprehensive. The schema and annotations supply the required structure and safety flags, but the description does not mention error handling, return values, or edge cases, leaving some questions for a complex 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 covers the single __requestBody parameter with a description, so the schema provides full coverage. The description adds no additional parameter semantics beyond naming the action, and nested field meanings (profileId, objectType) are left to the schema, which is adequate per 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 (assign) and resource (profile) with a bulk scope ('many objects at once'), which distinguishes it from the single-assignment sibling tools. It could be more explicit about the scoring context or name alternatives, but the core purpose is 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 the tool is for bulk assignment scenarios but does not explicitly state when to use it over scoring-assignment-create or mention any exclusions or prerequisites. The usage context is implied by the bulk phrasing rather than directly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-assignment-createAInspect
Assign a profile to a single object
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the description does not need to restate safety. However, it adds no behavioral context beyond the basic 'assign' action, such as whether existing assignments are overwritten, whether it errors on duplicates, or what side effects occur. No extra transparency is provided.
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 containing zero filler. Every word contributes meaning, 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 is low-complexity with a clear schema and annotations, but there is no output schema and the description does not mention return values or behavioral edge cases like idempotency or overwrite semantics. It is adequate for basic selection but leaves gaps for an agent expecting robust guidance.
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 input schema already documents parameters like objectId, profileId, and objectType. The description adds no parameter-level detail, but with full schema coverage the 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 ('Assign'), the resource ('a profile'), and the target ('a single object'), which precisely matches the tool's function. The qualifier 'single' distinguishes it from the sibling tool scoring-assignment-bulk-create, providing clear 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 gives clear context for when to use this tool: assigning a profile to a single object. It implicitly sets it apart from the bulk-create sibling, though it does not explicitly name alternatives or when not to use it. This is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-assignment-deleteBDestructiveIdempotentInspect
Remove a profile assignment
| Name | Required | Description | Default |
|---|---|---|---|
| assignmentId | Yes | Profile assignment UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is destructive (destructiveHint=true) and non-read-only, so the description's 'Remove' adds no new behavioral information. It does not mention irreversibility, cascade effects, or error behavior when the assignment doesn't exist, which would be useful context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence: 'Remove a profile assignment.' It is front-loaded, contains no filler words, and earns its place by restating the action in plain language. For a simple delete tool, this level of conciseness is 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 is simple: one parameter, no output schema, and rich annotations (destructive, idempotent, open world). The description, combined with the schema and annotations, provides sufficient context for correct invocation. It could explicitly state that deletion is permanent, but that is already conveyed by the destructiveHint.
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 fully describes the only parameter, assignmentId, as a 'Profile assignment UUID,' so schema coverage is 100%. The description adds no additional parameter guidance or edge-case details, but it does not need to because the schema is self-explanatory.
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 concrete verb 'Remove' and a clear direct object 'a profile assignment.' It plainly states the tool's function, and the verb differentiates it from siblings like scoring-assignment-create and scoring-assignment-list, though it 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?
There is no guidance about when to use this tool, when not to use it, or how it relates to other assignment tools. The description simply states the action, leaving the agent to infer usage solely from the tool's name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-assignment-listARead-onlyIdempotentInspect
List profile assignments for an object
| Name | Required | Description | Default |
|---|---|---|---|
| objectId | Yes | For `company` use the domain (e.g. `acme.com`); for `contact` use the LinkedIn profile URL | |
| objectType | Yes | Object type (`company` or `contact`) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the agent knows this is a safe read operation. The description adds no further behavioral details beyond the scope 'for an object', which is already reflected in the required parameters. No contradiction or extra context like pagination or output format is provided.
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 short sentence, directly stating the action and scope. There is no extraneous information, and the key verb is front-loaded. It earns its place 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 simple list tool with two well-documented parameters and comprehensive annotations, the description is adequate. It lacks an explicit definition of 'profile assignments' and does not describe the return format, but the low complexity and sibling naming make it understandable. It is not fully complete, but close.
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 objectType and objectId having descriptive text including examples (e.g., 'acme.com' for company, LinkedIn URL for contact). The description adds no additional parameter explanation, 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 uses the specific verb 'List' with the resource 'profile assignments' and a scope 'for an object'. This clearly distinguishes it from siblings like scoring-assignment-create and scoring-assignment-delete, and from other list tools such as scoring-profile-list. The purpose is 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 a read-only use case, but it does not explicitly state when to use this tool versus alternatives like scoring-assignment-create or scoring-assignment-delete. There is no 'when-to-use' or 'when-not-to-use' guidance, relying instead on the tool name and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-computeCInspect
Trigger score recomputation
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds no further behavioral context such as whether the operation is asynchronous, expected duration, effect on existing scores, or any side effects. It does not contradict annotations but fails to add value beyond them.
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: 'Trigger score recomputation.' It contains no redundant words, is front-loaded, and effectively communicates the core action. This is an example of appropriate conciseness, not under-specification.
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 the description does not explain what happens after triggering recomputation—whether it is synchronous, how to check results, or how long it takes. While the schema covers the input parameters and annotations describe the safety profile, the description lacks essential context about the tool's effect and follow-up steps, making it incomplete for an agent to use 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?
Schema description coverage is 100%: objectType and objectIds are fully described, including that objectIds for company are domains, for contact are LinkedIn URLs, and capped at 500 per request. The description 'Trigger score recomputation' adds no extra meaning to the parameters, so the default 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 'Trigger score recomputation' names a specific action and resource, clearly indicating a recompute operation. It is more informative than a tautology because 'recomputation' implies updating existing scores. However, it does not specify target entities or explicitly distinguish from siblings like scoring-scores-get or scoring-profile-create, so it lacks full 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?
There is no guidance on when to use this tool versus alternatives such as scoring-scores-get or scoring-assignment-create. The description does not mention when recomputation is needed, what prerequisites exist, or when not to use it. The only hint is the parameter description about pagination, which is not tool-level usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-profile-createCInspect
Create a scoring profile
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate write activity (readOnlyHint=false) and non-destructiveness (destructiveHint=false), but the description adds no additional behavioral disclosure—such as uniqueness requirements, overwrite behavior, or success/failure conditions. It simply states the action without further explanation.
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 short sentence, front-loaded and efficient with zero waste. While it may be too terse for a complex tool, for a straightforward create operation it is appropriately sized, though a bit more detail could have been included without sacrificing 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?
The tool has a nested request body with required fields, but the description only says 'Create a scoring profile.' It doesn't explain what a scoring profile is, what the profileType affects, or what the expected outcome is. There is no output schema, so the description carries the burden of explaining the effect, which it fails to do.
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 the profileType parameter having an explicit description ('Object type this profile will score') and the name parameter having an example. The tool description adds no parameter-level detail, but the schema adequately informs the agent, 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 ('Create') and the resource ('a scoring profile'), distinguishing it from sibling tools like scoring-profile-update or scoring-profile-delete. However, it lacks any additional context about what a scoring profile entails, so it's clear but not fully descriptive.
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 such as scoring-profile-update or scoring-assignment-create. It's a bare statement with no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-profile-deleteCDestructiveIdempotentInspect
Delete a scoring profile
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | Scoring profile UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what the annotations already indicate (destructiveHint=true, readOnlyHint=false). It does not mention permanence, cascading effects, or any other operational details. Since it adds no value over the structured annotations, the score is low.
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 and front-loaded, using a single sentence with no unnecessary words. It is efficient, though it could potentially include more detail without becoming verbose.
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 delete operation with one well-documented parameter and annotations indicating destructiveness, this description is minimally sufficient. However, it does not explain the consequences of deletion (e.g., irreversibility) or any expected response, leaving minor 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?
The input schema fully describes the only parameter 'profileId' with format and description, achieving 100% schema description coverage. The tool description adds no additional meaning about the parameter, 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 'Delete a scoring profile' clearly states the action (delete) and the resource (scoring profile), distinguishing it from sibling tools like create, get, list, and update. While it does not add additional scope or context, it is unambiguous and directly conveys the tool's 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?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, side effects, or conditions under which deletion is appropriate. It simply states the action without any contextual advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-profile-getBRead-onlyIdempotentInspect
Get a scoring profile
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | Scoring profile UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read. The description adds no behavioral context beyond the annotations, such as return format or potential errors. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, 'Get a scoring profile', with no filler or redundant information. It is front-loaded and every word contributes to the basic purpose, though it may be too terse to convey deeper context.
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 one-parameter read operation with comprehensive annotations, the description is minimally adequate. However, it does not mention what is returned (e.g., the full profile object), error cases, or relation to list/update operations, making it less complete than ideal in the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the single parameter (profileId) with a description 'Scoring profile UUID' and format/pattern constraints, so schema coverage is 100%. The description adds no additional parameter meaning beyond what the schema provides, aligning with the baseline for 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 uses the specific verb 'Get' with the resource 'a scoring profile', clearly indicating a fetch operation. However, it does not explicitly differentiate from sibling tools like scoring-profile-list, which also retrieves scoring profiles, relying on the singular vs. plural 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 about when to use this tool versus alternatives such as scoring-profile-list or scoring-profile-update. There is no mention of prerequisites, such as knowing the profile ID, or exclusions. The required profileId parameter implies usage but the description itself gives no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-profile-listBRead-onlyIdempotentInspect
List scoring profiles
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds no extra behavioral context such as pagination, ordering, or return format, but it does not contradict the annotations. Since the annotations handle the main concerns, a neutral score is appropriate.
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, 'List scoring profiles', with no redundant words. It is concise and front-loaded, immediately stating the core purpose without any 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 the simplicity (0 params, no output schema, strong annotations), the description is minimally viable but lacks any note about what is returned or if there are any limits. It does not address pagination or whether it returns all profiles system-wide or only owned ones, which could lead to ambiguity in broader use cases.
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?
There are zero parameters, so there is no schema information to supplement. The baseline for 0 params is 4, and the description correctly avoids inventing parameter details. No additional parameter explanation is 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 'scoring profiles', clearly indicating a read operation that returns multiple profiles. It distinguishes from siblings like scoring-profile-get or scoring-profile-create by the action word, though it does not specify scope or filter criteria.
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 many sibling tools (e.g., scoring-profile-get for a single profile, or scoring-rule-list for rules). There is no mention of prerequisites, alternatives, or exclusions, 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.
scoring-profile-updateCIdempotentInspect
Update a scoring profile
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | Scoring profile UUID | |
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond the annotations. Annotations already indicate a non-destructive, idempotent write, but the description does not disclose effects such as partial vs. full update or which fields are mutable, contributing no extra 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, verb-first sentence with no wasted words. It is concise and well-structured, though it could benefit from a bit more detail, earning a 4 rather than a 5.
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 update operation with complete schema coverage and safety annotations, this description is minimally viable. It lacks context about the update semantics (e.g., that name and description are updatable), but the schema fills in most gaps, so a score of 3 is appropriate.
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 fully describes both parameters (profileId as UUID, __requestBody with name and description fields). The description adds no parameter-level meaning, so the baseline score of 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 action ('Update') and the resource ('scoring profile'), distinguishing it from siblings like create/get/list/delete. However, it does not specify what aspects of the profile can be updated, so it stops short of full 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 provided on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description is purely declarative without contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-rule-deleteBDestructiveIdempotentInspect
Delete a scoring rule
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | Yes | Scoring rule UUID | |
| profileId | Yes | Scoring profile UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already convey. While annotations state destructiveHint=true, readOnlyHint=false, and idempotentHint=true, the description simply restates the action without explaining consequences, permanence, or any side effects. The openWorldHint is not addressed either.
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 redundant wording. It is appropriately sized for a simple delete operation and front-loads the essential 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 the tool's simplicity (2 params, no output schema), the schema and annotations cover a lot of ground. However, the description leaves out any mention of return behavior, permanence, or relationship to profiles. It is minimally viable but not richly 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% with each parameter having a description ('Scoring profile UUID', 'Scoring rule UUID'). The description adds no extra meaning about the relationship or usage of the parameters, so it doesn't exceed the baseline for well-documented schemas.
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 'Delete a scoring rule' uses a specific verb and resource, clearly distinguishing this from siblings like scoring-rule-list and scoring-rule-upsert. Even without a title, the intent is 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 no guidance on when to use this tool versus alternatives. It doesn't mention, for example, that this is for removing an existing rule while modifications should go through scoring-rule-upsert. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-rule-listARead-onlyIdempotentInspect
List scoring rules for a profile
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | Scoring profile UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, destructiveHint) and idempotency. The description adds the scoping to a profile, which is a behavioral trait beyond annotations, but it does not disclose other behaviors like error handling, result ordering, or permission requirements. Acceptable but minimal additional value.
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 conveys the essential information without redundancy. Every word earns its place, and the structure is front-loaded with the verb 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?
For a simple read-only list tool with one required parameter and rich annotations, the description is sufficient. There is no output schema, and the tool's behavior is straightforward. No critical information is missing.
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 with a clear description for the only parameter (profileId: 'Scoring profile UUID'). The description does not add any additional parameter semantics 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 clearly states the action ('List'), the resource ('scoring rules'), and the scope ('for a profile'), which distinguishes it from sibling tools like scoring-rule-delete and scoring-rule-upsert. It is specific and 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 the use case: when you need to retrieve scoring rules associated with a specific profile. It provides clear context but does not explicitly exclude alternatives or mention 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.
scoring-rule-upsertCIdempotentInspect
Upsert a scoring rule
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | Scoring profile UUID | |
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral information beyond the annotations. While annotations indicate idempotentHint=true and destructiveHint=false, the description does not explain what 'upsert' entails (e.g., whether it creates new rules, updates existing ones, or both) or any side effects such as overwriting existing rule configurations.
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 this is under-specification rather than concise writing. It consists of a single tautological sentence that adds no value; a useful description would include details about the request body and upsert behavior.
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 a complex nested request body (five answer types, multiple point-value modes, enum constraints) and no output schema, a one-line description is wholly inadequate. The description gives no information about required fields, validation rules, or how upsert semantics apply, making it impossible for an agent to correctly construct an 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%, with detailed parameter descriptions for profileId and the nested request body properties (e.g., answerType drives shape validation). The description itself provides no parameter information, but the schema fully compensates, 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 'Upsert a scoring rule' simply restates the tool name 'scoring-rule-upsert' in sentence form, providing no additional detail about the specific behavior, scope, or how it differs from sibling tools like scoring-rule-delete or scoring-rule-list. It is a tautology rather than an informative purpose statement.
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 offers no guidance on when to use this tool versus alternatives, no prerequisites, no exclusions, and no mention of related tools that could achieve similar outcomes (e.g., scoring-assignment-create for assigning rules). With no usage context, an agent cannot determine appropriate invocation scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring-scores-getBRead-onlyIdempotentInspect
Read scores for one or more objects
| Name | Required | Description | Default |
|---|---|---|---|
| objectId | Yes | Repeatable. For `company` use the domain; for `contact` use the LinkedIn profile URL. | |
| objectType | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the 'one or more objects' batch capability, which is useful, but it does not disclose rate limits, pagination, or other behavioral traits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. It is front-loaded with the verb and resource, making the tool's core function immediately clear. 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 there is no output schema, the description should explain what the returned scores look like, but it does not. It also does not clarify what 'scores' means in this domain or how they are structured. The minimal wording leaves the agent without return-format expectations, making it incomplete for a read 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 schema provides 50% description coverage: objectId has a detailed description ('Repeatable. For `company` use the domain; for `contact` use the LinkedIn profile URL.'), and objectType has a clear enum. The description itself adds no parameter meaning, but the schema already carries the burden, keeping this at 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 'Read scores for one or more objects' clearly states the action (read) and resource (scores), with object types defined in the schema. It distinguishes itself from scoring management tools (e.g., scoring-profile-*) by focusing on reading actual scores, though it does not explicitly contrast with sibling tools like scoring-assignment-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?
No guidance is provided on when to use this tool versus alternatives. Sibling tools like scoring-assignment-list, scoring-compute, and scoring-profile-get exist, but the description offers no exclusions, prerequisites, or situational advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signals-firmographicsBInspect
Return a company's firmographic profile (headcount, size, type, founded, HQ) plus a Saber-derived refined category and sell-to segments, with cited evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true, but the description says only 'Return', which suggests a simple read operation. It does not disclose async behavior, possible credit consumption, force refresh implications, or that it may create a research job. The 'Saber-derived' phrase adds some context but not 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, well-structured sentence that front-loads the action ('Return') and concisely lists the key output contents. 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?
The description lacks important context for a tool with async/webhook support and no output schema. It does not explain the 'Saber-derived' methodology, how sell-to segments are represented, or that the operation may be non-blocking. Given the complexity, the description is too minimal to fully prepare 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%, with the required 'domain' parameter fully described. The tool description does not add parameter-specific semantics beyond the schema; it focuses on the output fields rather than the input parameters. Baseline 3 applies because the schema 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 ('Return') and clearly identifies the resource (company's firmographic profile). It lists the included fields (headcount, size, type, founded, HQ) and adds unique differentiators (Saber-derived category, sell-to segments), distinguishing it from sibling signals 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?
There is no explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or reference sibling tools like signals-funding or signals-tech. Usage is only implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signals-fundingAInspect
Research a company's most recent funding round and public/IPO status by domain. Returns a structured funding summary with investors and source URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations offer limited safety context (readOnlyHint=false, openWorldHint=true), but the description does not disclose behavioral traits like caching, external data fetching, webhook delivery, or potential delays. The schema reveals caching via forceRefresh, but the description itself adds little transparency beyond the summary output.
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 that front-load the core purpose and immediately describe the return value. No unnecessary verbosity 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 essential output (funding summary with investors and source URLs) and the input (domain), which is sufficient given the absence of an output schema. However, it omits nuances like default caching behavior and webhook/async options, leaving some context to the 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?
Schema description coverage is 100%, with all parameters (domain, webhookUrl, forceRefresh) already described. The description only mentions 'by domain', adding no extra 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 tool researches a company's most recent funding round and public/IPO status by domain. It uses a specific verb ('research') and resource, and the niche (funding/IPO) distinguishes it from sibling signal tools like signals-firmographics or signals-mna.
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 funding-related research but provides no explicit guidance on when to use this tool versus alternatives, such as other signals-* tools. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signals-mnaAInspect
Research a company's recent M&A activity by domain — whether it was acquired or made acquisitions, with counterparty, deal status, and value.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and idempotentHint=false, but the description adds no behavioral context beyond the output fields. It does not mention asynchronous execution, potential credit costs, or side effects, despite the presence of webhookUrl and forceRefresh parameters that imply such behavior. No contradiction with annotations, but the description fails to disclose meaningful behavioral traits.
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 primary action and resource. It contains no redundant or filler content, and every clause adds relevant information about the tool's purpose and output.
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 conveys the core function and key output fields (counterparty, deal status, value), but it omits important context such as whether the operation is asynchronous (hinted by webhookUrl) and the exact return structure. With no output schema, more detail about response format and behavior 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?
Schema description coverage is 100%: domain, webhookUrl, and forceRefresh all have detailed descriptions in the schema. The tool description only mentions 'by domain' and does not add any new parameter semantics beyond what the schema already 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 'Research a company's recent M&A activity by domain' uses a specific verb and resource, explicitly identifies the input (domain), and enumerates the output facets (counterparty, deal status, value). This clearly distinguishes it from sibling signals tools such as signals-funding or signals-tech.
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 this tool to research M&A activity by domain. It does not explicitly name alternatives or exclusions, but the scope is well enough defined that an agent can infer when to use it. No guidance on when not to use it, 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.
signals-open_jobsAInspect
Summarise a company's current hiring from public job postings by domain — total openings, example titles, function areas, technologies, and locations.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only/destructive hints, and the description adds the data source ('from public job postings'), which is useful. However, it does not disclose that this may be a long-running research operation (as hinted by webhookUrl and forceRefresh parameters) or mention credit/rate implications, leaving some behavioral 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 action and lists key output elements without redundancy. It is concise 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?
For a tool without an output schema, the description lists the summary content, which is helpful. However, it omits behavioral context such as async execution, how results are delivered, or that this is a research action. The schema partially compensates via webhookUrl and forceRefresh, but the description alone is 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?
Input schema descriptions cover all parameters (domain, webhookUrl, forceRefresh) completely, so the description adds no additional parameter meaning. The baseline of 3 is appropriate since 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 uses a specific verb ('Summarise') and identifies the resource ('company's current hiring from public job postings') with a clear scope ('by domain'). It lists concrete output facets (total openings, example titles, function areas, technologies, locations) and is clearly distinct from sibling signal tools like signals-firmographics or signals-tech, which cover other domains.
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 obtaining a hiring summary for a specific company domain, but it does not explicitly state when to use it versus other signal tools (e.g., signals-funding, signals-tech). No exclusions or alternative tool names are provided, so 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.
signals-techAInspect
Detect the ERP or CRM system(s) a company uses, or verify a specific technology, by domain — verified with public web evidence, not vendor data alone.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, etc. The description adds context about verification using public web evidence rather than vendor data alone, which is useful. However, it does not disclose possible side effects such as credit consumption, webhook delivery, or result caching beyond what the schema indicates.
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 stating action, object, and method without redundant details. Every word contributes 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 schema documents parameters well and the description gives a clear purpose, but there is no output schema and the description does not describe the shape of results or potential side effects. The tool is moderately complex (nested body, async/sync support), and the description leaves out response expectations, though the schema's technology field mentions a 422 case.
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 all parameters, and the main description reinforces the role of 'domain' as the lookup key while mapping 'category'/'technology' to the ERP/CRM vs specific technology use cases. This adds conceptual meaning beyond the field-level 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?
The description uses specific verbs ('Detect', 'verify') and names the resource (ERP/CRM systems, a specific technology) and method (by domain). This clearly distinguishes it from sibling signals tools like signals-firmographics or signals-funding.
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 (when needing to know a company's ERP/CRM or verify a specific technology) but does not explicitly state alternatives or exclusion criteria. There is no 'use this over X' guidance, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_subscriptions-createBInspect
Schedule recurring signal execution for a template, domain, or list target.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose a write operation (readOnlyHint=false) and non-destructive nature. The description adds that execution is recurring, but does not disclose side effects like whether scheduling begins immediately or requires a separate start step (given 'start' sibling exists). No contradiction with 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?
Single sentence, no wasted words, clearly front-loaded with the core action and target types.
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?
Tool is complex with nested request body and conditional requirements (listId required, frequency/cron mutual exclusion, signalTemplateId vs inline). One sentence does not explain target type 'domain' which has no corresponding schema field, nor does it mention required listId or start/stop workflow. This is insufficient for a complex creation endpoint despite rich 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?
Schema descriptions cover 100% of parameters, including mutual exclusivity of frequency/cron and inline vs. existing template. The description adds no parameter-level information, 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 tool creates/schedules recurring signal execution, with specific target types (template, domain, list). It distinguishes from sibling create/start/stop/update operations, though 'domain' is not directly reflected in the schema, causing 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 explicit when-to-use or alternative guidance. The description implies usage for creating recurring signal subscriptions, but does not mention when to use signal_subscriptions-update or start instead. Only implied context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_subscriptions-getARead-onlyIdempotentInspect
Get a signal subscription by ID
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no additional behavioral context such as return format, error handling, or effects on the subscription. It does not contradict the annotations, but the description is purely declarative.
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 that contains zero filler words. It directly states the tool's purpose with 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?
For a simple single-parameter getter with rich annotations, this description is sufficient. The tool's low complexity (1 param, no output schema, idempotent read) means the description does not need to explain return values or error cases. However, a brief note about what a 'signal subscription' is could add a bit more context, but the sibling tools and schema provide enough framing.
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% coverage: the 'subscriptionId' parameter includes a full description ('The unique identifier of the subscription'). The description repeats 'by ID' without adding new meaning. Baseline 3 applies because the schema carries the parameter semantics fully.
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 'Get a signal subscription by ID' clearly states the action (get) and the specific resource (signal subscription) with the scope (by ID). It distinguishes itself from siblings like signal_subscriptions-list (which retrieves all) and signal_subscriptions-create/update, 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?
Usage is implied: this tool is for retrieving a single subscription when you have an ID, while list exists for multiple subscriptions. However, there is no explicit statement of when to use this over alternatives, nor any exclusions or prerequsites. The guidance is minimal but not misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_subscriptions-listARead-onlyIdempotentInspect
List all signal subscriptions for your organization
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of subscriptions to return | |
| offset | No | Number of subscriptions to skip for pagination |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds only the organizational scope but does not disclose pagination behavior, return format, or any other operational details beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that immediately states the action and resource. There is no fluff or redundancy, 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?
For a simple list tool with pagination parameters and strong annotations, the description is largely sufficient. However, it does not explicitly state the return shape (e.g., paginated list of subscription objects) or mention any caveats, leaving 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%, with limit and offset fully described in the input schema. The tool description adds no extra parameter semantics, so the baseline score 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 action ('List') and the resource ('signal subscriptions') with an explicit scope ('for your organization'). This distinguishes it from sibling tools like signal_subscriptions-get (single get) and signal_subscriptions-create (create).
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 such as signal_subscriptions-get or market_signals-list_subscriptions. There are no exclusions, prerequisites, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_subscriptions-startCInspect
Start a signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription to start |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare it as mutating, non-idempotent, and non-destructive, but the description adds no behavioral context. It doesn't explain what 'start' does (e.g., activates a paused subscription, begins delivery), what state changes occur, or whether it can be repeated. No annotation contradiction exists.
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 efficient for the minimal information it provides, though it is under-specified from a completeness perspective.
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 a simple one-parameter schema, the description leaves critical ambiguity about subscription lifecycle and the difference from 'trigger' or 'resume'. Without this context, an agent cannot reliably choose this tool among many similar sibling operations.
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 only parameter 'subscriptionId' is fully described in the schema (100% coverage) with a clear definition. The description adds no additional semantic value, 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 'Start a signal subscription' uses a specific action verb and identifies the resource, distinguishing it from siblings like 'stop', 'trigger', and 'create'. It doesn't explicitly state that it operates on an existing subscription, but the required subscriptionId implies this.
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 fails to mention prerequisites (e.g., subscription must exist) or contrast with 'signal_subscriptions-create' or 'signal_subscriptions-trigger'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_subscriptions-stopCInspect
Stop a signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription to stop |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only, non-idempotent, non-destructive, but the description adds no context about what 'stop' actually does (e.g., permanently ends vs. pauses, whether it's reversible). The description is a tautology of the tool 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 extremely concise with no wasted words, and the key action is front-loaded. It's appropriately short for a simple tool, though it sacrifices substance 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?
The tool is simple (one parameter, no output schema), but the description fails to explain the essential context: what happens when a subscription is stopped, whether it can be resumed, or how it differs from related operations like 'pause'. This is a significant 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?
The input schema covers 100% of parameters with a clear description of subscriptionId. The tool description does not add further parameter meaning, 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 uses a clear verb ('Stop') and resource ('signal subscription'), making the basic purpose understandable. It distinguishes from sibling tools like 'start' and 'trigger', though it doesn't specify scope or consequences.
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. It doesn't mention conditions (e.g., active subscription required) or contrast with 'stop' vs 'pause' or 'update' actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_subscriptions-triggerBInspect
Trigger an immediate run of a signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| subscriptionId | Yes | The unique identifier of the subscription to trigger |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the behavioral nuance of 'immediate run', which supplements the annotations (readOnlyHint=false, idempotentHint=false). However, it does not disclose side effects, prerequisites, or consequences of triggering, so it provides only minimal context beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It communicates the core purpose efficiently and earns its place without 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 one-parameter tool with clear schema and annotations, the description is minimally adequate. However, it omits details about what a 'run' entails, whether subscriptions must be active, or return behavior, leaving some gaps for a tool that performs a side-effecting action.
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 the subscriptionId parameter fully described as 'The unique identifier of the subscription to trigger'. The description reinforces the parameter's role but adds no additional meaning beyond the schema, matching 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 'Trigger an immediate run of a signal subscription' uses the specific verb 'trigger' and identifies the resource ('signal subscription') and the action ('immediate run'). It is clear and distinguishes the tool from alternatives like start/stop, though it does not explicitly name sibling tools for contrast.
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. While siblings like signal_subscriptions-start/stop and market_signals-trigger_subscription exist, the description gives no contextual cues or exclusions, leaving the agent without explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_subscriptions-updateCIdempotentInspect
Update a signal subscription
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body | |
| subscriptionId | Yes | The unique identifier of the subscription to update |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description merely says 'Update,' which adds no behavioral detail beyond what the annotations already indicate (readOnlyHint=false, idempotentHint=true, destructiveHint=false). It does not disclose whether the update is partial or full, how fields are cleared, or any 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 clear sentence with no filler, making it appropriately concise. However, it is under-specified and lacks any structural elements such as examples or usage notes.
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 rich schema, the description does not explain the update semantics (e.g., partial vs full replacement, mutual exclusivity of frequency/cronExpression, how to clear outputSchema) or the response format. With no output schema, the description leaves significant gaps for a tool with such a complex request body.
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 fully documents parameters, justifying the baseline score of 3. The description itself adds no 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 states 'Update a signal subscription,' which is a clear verb and resource. However, it does not differentiate among the many sibling subscription tools (create, get, list, trigger, etc.) or other update tools, so it lacks explicit sibling 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?
There is no guidance on when to use this tool versus alternatives like signal_subscriptions-create, start, stop, or trigger. The description does not mention prerequisites, partial updates, or any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_summaries-generateAInspect
Generate an AI summary consolidating insights from all completed company signals for a domain
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, idempotentHint=false, and openWorldHint=true, which already convey that this operation has side effects and may not be safe to repeat. The description adds minimal behavioral context ('AI summary', 'completed signals') but does not disclose critical details like whether the summary is persisted, if it consumes credits, or if it triggers asynchronous processing. Given the annotations, a 3 is appropriate.
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 that directly states the action and object. There is zero wasted words, 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?
For a tool with one well-documented parameter and functional annotations, the description is mostly complete. However, the lack of an output schema means the description should ideally mention what the caller receives (e.g., a summary string or a stored summary reference). This gap prevents a perfect score.
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 for the single 'domain' parameter, including its format and purpose. The tool description adds no extra semantic value beyond restating 'for a domain', so the baseline of 3 is correct.
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: generating an AI summary that consolidates insights from completed company signals for a domain. The verb 'Generate' is specific, and the resource is well-defined, distinguishing it from sibling tools like signal_summaries-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 when to use the tool (to create a new summary from completed signals for a domain), but it does not explicitly mention alternatives or exclusions, such as using signal_summaries-list to retrieve existing summaries. This earns a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_summaries-listARead-onlyIdempotentInspect
List all AI-generated signal summaries for a domain, ordered by creation date (latest first)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results per page | |
| domain | Yes | Filter summaries by company domain (e.g., "acme.com") | |
| offset | No | Number of results to skip for pagination |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description adds value by revealing the ordering behavior ('latest first'), which is not in the annotations. It does not, however, describe pagination quirks or return shape, so it doesn't reach a 5.
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 (14 words) that starts with the key verb 'List' and packs in the scope, resource type, and ordering. No fluff, no repetition of schema details. It is maximally 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 tool is simple, and the annotations cover safety, but there is no output schema. The description does not explain what the returned summaries look like (fields, structure), nor does it mention pagination behavior beyond what the schema already provides. For a list tool, this is a moderate gap, so a 3 is appropriate.
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 each parameter (limit, domain, offset) already documented in the schema. The description adds no additional parameter-level semantics (e.g., format hints, default behaviors beyond what's in the schema). Baseline of 3 is appropriate because 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 uses a specific verb ('List') and identifies a clear resource ('all AI-generated signal summaries') with a scope ('for a domain'). It also adds ordering detail ('by creation date, latest first'), which distinguishes it from other signal list tools like market_signals-list_signals or company_signals-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 implies usage by stating the tool lists summaries for a domain, but it does not explicitly contrast with alternative tools such as signal_summaries-generate or other signals-list tools. There is no 'when to use' or 'when not to use' guidance, so it stops at implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_templates-createAInspect
Create a reusable research question template that can be applied to many companies in batch.
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, but the description adds no additional behavioral details. It does not mention permissions, side effects, return behavior, or any constraints beyond the basic act of creation. No contradiction with annotations, but no extra value.
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 clearly states the action and purpose. No fluff 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?
Given the rich input schema and no output schema, the description sufficiently explains that this creates a reusable template for batch application, which is enough to select the tool. It could mention return values or prerequisites, but the purpose is clear and the schema fills in parameter 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?
Schema description coverage is 100%, with detailed descriptions for all nested properties (e.g., name, question, answerType, qualificationCriteria). The tool description adds no parameter-specific meaning, 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 states the tool creates a reusable research question template for batch application, using the specific verb 'Create' and the resource 'reusable research question template.' It distinguishes itself from sibling CRUD tools (signal_templates-get/list/update/delete) and from signal creation tools like company_signals-create_batch.
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 use case (creating a template for batch research questions) but does not explicitly state when to use this tool over alternatives such as company_signals-create_batch or signal_templates-update. It provides context but no exclusions or alternative comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_templates-deleteADestructiveIdempotentInspect
Soft-delete a signal template so it is no longer active while preserving it for historical tracking.
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | The unique identifier of the template to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as destructive and not read-only, so the agent knows side effects exist. The description adds that it is a soft-delete, meaning data is not destroyed but deactivated, which is meaningful beyond the raw hints. It also notes historical preservation, providing more 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 with no filler. It front-loads the action ('Soft-delete') and immediately specifies the resource and key behavior.
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 one parameter, full schema coverage, and helpful annotations, the description explains the core behavior (soft-delete, deactivation, historical preservation) adequately. No output schema exists, so return values are not required. The tool description is complete for its 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?
The schema description covers 100% of parameters, with templateId explicitly described as the identifier to delete. The tool description adds no additional parameter semantics beyond what the schema provides, which is acceptable 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 explicitly states it 'soft-deletes a signal template,' making the action and resource clear. It distinguishes from siblings like signal_templates-update by emphasizing historical preservation and deactivation rather than modification.
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 it: to make a template 'no longer active' while still preserving it for historical tracking. It does not explicitly name alternatives or exclusions, but the context is specific enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_templates-getARead-onlyIdempotentInspect
Get a signal template by ID
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | The unique identifier of the template |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, which cover the safety and mutability profile. The description adds no additional behavioral context, such as error handling or response format, but given the simplicity of the operation and strong annotation coverage, a mid-range score is appropriate.
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 that omits unnecessary elaboration. Every word contributes to specifying the action and target, 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?
For a simple get-by-ID operation with one parameter, no output schema, and rich annotations, the description is nearly sufficient. It does not explain the return value, but the tool name and purpose strongly imply the template object is returned. An explicit mention of the return format would elevate it to a 5, but the current level is adequate for this trivial 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 provides 100% coverage for the single parameter 'templateId', including type, format, pattern, and a description. The description's 'by ID' adds no meaning beyond what the schema already specifies, so the baseline score of 3 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 uses a specific verb ('Get') and resource ('signal template') with a clear identifier ('by ID'). It is immediately distinguishable from siblings like signal_templates-list and signal_templates-update, which focus on listing or modifying templates.
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 explicit guidance on when to use this tool vs alternatives. The description simply states what it does, without mentioning scenarios where a list or search would be preferable, or any preconditions such as existence checks. The implied use case (retrieve a specific template by ID) is clear from the name, but no exclusions or alternative pointers are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_templates-listARead-onlyIdempotentInspect
List all signal templates for your organization
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of templates to return | |
| offset | No | Number of templates to skip for pagination | |
| includeDeleted | No | Include deleted templates in the response |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the tool as read-only, idempotent, and non-destructive. The description adds the org-scope context ('for your organization'), but does not disclose pagination behavior, default exclusions (e.g., includeDeleted), or return format. No contradiction with 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 with no filler words. 'List all signal templates for your organization' is concise and immediately actionable.
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, read-only list endpoint with a complete schema and strong annotations, the description is adequate. It could add return-type or pagination notes, but the combination of description, schema, and annotations covers the essential operational 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?
All three parameters (limit, offset, includeDeleted) are fully described in the schema with defaults, min/max, and purpose, giving 100% coverage. The description does not add parameter-specific semantics but is not required to, given the schema's completeness.
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 action verb ('List') with a clear resource ('signal templates') and scoping ('for your organization'), which clearly distinguishes it from sibling tools like signal_templates-get (single retrieval) and signal_templates-create/update/delete (mutations).
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 offers no explicit guidance on when to use this tool versus alternatives; it simply states the action. The presence of sibling tools like signal_templates-get and signal_templates-create implies usage, but there is no direct comparison or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_templates-updateAInspect
Update a signal template by creating a new version while preserving the template ID. Omitted fields keep their previous values.
| Name | Required | Description | Default |
|---|---|---|---|
| templateId | Yes | The unique identifier of the template to update | |
| __requestBody | Yes | Request body |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which indicate mutation but no destructiveness), the description discloses key behaviors: a new version is created and the template ID is preserved. It also notes that omitted fields keep previous values, which is important for understanding state changes.
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-crafted sentence that communicates the core behavior and partial-update semantics without any filler. 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 rich input schema and the absence of an output schema, the description covers the essential behavioral context: versioning, ID preservation, and partial updates. It is sufficient for an agent to invoke the tool correctly, though it does not detail return values or potential side effects.
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 already documented. The description adds meaningful semantic information: the `__requestBody` is partial-update oriented, where omitted fields retain previous values, clarifying how to use the request body effectively.
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 signal template, with the specific behavior of creating a new version while preserving the template ID. This distinguishes it from sibling tools like create (which would create a new ID) and delete.
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: to update an existing template while keeping its ID, and that partial updates are allowed since omitted fields retain previous values. It doesn't explicitly name alternatives, but the context is clear and useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_actions-createCInspect
Create a subscription action
| Name | Required | Description | Default |
|---|---|---|---|
| __requestBody | Yes | Request body | |
| subscriptionId | Yes | The subscription to add the action to |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation with open-world side effects and no idempotency, but the description adds no behavioral context beyond what annotations already convey. It doesn't explain what happens on creation, reversibility, or any side effects, which would be valuable for an agent deciding to invoke it.
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 easy to parse and front-loaded with the core action. It contains no filler words, but it is arguably under-specified; however, for the information it provides, it is 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?
For a creation tool with nested objects, two required parameters, and no output schema, the description is too minimal. It doesn't explain what a subscription action is, how to configure the webhook, or what the response will be, leaving significant gaps for the 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% with rich parameter descriptions (subscriptionId as 'The subscription to add the action to', type const 'webhook', destination URI format). The description adds no additional 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 uses a specific verb 'Create' with the resource 'subscription action', clearly indicating the operation. It distinguishes from sibling tools like update, delete, pause, and unpause by naming the create action. However, it lacks detail about what constitutes a subscription action beyond the schema.
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 subscription_actions-update, -pause, or -delete. The description and schema do not explain use cases or prerequisites, leaving the agent to infer from the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_actions-deleteADestructiveIdempotentInspect
Delete a subscription action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | The action ID to delete | |
| subscriptionId | Yes | The subscription that owns the action |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with annotations (readOnlyHint=false, destructiveHint=true) but adds no extra behavioral context. It does not disclose potential side effects, irreversibility beyond the destructive annotation, or any special requirements. With annotations already covering the safety profile, the description provides minimal additional value.
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 zero wasted words. It is front-loaded with the operation and resource, making it easy to parse and comprehend immediately.
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 delete operation with two fully documented parameters and annotations covering safety, the description is largely complete. It does not explain what a 'subscription action' is or describe the return value, but given the low complexity and rich surrounding metadata, the gap is minor.
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 actionId and subscriptionId having clear descriptions. The tool description adds no parameter information 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 'Delete a subscription action' uses a specific verb and resource, clearly stating the tool's function. It distinguishes from sibling tools like subscription_actions-create, get, list, pause, unpause, and update by the explicit 'delete' verb and 'subscription action' object.
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 such as subscription_actions-pause/unpause or subscription_actions-update. It lacks any context on prerequisites, ordering constraints, or exclusions, leaving the agent without sufficient decision-making information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_actions-getARead-onlyIdempotentInspect
Get a subscription action by ID
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | The action ID | |
| subscriptionId | Yes | The subscription that owns the action |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is clear. The description adds no extra behavioral context such as return format, error conditions, or authorization requirements, making it minimally adequate with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the verb and resource. No unnecessary words or repetitive information, earning the highest 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?
Given the tool's simplicity (a get-by-ID with two well-documented parameters) and strong annotations, the description is complete enough. The agent can infer the return value (the subscription action) and understands the action is safe and non-destructive. No output schema is needed for such a straightforward retrieval.
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 'actionId' and 'subscriptionId' having descriptive text. The description's 'by ID' adds no additional parameter meaning beyond what the schema already provides, 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 'Get a subscription action by ID' clearly states the verb (Get) and resource (subscription action), with an explicit scope (by ID). It distinguishes from the sibling subscription_actions-list tool, which retrieves multiple actions.
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 action ID is known, but it does not explicitly contrast with alternatives like subscription_actions-list or mention exclusions. Context is clear, but no direct when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_actions-listARead-onlyIdempotentInspect
List all actions for a subscription
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of actions to return | |
| offset | No | Number of actions to skip for pagination | |
| subscriptionId | Yes | The subscription whose actions to list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds minimal extra behavior: it says 'List all actions' which could imply no pagination, but the schema's limit/offset parameters indicate pagination. This minor ambiguity is not a contradiction, but no substantial additional context is provided beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the tool's purpose. There is no redundant phrasing or irrelevant detail, making it highly efficient for agent consumption.
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, the combination of a clear description, full schema parameter documentation, and comprehensive annotations provides adequate context. No output schema exists, but for a list operation the return shape is reasonably implied. However, the description could have mentioned what an action constitutes or that results are paginated, which would have increased 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?
All parameters are fully described in the input schema (100% coverage). The description does not add any additional meaning beyond what the schema provides for subscriptionId, limit, and offset. 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 lists actions for a subscription with a specific verb ('List') and resource ('actions for a subscription'). It distinguishes itself from sibling tools like subscription_actions-get (single action) and subscription_actions-create/delete/update by indicating a list 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?
No guidance is provided on when to use this tool instead of alternatives. There is no mention of scenarios such as 'use this to retrieve all actions, use get for a single action' or any exclusions. The description merely states the function without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_actions-pauseBInspect
Pause a subscription action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | The action ID to pause | |
| subscriptionId | Yes | The subscription that owns the action |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond what annotations already provide. It does not state whether pausing is reversible, what happens to pending executions, or any side effects. Since annotations already signal a non-read-only, non-destructive mutation, the description offers no additional 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 that directly states the action. There is no waste 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?
Despite simple parameters and annotations, the description is too sparse. It lacks information about the effects of pausing, state requirements, error conditions, or behavior upon resume. The tool is more than a read-only operation, so more context is needed for an agent to use 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?
The input schema fully describes both required parameters (subscriptionId and actionId) with detailed patterns and descriptions. The tool description itself adds no parameter semantics, but with 100% schema coverage, 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 uses the specific verb 'pause' with the resource 'subscription action', clearly indicating the operation. It distinguishes from sibling tools like 'subscription_actions-unpause' and 'subscription_actions-update' by naming a distinct 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?
No usage guidance is provided. The description does not explain when to pause an action, any prerequisites (e.g., action must be active), or suggest alternatives like unpause or update. Sibling tools are present but not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_actions-unpauseBInspect
Unpause a subscription action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | The action ID to unpause | |
| subscriptionId | Yes | The subscription that owns the action |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, so the safety profile is known. The description adds no additional behavioral context beyond the implicit state change from paused to active. It does not contradict the annotations, but it provides no extra detail on side effects or required states.
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 directly states the operation. It earns its place with no unnecessary words 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?
Given the simplicity of the tool (two parameters, no output schema), the description is mostly complete. It could mention that the action must already exist and be paused for the unpause to be meaningful, but overall it provides sufficient context for an agent to understand the basic 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% parameter description coverage, with clear descriptions for both 'actionId' and 'subscriptionId'. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline score 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 'Unpause a subscription action' uses a specific verb and resource, clearly indicating the operation. It distinguishes from the sibling tool 'subscription_actions-pause' by stating the inverse action. However, it lacks additional context about what constitutes a 'subscription action,' leaving some ambiguity for new 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?
No usage guidance is provided. There is no mention of when to use this tool, prerequisites (e.g., the action must be paused), or alternatives. The sibling tools and the name imply it is the counterpart to 'pause,' but the description itself offers no explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_actions-updateCIdempotentInspect
Update a subscription action
| Name | Required | Description | Default |
|---|---|---|---|
| actionId | Yes | The action ID to update | |
| __requestBody | Yes | Request body | |
| subscriptionId | Yes | The subscription that owns the action |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey that this is a write operation (readOnlyHint=false), idempotent (idempotentHint=true), and non-destructive (destructiveHint=false). The description adds no extra behavioral context, such as how partial updates work, what happens if the action is not found, or any external 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, direct sentence that is front-loaded with the core action. It contains no filler or redundant phrasing, making it well structured for quick reading, even if it is terse.
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 three required parameters, a nested request body, and no output schema, the description is too sparse. It fails to explain what a 'subscription action' is, what the webhook update accomplishes, or what the tool returns upon success. The schema covers params, but broader domain context is missing.
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 all three parameters with descriptions and formats, including the nested webhook object and destination URL. Since schema coverage is 100%, the description does not need to add parameter details, and 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 'Update a subscription action' clearly specifies the verb (update) and the resource (subscription action), and it distinguishes itself from sibling tools like create, delete, get, list, pause, and unpause. However, it lacks details on what specific aspects of the action can be updated, which limits 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 for when to use this tool versus alternatives. The description does not mention prerequisites (e.g., the action must already exist), nor does it point to sibling tools for related operations like creating or deleting.
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
- Alicense-qualityBmaintenanceSales intelligence for DACH & EU SMEs — lead scoring, ICP fit, CRM enrichment & writeback.MIT
- AlicenseAqualityCmaintenanceProvides real-time business event intelligence and AI-scored sales leads to help users track funding rounds, acquisitions, and executive hires. It enables AI agents to generate strategic market briefs and manage company watchlists for predictive business insights.72342MIT
- Flicense-qualityDmaintenanceEnables AI assistants to automate sales prospecting by finding contacts by role and industry, enriching data with emails and tech stacks, scoring against ideal customer profiles, and generating personalized outreach sequences. Streamlines lead generation and sales engagement workflows through integrated research and sequence generation tools.
- Flicense-qualityDmaintenanceEnables AI agents to research companies and find contacts with structured data from multiple free sources, including company info, tech stack, and email addresses.