Skip to main content
Glama

CatchAll (by NewsCatcher)

Server Details

CatchAll is a web search API built for comprehensive event retrieval — not ranked results, but all matching records.

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsB

Average 3.8/5 across 60 of 60 tools scored. Lowest: 2.4/5.

Server CoherenceA
Disambiguation4/5

Most tools have clearly distinct purposes, especially with detailed descriptions differentiating similar ones like append_csv_to_dataset vs create_dataset_from_csv. However, a few pairs (e.g., pull_results vs pull_job_csv, get_job_status vs list_user_jobs) could cause initial confusion if descriptions are not read carefully.

Naming Consistency4/5

Predominantly uses verb_noun pattern (create_, list_, delete_, update_) with consistent snake_case. However, there is some mixing of get_ vs pull_ for retrieval, and a few longer names like assign_webhook_resource that deviate slightly from the standard pattern.

Tool Count3/5

60 tools is on the high side for an MCP server, covering many CRUD operations and management tasks. While the domain is complex, the number may overwhelm agents. It could be streamlined by combining some tools (e.g., single entity and batch creation) or reducing listing variants.

Completeness4/5

The tool surface is comprehensive, covering all major lifecycle operations for datasets, entities, jobs, monitors, webhooks, and projects. Minor gaps exist, such as no dedicated tool for getting a single job's full details (only status is available) and no update for jobs, but the core workflow is well-supported.

Available Tools

60 tools
add_dataset_entitiesCInspect

Add existing entities to a dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to add entities to.
entity_idsYesList of entity IDs to add (required).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, so description carries full burden. It only says 'Add existing entities' without disclosing behavior on duplicates, required permissions, side effects, or return value. Lacks depth for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no clutter or redundancy. Every word is necessary and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and only a terse description, the tool lacks essential context such as error handling, idempotency, and output shape. Given moderate complexity (3 params, output schema present), description should provide more.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 100% coverage with descriptions for all three parameters. Description adds no additional parameter meaning; baseline of 3 is appropriate as schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action: 'Add existing entities to a dataset.' It uses a specific verb and resource, distinguishing from create_entity (creates new entities) and remove_dataset_entities (removes). Slight lack of explicit differentiation but still clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like append_csv_to_dataset or create_entities_batch. No mention of prerequisites (e.g., entities must already exist) or context for selection.

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

add_project_resourcesBInspect

Add one or more resources to a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
resourcesYesA list of resource objects, each `{"resource_type": ..., "resource_id": ...}`. `resource_type` is one of: 'job', 'monitor', 'dataset', 'monitor_group'. May also be passed as a JSON-string array for client compatibility.
project_idYesThe project ID to add resources to.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, and the description only says 'add one or more resources' without disclosing behavioral aspects like idempotency, error handling, 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise but under-specified. It could benefit from more context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool, the description lacks completeness. No mention of idempotency, errors, or behavior when resources already exist. The output schema exists but doesn't excuse missing behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with detailed parameter descriptions. The tool description adds no new parameter information beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'add' and the target 'resources to a project', distinguishing it from sibling tools like 'remove_project_resource' and 'list_project_resources'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, no prerequisites or conditions mentioned. The description is too minimal to help an agent decide context.

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

append_csv_to_datasetAInspect

Append entities from a CSV file to an existing dataset.

Parses the CSV and appends its entities to the dataset. Each row must have a name column; include a domain or description column (or both) for meaningful enrichment. Duplicate rows (by name) are skipped. To create a new dataset from a CSV, use create_dataset_from_csv instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesCSV content (required) — raw CSV text or standard base64-encoded CSV, capped at 10 MB after decoding. Server-side file paths are not accepted.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to append entities to (required).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

The description discloses key behavioral traits: CSV parsing, appending entities, duplicate handling by name, and column requirements. It also mentions the file format and size limit. However, it does not explain what happens if the dataset does not exist or if required fields are missing in the CSV. Given no annotations, this is strong but not fully exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: 5 short sentences front-loaded with the main purpose. Each sentence adds necessary information with no redundancy. Structure is clear and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, the description covers behavior, constraints, and alternatives well. It mentions CSV size limits, column requirements, and duplicate handling. The existing output schema likely covers return value details, so the description does not need to repeat that. Slightly lacking in error scenarios (e.g., invalid dataset_id) but overall complete for practical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% coverage for all 3 parameters. The description adds value by clarifying the required columns in the CSV content (name, domain, description) and confirming that 'file' accepts raw CSV or base64. This goes beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb and resource: 'Append entities from a CSV file to an existing dataset.' It distinguishes itself from the sibling 'create_dataset_from_csv' by explicitly stating 'To create a new dataset from a CSV, use create_dataset_from_csv instead.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: it tells the agent that each row must have a 'name' column, suggests including 'domain' or 'description' columns, and notes that duplicate rows are skipped. It also explicitly names the alternative tool for creating a new dataset.

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

assign_webhook_resourceAInspect

Map a resource (job, monitor, or monitor_group) to a webhook.

Use when:

  • You want a webhook to fire for a specific job or monitor's deliveries.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
webhook_idYesThe webhook ID to attach the resource to.
resource_idYesThe ID of the job/monitor/monitor_group to map.
resource_typeYesResource type: 'job', 'monitor', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It does not mention side effects (e.g., overwriting existing mappings), error cases (e.g., invalid resource_id), authentication requirements beyond the api_key parameter, or whether the operation is idempotent. This leaves the agent underinformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences with no fluff. Front-loaded with the main purpose and a bullet for usage. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, return values are covered. However, for a mapping tool, important context is missing: behavior on duplicate assignments, concurrency, or prerequisite conditions (e.g., webhook must exist). Adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add value beyond the schema; it only reiterates resource types already described. No additional details on parameter formats or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Map' and the resource 'webhook', specifying the resource types (job, monitor, monitor_group). It distinguishes from siblings like create_webhook and remove_webhook_resource by focusing on assignment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the use case: 'when you want a webhook to fire for a specific job or monitor's deliveries.' Lacks guidance on when not to use or alternatives (e.g., removing a resource), but the context is clear.

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

check_healthAInspect

Check API health status.

This tool maps to GET /health and does not require an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoOptional CatchAll API key.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations provided, so the description carries the burden. It discloses that the tool maps to GET /health and does not require an API key, which is informative for a read-only, non-destructive operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the purpose. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple health check tool with output schema (true), the description is complete. It covers the endpoint, authentication requirement, and purpose. No additional behavioral context needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with description for the single optional parameter. The description adds value by clarifying that the API key is not required for this endpoint, which goes beyond the schema description that calls it 'Optional'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Check API health status,' which is a specific verb-resource pair. It distinguishes itself from sibling tools by being a simple health check, and it's not confusable with others like get_version.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use: to check API health. It doesn't explicitly state when not to use or mention alternatives, but for a health check, the context is clear enough.

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

continue_jobAInspect

Expand a job by processing more records beyond the initial limit.

This increases the number of records the system processes (which costs additional credits). Only use this when the user wants MORE data processed.

This only applies to jobs originally submitted with limit. If a job was submitted without limit, there is nothing to continue. The new_limit must be greater than the previous limit when provided. If omitted, API defaults to your plan maximum.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID to continue processing
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
new_limitNoOptional new record processing limit (must exceed the previous limit if provided).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description must disclose behavioral traits. It mentions that processing 'costs additional credits' and explains constraints on `new_limit`. However, it does not detail potential errors (e.g., if the job is already completed) or side effects beyond credit consumption, which could be improved. Overall, it provides good transparency for the tool's core behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, using four short sentences that are well-structured and front-loaded. Every sentence provides necessary information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (allowing the description to omit return details), the description covers all necessary aspects: purpose, usage conditions, parameter constraints, and side effects. It is complete for an agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all three parameters. The description adds further value by explaining that `new_limit` must be greater than the previous limit and that omitting it defaults to the plan maximum. It also clarifies that `api_key` is optional. This supplements the schema descriptions effectively.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Expand a job by processing more records beyond the initial limit.' It uses a specific verb ('expand') and resource ('job'), and the context distinguishes it from sibling tools like 'get_job_status' or 'submit_query', which have different functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'Only use this when the user wants MORE data processed.' It also specifies the condition 'only applies to jobs originally submitted with `limit`' and explains when not to use it ('If a job was submitted without `limit`, there is nothing to continue'). This clearly differentiates use cases.

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

create_datasetBInspect

Create a new dataset.

Datasets are collections of entities (companies/people). Connect a dataset to a job via submit_query(connected_dataset_ids=[...]) to narrow retrieval scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable dataset name (required).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
entity_idsNoOptional list of existing entity IDs to seed the dataset with.
project_idNoOptional project ID to associate this dataset with.
descriptionNoOptional dataset description.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose permissions, side effects, or whether creation is synchronous; api_key fallback is mentioned but expected behavior beyond that is lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise paragraphs with front-loaded purpose. No wasted words, but could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers basic usage and connection to jobs, but lacks details on output, constraints (e.g., uniqueness), and differentiation from similar tools. Output schema exists but is not described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. Description adds context for api_key (fallback mechanism) and entity_ids (seeding), but other parameters like project_id and description add no new info beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States 'Create a new dataset' and explains datasets as collections of entities. However, it does not distinguish from sibling tool create_dataset_from_csv, which is a closely related alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions connecting datasets to jobs via submit_query, but no explicit guidance on when to use this vs. other creation methods like create_dataset_from_csv or update_dataset.

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

create_dataset_from_csvAInspect

Create a new dataset by uploading a CSV file.

The CSV must have at least a name column. For meaningful entity enrichment each row should also include a domain column or a description column (or both) — a row with only a name is accepted but produces lower-quality enrichment. Additional columns are mapped to entity attributes. Max file size is plan-dependent. To add CSV rows to an existing dataset, use append_csv_to_dataset instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesCSV content (required) — raw CSV text or standard base64-encoded CSV, capped at 10 MB after decoding. Server-side file paths are not accepted.
nameYesHuman-readable dataset name (required).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
project_idNoOptional project ID to associate this dataset with (new in 1.6.1).
descriptionNoOptional dataset description.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

No annotations provided, but the description fully discloses key behaviors: file format requirements, encoding options (raw or base64), max file size (10MB), and quality implications of minimal rows. It does not hide any important side effects or constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Compact and well-structured: first sentence states purpose, then bullet-like requirements for columns, file size, and alternative tool. Every sentence is informative with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown) and the tool's complexity, the description covers input format, column expectations, size limits, and sibling differentiation. No critical gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the semantic role of the 'name' column, the optional but beneficial 'domain'/'description' columns, and alternative ways to supply the API key. This goes beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a new dataset by uploading a CSV file, with specific verb (Create) and resource (dataset from CSV). It distinguishes itself from the sibling 'append_csv_to_dataset' by explicitly mentioning the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: required 'name' column, recommended 'domain' and/or 'description' columns for better enrichment, file size constraints (plan-dependent), and direct reference to 'append_csv_to_dataset' for adding rows to an existing dataset.

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

create_entities_batchCInspect

Create multiple entities in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
entitiesYesA list of entity objects. Each object requires a ``name`` plus one identifying field for good enrichment: either a top-level ``"description"`` or ``"additional_attributes": {"company_attributes": {"domain": "..."}}``. Also accepts optional ``entity_type`` ('company'/'person'). May also be passed as a JSON-string array.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, so description must disclose behavior. Only mentions 'create multiple entities in one call,' lacking details on idempotency, limits, error handling, or return values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (one sentence), which is concise but could be more informative without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having output schema and parameter descriptions, the tool is complex (batch creation) and would benefit from more context on usage, limits, and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already describes both parameters well. The description adds no extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Create multiple entities in one call,' which specifies the action and resource. However, it does not explicitly differentiate from sibling 'create_entity' or 'add_dataset_entities'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like create_entity for single entities or add_dataset_entities for adding to datasets.

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

create_entityAInspect

Create a single entity (a company or person).

name is required plus at least one identifying field: either description or additional_attributes.company_attributes.domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesEntity name (required).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
descriptionNoOptional description of the entity.
entity_typeNoOptional entity type: 'company' (default) or 'person'.
external_entity_idNoOptional customer-supplied identifier linking this entity to an external system's record (new in 1.6.3).
additional_attributesNoOptional structured attributes. For companies, use `{"company_attributes": {"alternative_names": [...], "domain": "...", "key_persons": [...], "description": "..."}}`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries full burden. It explains required fields but does not disclose behavioral traits like idempotency, duplicate handling, authentication requirements (only mentions optional api_key), or side effects. The output schema exists but is not visible; return behavior is not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: one sentence for purpose, one paragraph for constraints. No unnecessary words, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters and an output schema (not shown), the description covers the critical constraint but omits details on entity_type, external_entity_id, and api_key. It is adequate for a simple creation tool but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds significant meaning by codifying the conditional constraint (name + one of description or domain) which is not explicit in the schema. This helps the agent understand which parameters are needed together.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create', the resource 'entity', and specifies the types 'company or person'. It distinguishes from sibling tools like 'create_entities_batch' (batch) and 'update_entity' (update).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a helpful constraint: name plus at least one identifying field (description or domain). However, it does not explicitly state when to use this tool versus alternatives like 'create_entities_batch' for multiple entities or 'update_entity' for existing entities.

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

create_monitorAInspect

Create a recurring monitor from a completed job.

Monitors re-run a job's query on a schedule. Use the explore -> refine -> automate pattern: submit a job, refine until results match, then create a monitor.

The schedule is defined in natural language (e.g., 'every day at 9 AM EST'). Always include a timezone (in the schedule text or via the timezone arg). API-enforced constraints apply:

  • If backfill=true, reference job end_date must be within the last 7 days

  • If backfill=false, reference job age does not matter

  • Minimum schedule frequency depends on your plan

Webhooks are now centralized: register them with create_webhook, then pass their IDs here via webhook_ids (there is no inline webhook config anymore).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional max records per run (minimum 10). If omitted, API uses plan default.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
backfillNoOptional gap-fill toggle before first run (default true).
scheduleYesNatural language schedule (e.g., 'every day at 9 AM EST', 'every Monday at 8 AM UTC', 'every 48 hours')
timezoneNoOptional IANA timezone for the schedule (e.g. 'America/New_York'). Defaults to UTC. A timezone written into the schedule text overrides this.
project_idNoOptional project ID to associate this monitor with.
webhook_idsNoOptional list of webhook IDs to notify on each run completion (max 5).
reference_job_idYesID of a completed job to use as the template

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description carries full burden and covers important behaviors: backfill constraints (job must be within 7 days), schedule frequency depends on plan, webhooks are separate, and timezone handling. It does not detail error responses or the immediate effect after creation, but output schema likely covers return values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: purpose first, then workflow pattern, then constraints, then webhook note. Every sentence adds necessary information without redundancy. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, 2 required, and an output schema, the description covers the core workflow, constraints, plan dependencies, and integration points. It is complete enough for an agent to create a monitor correctly, with the output schema handling return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant value beyond the 100% schema coverage. It explains the relationship between backfill and job age, schedule and timezone override (natural language vs IANA), and that webhook_ids must come from create_webhook. This contextual interplay is crucial for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a recurring monitor from a completed job' and distinguishes the tool from siblings like update_monitor or delete_monitor. It also outlines the explore-refine-automate pattern, reinforcing the specific workflow for this tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage pattern (submit job, refine, automate) and explicitly notes that webhooks are now centralized via create_webhook. It does not explicitly state when not to use this tool vs. alternatives like update_monitor, but the context makes it sufficiently clear.

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

create_projectBInspect

Create a new project.

Projects group related resources (jobs, monitors, datasets, monitor_groups) so you can organize work and filter listings by project_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable project name (required).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
descriptionNoOptional project description.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations exist. The description does not disclose behavioral traits like idempotency, error handling (e.g., duplicate name), required permissions, or side effects. For a creation tool, this lacks transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two short sentences that front-load the purpose. Every sentence adds value, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 parameters, output schema present), the description provides enough context about what a project is and its role. It explains the grouping concept, which aids understanding, though could mention naming constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes parameters. The description adds no extra meaning to parameters beyond what's in the schema, thus meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new project' with a specific verb and resource. It explains that projects group related resources, which helps distinguish from creating other resources like datasets or monitors, though not explicitly comparing to sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 when to use update_project or when to avoid creating a duplicate. No prerequisites or context for usage are provided.

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

create_webhookAInspect

Create a new webhook endpoint.

Use when:

  • You want to register a URL to receive job or monitor result deliveries.

  • You need a webhook_id to attach to a monitor (via webhook_ids) or a job submission.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL that will receive webhook deliveries (required).
authNoOptional auth object forwarded with each delivery. One of: - {"type": "bearer", "token": "..."} - {"type": "api_key", "header": "X-API-Key", "value": "..."} - {"type": "basic", "username": "...", "password": "..."}
nameYesHuman-readable name for the webhook (required).
typeNoOptional webhook target type: 'generic' (default), 'slack', 'teams', or 'custom'. 'slack'/'teams' send pre-formatted payloads; 'generic'/'custom' send the raw result payload.
methodNoHTTP method for delivery (default 'POST'). One of GET, POST, PUT, PATCH, DELETE.POST
paramsNoOptional dict of query string parameters appended to the webhook URL.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
headersNoOptional dict of custom HTTP headers to include in deliveries.
delivery_modeNoOptional delivery mode: 'full' (default, whole result set in one call) or 'per_record' (one call per article).
formatter_configNoOptional custom payload transformation config dict.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for disclosing side effects, validation, or response structure. It only implies the return of a webhook_id but does not detail the creation process, permissions, or error scenarios. This is insufficient for a creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with the core action in the first sentence and bullet-pointed use cases. No superfluous text, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, optional features like auth, delivery_mode), the description is minimal. It does not cover typical usage patterns or prerequisites, but the existence of an output schema reduces the need for return value explanation. Adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all 10 parameters with 100% coverage. The tool description adds no additional meaning beyond the schema. Baseline of 3 is appropriate as schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new webhook endpoint' and provides specific use cases (register URL for job/monitor deliveries, obtain webhook_id). It distinguishes itself from sibling tools like get_webhook, delete_webhook, update_webhook, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when:' bullet points guide the agent on appropriate contexts. While it doesn't mention when not to use or alternatives, the sibling list provides context. The guidelines are clear and actionable.

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

delete_datasetAInspect

Permanently delete a dataset.

The entities the dataset referenced are not deleted; only the dataset and its entity associations are removed.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses permanence and clarifies that referenced entities are not deleted (only associations). This adds behavioral context beyond the input schema, though it could mention permissions or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary action, and no wasted words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple deletion tool with an output schema (not detailed in description), the description covers permanence and entity preservation. It lacks mention of success/failure indicators but the output schema compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description adds no extra meaning between the parameters, aligning with baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Permanently delete a dataset' with a specific verb and resource. It distinguishes from sibling tools like create_dataset and update_dataset by specifying the destructive action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for deleting datasets but does not explicitly state when to use it versus alternatives like delete_entity or delete_project, nor does it mention prerequisites or scenarios to avoid.

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

delete_entityBInspect

Permanently delete an entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
entity_idYesThe entity ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are present, so the description must carry the full behavioral disclosure. It only states 'permanently delete,' indicating irreversibility but lacks details on side effects, authorization requirements, or whether related data is affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, consisting of a single phrase. It is front-loaded with the key action and irreversibility, though could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of an output schema, the description is minimally adequate. However, it lacks context about return values, error conditions, and whether deletion cascades to related entities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters. The description adds no additional meaning beyond the schema; 'permanently' is about the operation, not parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Permanently delete an entity,' specifying the verb 'delete' and the resource 'entity.' It distinguishes itself from sibling tools like create, update, get, and list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. For a destructive action, prerequisites, restrictions, or alternatives (e.g., deactivation) could be mentioned.

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

delete_jobAInspect

Permanently delete a job and its results.

Use when:

  • You want to remove a job you no longer need from your account.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID to delete.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

The description notes that deletion is permanent and includes results, which is valuable. However, with no annotations provided, the description carries the full burden; it does not disclose permission requirements, idempotency, or whether associated resources are affected. This is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, consisting of two short sentences. It is front-loaded with the core action and context, with no wasted words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, explanation of return values is unnecessary. The description covers the core functionality and use case. It could be more complete by mentioning idempotency or error behavior, but it is sufficient for a simple delete operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add any additional meaning or context about the parameters (job_id, api_key) beyond what the schema already provides, thus adding no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Permanently delete') and the resource ('a job and its results'). It distinguishes itself from sibling delete tools (e.g., delete_dataset, delete_entity) by specifying 'job' as the target, making it unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides a use case ('remove a job you no longer need'), guiding the agent on when to invoke this tool. However, it does not mention when not to use it or provide alternatives, which would push it to a 5.

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

delete_monitorAInspect

Permanently delete a monitor and stop its scheduled runs.

Use when:

  • You want to remove a monitor entirely (use disable_monitor to only pause it).

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
monitor_idYesThe monitor ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

The description communicates permanent deletion and stopping of runs, which are key behaviors. Without annotations, it covers the main behavioral traits, though it could mention any prerequisites or recovery options.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) with no redundant information, effectively communicating purpose and usage guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 adequate. It covers purpose, usage, and behavior. The presence of an output schema reduces the need to describe return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add any parameter-specific details beyond the schema, which already provides descriptions for monitor_id and api_key.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is for permanently deleting a monitor and stopping its scheduled runs, distinguishing it from disable_monitor by specifying the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use this tool (remove entirely) and when not (use disable_monitor to pause), providing clear guidance.

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

delete_projectAInspect

Delete a project.

By default the project's resources (jobs, monitors, etc.) are detached but kept. Set delete_resources=true to also delete the contained resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
project_idYesThe project ID to delete.
delete_resourcesNoIf true, also delete the project's resources (default false).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations provided, but description discloses that resources are detached by default and can be deleted with parameter. Does not cover auth, rate limits, or error cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, followed by crucial nuance. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are covered. Description is complete for a simple deletion tool, covering both default and optional behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description adds value by explaining the default behavior of delete_resources parameter beyond the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Delete a project' with specific verb and resource. Distinguishes from sibling tools like create_project and update_project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides default behavior (resources detached but kept) and optional flag to delete resources. Does not explicitly state when to use vs alternatives, but context is clear.

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

delete_webhookAInspect

Permanently delete a webhook endpoint.

Use when:

  • You want to remove a webhook from your account.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
webhook_idYesThe webhook ID to delete.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions 'permanently delete' but does not elaborate on prerequisites, side effects, or what the output contains. Important details like authentication requirements or impacts on related resources are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two sentences plus a one-line bullet. It is front-loaded with the main action, and every sentence serves a purpose. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with few parameters, and an output schema exists. However, the description lacks behavioral context (e.g., confirmation, error states) that would help an agent fully understand implications. It is minimally complete but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 describes both parameters. The description adds no extra meaning beyond 'webhook_id' and 'api_key' that is not in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Permanently delete a webhook endpoint.' This uses a specific verb and resource, and the 'Use when' section clarifies the scope. It distinguishes itself from sibling tools like create_webhook or update_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('Use when: - You want to remove a webhook from your account.'). It does not discuss when not to use it or provide alternatives, but the context is clear enough given the sibling tools.

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

disable_monitorAInspect

Disable a monitor to stop its scheduled runs.

The monitor can be re-enabled later with enable_monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
monitor_idYesThe monitor ID to disable

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so the description carries full burden. It discloses that the monitor stops scheduled runs and can be re-enabled, but lacks details on side effects (e.g., whether current runs are cancelled).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The key action is front-loaded, and the re-enable note is efficiently placed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given moderate complexity (2 params, 1 required) and presence of output schema, the description covers the core purpose and re-enable possibility. However, it could mention whether running jobs are affected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters (api_key, monitor_id). The description adds no additional semantic meaning beyond the schema, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Disable', the resource 'monitor', and the purpose 'to stop its scheduled runs'. It also implicitly distinguishes from the sibling 'enable_monitor' by mentioning re-enabling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when wanting to stop scheduled runs, but provides no explicit guidance on when to use versus other tools (e.g., deleting a monitor) nor any when-not-to-use conditions.

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

enable_monitorAInspect

Enable a previously disabled monitor to resume its scheduled runs.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
backfillNoOptional backfill behavior for resume.
monitor_idYesThe monitor ID to enable

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states basic behavior (enable and resume) without disclosing side effects, prerequisites, idempotency, or the effect of the backfill parameter. The output schema exists but is not described in the description, leaving 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with no filler. Every word adds value, making it highly efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of an output schema, the description is fairly complete. However, it could briefly mention the backfill parameter or error states, but these gaps are minor for a straightforward enable action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add any additional semantic information beyond the schema, meaning it meets the minimum requirement but does not enhance understanding of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('enable') and the resource ('previously disabled monitor'), and explicitly mentions resuming scheduled runs, which distinguishes it from sibling tools like disable_monitor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the monitor must be disabled beforehand ('previously disabled'), providing clear context for when to use. It does not explicitly exclude other scenarios or mention alternatives, but the implication is strong enough for an agent to infer correct usage.

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

get_datasetAInspect

Get a single dataset's details.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to retrieve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the basic action without disclosing behavioral traits such as read-only nature, idempotency, rate limits, or data caching. For a simple GET operation, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is front-loaded with the key action and resource, making it easily scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to detail return values. However, it lacks usage context like required permissions or typical scenarios, which would be helpful given the many sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions (dataset_id and api_key). It does not explain parameter specifics or usage tips.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('dataset's details'), clearly indicating the action and object. It naturally distinguishes from siblings like list_datasets (returns a list) and get_dataset_status (returns only status).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool vs alternatives (e.g., list_datasets, get_dataset_status). Usage is implied but not clarified for selection among many sibling tools.

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

get_dataset_statusBInspect

Get the status history of a dataset (e.g. its enrichment progress over time).

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to inspect.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose behavioral traits such as read-only nature, authentication requirements, rate limits, or what constitutes 'status history' (e.g., format, pagination). The minimal description leaves agents guessing about side effects and output structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with the purpose. Perfectly concise for the content it provides.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (not shown but confirmed), the description does not need to explain return values. However, the description is vague about 'status history'—the example helps but could be more precise. For a simple tool, it is minimally adequate but lacks depth.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters have descriptions in the schema). The description adds no extra semantic meaning beyond the schema; it only gives context via the enrichment example. Baseline 3 is appropriate as the schema already documents the parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'status history of a dataset' with a concrete example ('enrichment progress over time'). It uses a specific verb and resource, distinguishing it from siblings like get_dataset (which likely gets dataset details) and get_job_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., get_dataset, get_job_status). The description only provides an example context but no explicit when-to-use or 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.

get_entityAInspect

Get a single entity's details.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
entity_idYesThe entity ID to retrieve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

The description does not disclose behavioral traits such as permissions, rate limits, or error handling (e.g., what happens if entity not found). With no annotations provided, the description bears full burden but 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get-by-ID tool with 2 params and an output schema, the description is mostly complete. However, given numerous sibling tools, slightly more context on when to use this specific get tool would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (entity_id and api_key have descriptions in schema). The description adds no additional meaning beyond 'entity details', so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', a single resource 'a single entity', and the scope 'details', which distinguishes it from sibling tools like list_entities (multiple) and create_entity (create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives like get_dataset or get_project. The description implies retrieval by ID, but lacks when-not-to-use or prerequisite information.

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

get_job_statusAInspect

Check the status of a submitted job.

Call this after submit_query to see if your job is ready. Status progression: submitted -> analyzing -> fetching -> clustering -> enriching -> completed/failed

IMPORTANT: Jobs take several minutes to process. First check after ~1-2 minutes, then poll every 30-60 seconds. Broad searches can take 10-30+ minutes; for long jobs, poll every 60-120 seconds. Do NOT call this tool in a tight loop. Stop polling when status is completed or failed. Treat submitted, analyzing, fetching, clustering, and enriching as active states and continue polling.

You don't need to wait for completion to pull results. Partial results are available during enriching — call pull_results after ~2 minutes, then poll status every 30-60 seconds and pull again for fresher results. Do not stop pulling just because an intermediate pull is empty/unchanged. Use progress_validated vs candidate_records to track whether more results may still appear (progress_validated < candidate_records). If transport/session fails, resume using the same job_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID returned from submit_query
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

With no annotations, the description fully discloses behavior: status progression, expected durations, partial results during 'enriching', tracking via progress_validated vs candidate_records, and recovery on transport/session failure. It is thorough and transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear first sentence, followed by progression details and polling guidance. It is longer than strictly necessary but each sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers lifecycle, polling strategy, partial results, and error recovery. With an output schema available, full completeness is achieved. Only minor omission is explicit error cases, but overall exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning for parameters (e.g., 'CatchAll API key') but largely restates schema. No significant additional semantics beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Check the status of a submitted job' and explicitly ties it to after submit_query, clearly differentiating from sibling tools like pull_results. The verb+resource 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when to call (after submit_query), polling intervals (first check after 1-2 min, then every 30-60 sec), when to stop (completed/failed), and alternative for partial results (pull_results). Also warns against tight loops.

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

get_monitor_statusBInspect

Get the status history of a monitor.

Use when:

  • You want to see the timeline of a monitor's state changes (e.g. active, disabled, errored) and any related details.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
monitor_idYesThe monitor ID to inspect.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are present, so the description must fully disclose behavior. It fails to mention important aspects like read-only nature, error handling for invalid monitor IDs, pagination, or the depth of history returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with only two sentences and a 'Use when' list, front-loading the core purpose. No redundant information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to explain return values. However, it omits details on input validation, permission requirements, and the scope of the status history, making it minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage for parameters is 100%, so the description adds no extra meaning beyond the schema. Baseline 3 is appropriate as it adequately lists the parameters but does not elaborate on them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get the status history of a monitor' clearly identifies the verb and resource, and elaborates with 'timeline of a monitor's state changes', distinguishing it from siblings like 'get_monitor' or 'list_monitor_jobs'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' section provides context ('see timeline of state changes'), but lacks explicit guidance on when not to use this tool or mention of alternatives like 'list_monitor_jobs'.

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

get_projectBInspect

Get a single project's details.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
project_idYesThe project ID to retrieve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description should disclose behavioral traits such as that it is a read-only operation. It does not mention authentication requirements (though `api_key` is a parameter), side effects, or error handling. The description is too minimal to inform an agent about the tool's behavior beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one sentence, with no unnecessary words. It is front-loaded and efficient, conveying the core action immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, return values are covered. However, the description lacks any mention of usage context, behavioral transparency, or parameter nuances. For a simple read tool, it is minimally adequate but not fully complete as it omits guidance and behavioral cues.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters. The description adds no additional meaning beyond the schema, merely restating the purpose. A baseline of 3 is appropriate as it does not degrade or enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'project', and indicates a single project rather than a list. However, it does not differentiate from the sibling tool 'get_project_overview', which may have similar functionality, causing potential ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 does it mention any prerequisites or exclusions. The description is purely functional with no contextual usage advice.

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

get_project_overviewAInspect

Get a project's resource overview (counts grouped by resource type and status).

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
project_idYesThe project ID to summarize.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations exist, so description carries full burden. It clearly indicates a read-only operation ('Get') and explains the return type (counts). While minimal, it is sufficient for a simple data retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words, and the purpose is front-loaded. Perfect conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and only two parameters (one required), the description is complete enough to understand what the tool does and what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description does not add additional meaning beyond the schema fields; it only restates that project_id is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states the action (Get), resource (project's resource overview), and output (counts grouped by resource type and status). This clearly distinguishes it from sibling tools like list_project_resources or get_project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for obtaining a resource overview, but provides no explicit guidance on when to use it vs alternatives (e.g., list_project_resources) 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.

get_user_limitsAInspect

Retrieve plan features and current usage limits for your API key.

Use when:

  • You want to know how many records/jobs/monitors your plan allows.

  • You want to check current usage against plan limits before running a large job.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Retrieve' implying read-only, but does not explicitly disclose whether it requires special permissions, has side effects, or any rate limits. This is a significant gap for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences plus two bullet points, front-loaded with the core purpose. Every sentence is useful, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose and usage context well. Since an output schema exists, return values need not be detailed. It is complete for a straightforward read-only limits tool, though it could mention that limits are for the authenticated API key.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single optional 'api_key' parameter. The description only mentions 'your API key' in the first sentence, adding no new meaning beyond the schema. Baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'plan features and current usage limits' with a specific verb ('Retrieve') and resource. The 'Use when' bullet points further clarify its distinct role compared to siblings like get_dataset or get_entity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit 'Use when' scenarios (checking plan limits before large jobs), which is clear usage context. However, it lacks explicit when-not-to-use or alternative tools, though no direct siblings exist for this function.

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

get_versionAInspect

Get current API version.

This tool maps to GET /version and does not require an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoOptional CatchAll API key.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided. Description adds that it is a GET endpoint and does not require API key. However, it does not explicitly state it is read-only or side-effect free. Lacks details on rate limits or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero fluff, front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are covered. Description suffices for a trivial tool: purpose and auth requirement are clearly stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter description. Description reinforces that API key is optional, adding value beyond schema defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description starts with 'Get current API version' – clear verb and resource. Easily distinguishes from siblings like create_dataset, delete_dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States it maps to GET /version and does not require API key. This implies it is safe and always usable. No explicit when-not-to-use, but context is simple enough.

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

get_webhookAInspect

Retrieve the full configuration of a specific webhook.

Use when:

  • You want to inspect a webhook's URL, method, headers, or status by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
webhook_idYesThe webhook ID to retrieve.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool retrieves configuration, implying a read-only operation, but does not disclose any behavioral traits such as error handling, permission requirements, or rate limits. The description is adequate for a simple retrieval but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short, front-loaded sentences with no redundancy. Every word adds value: the first sentence states the action, the second provides specific use-case context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (retrieve by ID) and the presence of an output schema, the description is fairly complete. It covers the essential context of what the tool returns and when to use it. It could mention potential errors (e.g., webhook not found) but is sufficient for its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% parameter description coverage, so the schema already explains both parameters (api_key, webhook_id). The description does not add extra meaning beyond what is in the schema, resulting in a baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the full configuration of a specific webhook, specifying the verb 'Retrieve' and the resource 'webhook configuration'. It lists concrete attributes (URL, method, headers, status) that distinguish it from siblings like list_webhooks (which lists all webhooks) or test_webhook (which tests a webhook).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'when you want to inspect a webhook's URL, method, headers, or status by its ID.' This provides clear guidance on intended use cases, though it does not explicitly mention when not to use it or provide alternatives (e.g., use list_webhooks for listing).

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

get_webhook_historyAInspect

Get the webhook delivery history for a resource (job/monitor/monitor_group).

Use when:

  • You want to see past webhook delivery attempts and their outcomes for a specific job or monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
page_sizeNoNumber of results per page (default: 50, max: 500).
resource_idYesThe ID of the job/monitor/monitor_group.
resource_typeYesResource type: 'job', 'monitor', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, side effects, authorization requirements, or rate limits. The term 'Get' implies read-only, but explicit statement is missing, which is important for safe tool invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences with no redundant words. The first sentence states the core action, and the second provides a usage scenario. Every sentence is necessary and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema and schema covers all parameters, the description adequately covers purpose and usage context. However, it could mention that results are paginated or the return type, but output schema handles return value documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so parameters are well documented. The description adds no additional meaning beyond the schema (e.g., it only mentions resource_type and resource_id but no extra context). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves webhook delivery history for a resource, using specific verb and resource type. It distinguishes from sibling tools like 'get_webhook' which retrieves a single webhook configuration, and 'test_webhook' which triggers a test.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a 'Use when' section with a specific scenario: wanting to see past webhook delivery attempts and outcomes for a job or monitor. It provides clear context but does not explicitly mention when not to use or list alternatives.

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

initialize_queryAInspect

Preview suggested validators, enrichments, and date ranges before submitting.

Use when:

  • You want to inspect/edit auto-generated validators/enrichments before submitting.

  • You want to preview date adjustments via date_modification_message.

Do not use when:

  • You want to start processing immediately with final inputs (use submit_query).

Key behavior:

  • Preview-only endpoint: does not create a job and does not start processing.

  • Suggestions are LLM-generated and not deterministic across calls.

  • To reuse suggestions, pass them explicitly to submit_query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language query to preview (required). If you plan to attach a company dataset via `connected_dataset_ids` in the subsequent `submit_query`, do NOT reference the company list here — entity filtering is applied automatically by the dataset, not by the query text.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
contextNoOptional guidance on what to prioritize so suggested validators, enrichments, and dates align with your target data points. If a company dataset will be attached in `submit_query`, note that entity-relevance validators (e.g. `company_is_primary_subject`) will be auto-generated — do not ask for them here. Do not mention things like "company list will be attached". Focus on the event or topic only.
fetch_all_watchlist_newsNoWhen `True`, signals that the subsequent job will retrieve all news for connected watchlist entities without topic filtering. Pass this when you intend to use `fetch_all_watchlist_news=True` in `submit_query` so the previewed validators/enrichments are generated accordingly. Requires `connected_dataset_ids` to be set in `submit_query`. Default: `False`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

With no annotations, the description fully discloses behavior: preview-only, no job creation, non-deterministic suggestions, and reuse mechanism. This covers all critical behavioral traits with no contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with a summary line, then bullet points for usage and key behavior. Every sentence earns its place; no redundancy. Front-loaded with purpose makes scanning easy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 4 parameters and one required, the description covers all essential aspects: preview-only nature, how to reuse suggestions, and guidance on parameter usage. Existence of output schema reduces need to detail return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, meeting the baseline of 3. The description adds extra usage context beyond schema, such as how to handle entity-relevance validators and the purpose of each parameter in relation to the workflow.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool previews suggested validators, enrichments, and date ranges before submission. The specific verb 'preview' and resource are distinct from sibling tool 'submit_query', which is explicitly mentioned for contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' and 'Do not use when' sections give clear context. It names the alternative tool 'submit_query' and explains when to choose each, providing excellent guidance for selection.

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

list_dataset_entitiesBInspect

List the entities contained in a dataset.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
searchNoOptional text filter on entity name.
statusNoOptional status filter: 'pending', 'enriching', 'ready', or 'failed'.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
sort_byNoOptional sort field: 'created_at', 'name', or 'status'.
page_sizeNoNumber of results per page (default: 100).
dataset_idYesThe dataset ID whose entities you want.
sort_orderNoOptional sort direction: 'asc' or 'desc'.
entity_typeNoOptional type filter: 'company' or 'person'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided; the description does not mention read-only nature, pagination, output structure, or any side effects. The minimal description leaves behavioral traits undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. However, it is overly terse, sacrificing completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters (1 required) and an output schema, the description lacks critical context like pagination behavior, default sorting, or how results are structured. Insufficient for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds no additional meaning beyond the schema parameter descriptions. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List the entities contained in a dataset' uses a specific verb ('list'), resource ('entities'), and scope (dataset), clearly distinguishing it from siblings like 'list_datasets' and 'list_entities'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., 'list_entities', 'get_entity'). No context on prerequisites or scenarios.

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

list_datasetsCInspect

List your datasets.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
searchNoOptional text filter on the dataset name.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
sort_byNoOptional sort field: 'name', 'created_at', or 'status'.
ownershipNoOptional ownership filter: 'all', 'own', or 'shared'.
page_sizeNoNumber of results per page (default: 100, max: 1000).
project_idNoOptional filter to datasets belonging to a specific project.
sort_orderNoOptional sort direction: 'asc' or 'desc'.
latest_statusNoOptional status filter: 'pending', 'enriching', 'ready', or 'failed'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits, but it only states the action. It does not mention that the operation is read-only, uses pagination, or requires any authentication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (4 words) and front-loaded, but it lacks substantive information that would make it more helpful. It is not verbose, but it is under-informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 parameters and an output schema, the description should mention pagination or filtering capabilities. It is incomplete and fails to set expectations for the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the description does not need to add parameter details. It adds no semantic value beyond what the schema already provides, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List your datasets' clearly states the verb (list) and resource (datasets), indicating the tool's purpose. However, it does not distinguish itself from sibling tools like 'get_dataset' or 'list_dataset_entities'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description is minimal and offers no context about prerequisites or exclusions.

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

list_entitiesCInspect

List your entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
searchNoOptional text filter on entity name.
statusNoOptional status filter: 'pending', 'enriching', 'ready', or 'failed'.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
sort_byNoOptional sort field: 'created_at', 'name', or 'status'.
page_sizeNoNumber of results per page (default: 100, max: 1000).
sort_orderNoOptional sort direction: 'asc' or 'desc'.
entity_typeNoOptional type filter: 'company' or 'person'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only says 'List your entities,' which does not disclose behavioral traits like pagination, authentication, rate limits, or what 'your entities' means. Parameters hint at pagination, but the description 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only one sentence, which is concise, but it is under-specified for a tool with 8 optional parameters. Conciseness should not come at the expense of utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (reducing need to describe returns), the description is too minimal given the tool's complexity (8 parameters). It does not explain typical usage, defaults, or how parameters interact, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all parameters have descriptions). The description adds no extra meaning beyond the parameter descriptions, but the high coverage means the schema already does the job. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description says 'List your entities.' It is clear that the tool lists entities, but it does not specify which entities (e.g., all user entities vs. entities in a dataset). Among siblings like list_dataset_entities, the scope is ambiguous. It is not a tautology, but the purpose is vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool instead of alternative list tools such as list_dataset_entities or list_projects. The description provides no context for usage decisions.

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

list_monitor_jobsAInspect

List all jobs spawned by a monitor.

Returns the history of scheduled runs for a monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort order by start_date: 'asc' (default) or 'desc'asc
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
monitor_idYesThe monitor ID to list jobs for

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

Given no annotations, the description carries the full burden. It indicates a read operation ('List', 'Returns the history') and implies non-destructive behavior. The statement is sufficient for transparency, though terms like 'read-only' are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences. Each sentence adds essential information: action and result. No redundant or extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose and return type. With an output schema present, return values are not needed. While it omits pagination or sorting details, the low complexity (3 params, 1 required) makes the description adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; it does not clarify parameter relationships, usage hints, or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List all jobs spawned by a monitor') and the result ('Returns the history of scheduled runs'). It uses a specific verb and resource, effectively distinguishing from siblings like 'list_user_jobs'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (monitor-specific job listing) but does not explicitly state when to use this tool over alternatives (e.g., 'list_user_jobs'). No 'when not to use' or prerequisite guidance is provided.

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

list_monitorsAInspect

List all your monitors.

Returns all monitors with their schedule, status, reference query, and webhook config.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
searchNoOptional text filter on the monitor query.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
ownershipNoOptional ownership filter: 'all', 'own', or 'shared'.
page_sizeNoNumber of results per page (default: 100, max: 1000).
project_idNoOptional filter to monitors belonging to a specific project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, description notes it returns all monitors with schedule, status, query, and webhook config, implying a read operation. However, it does not explicitly state it is read-only or mention auth requirements (api_key parameter details are in schema, not description).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. Front-loaded with action verb and clear purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given full schema documentation and output schema existence, description adequately covers purpose and output. Lacks usage guidance but sufficient for basic tool understanding. Missing depth on pagination and filtering is compensated by schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds no extra parameter meaning beyond the schema; it only summarizes output fields, not parameter effects.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List all your monitors' with specific verb+resource. It distinguishes from siblings like create_monitor, delete_monitor, etc., by focusing on listing monitors with details on returned fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like get_monitor_status or list_monitor_jobs. It implies usage for general listing but lacks contextual advice on filtering or pagination.

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

list_project_resourcesBInspect

List the resources contained in a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
page_sizeNoNumber of results per page (default: 100, max: 1000).
project_idYesThe project ID whose resources you want.
resource_typeNoOptional filter: 'job', 'monitor', 'dataset', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so description carries burden. It mentions listing resources but does not disclose pagination, filtering, or side effects. Input schema covers parameter details, so agent can infer behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence that front-loads the purpose with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema and sibling tools, the description is minimal. It does not explain what 'resources' entails (e.g., datasets, monitors, jobs), but the resource_type parameter hints at options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is described. The tool description adds no extra meaning beyond the schema, meeting baseline expectations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists resources in a project, with a specific verb and resource. However, it does not differentiate from siblings like 'list_datasets' or 'list_monitors', though the name implies project-level scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. No exclusions or context provided to help the agent decide.

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

list_projectsBInspect

List your projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
searchNoOptional text filter on the project name.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
ownershipNoOptional ownership filter: 'all', 'own', or 'shared'.
page_sizeNoNumber of results per page (default: 100, max: 1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided; description lacks disclosure of side effects, rate limits, or authentication details. Does not mention pagination behavior or return format despite output schema existing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no waste. Front-loaded with purpose. Could include more detail without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description is too minimal given 5 parameters, no annotations, and existing output schema. Does not explain pagination, search filtering, or ownership filter behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema provides 100% coverage with descriptions for all 5 parameters. Description adds no additional meaning beyond schema, resulting in baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List your projects' with a specific verb and resource. Distinguishes from siblings like get_project (singular) and list_datasets (different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., list_datasets, get_project). No conditions or exclusions mentioned.

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

list_resource_webhooksAInspect

List the webhooks mapped to a specific resource (job/monitor/monitor_group).

Use when:

  • You have a job or monitor ID and want to know which webhooks will fire for it.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
is_activeNoOptional filter — only active (true) or inactive (false) webhooks.
page_sizeNoNumber of results per page (default: 100, max: 1000).
resource_idYesThe ID of the job/monitor/monitor_group.
resource_typeYesResource type: 'job', 'monitor', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It fails to mention that the tool is read-only, does not explain pagination behavior (though page/page_size parameters exist), and lacks details on filtering or potential rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences and a bullet point. Every word adds value, with no filler or repetition. Front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, the description does not need to explain return values. However, it omits details about pagination and the optional is_active filter, which are present in the schema. For a tool with 6 parameters, the description is somewhat minimal but still covers the essential use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add additional meaning beyond the schema; it only reinforces that resource_type and resource_id are needed. No extra guidance on parameter values or usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List webhooks) and the specific resource types (job, monitor, monitor_group). It differentiates from sibling tools like list_webhooks and list_webhook_resources by emphasizing the resource-specific mapping.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides a 'Use when' condition, stating the prerequisite of having a job or monitor ID. It does not explicitly mention when not to use or name alternatives, but the condition effectively guides appropriate usage.

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

list_user_jobsAInspect

List all jobs submitted by you.

Returns your job history with IDs, queries, statuses, and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1)
searchNoOptional text filter on the job query.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
ownershipNoOptional ownership filter: 'all', 'own', or 'shared'.
page_sizeNoNumber of results per page (default: 100, max: 1000)
project_idNoOptional filter to jobs belonging to a specific project.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided. Description implies a read-only operation but does not explicitly state side effects, permissions, or rate limits. Adequate but could be more transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with front-loaded purpose. No wasteful words, each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full parameter schema and output schema present, description covers core purpose and return fields. Could mention pagination behavior but not critical for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and parameters are well-documented. Description adds no extra meaning beyond confirming return fields, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists jobs submitted by the user, with specific fields returned (IDs, queries, statuses, timestamps). This distinguishes it from sibling tools like delete_job or list_monitor_jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. No explicit when-not-to-use or comparison with other listing tools like list_monitor_jobs.

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

list_webhook_resourcesAInspect

List the resources mapped to a webhook.

Use when:

  • You want to see which jobs/monitors a webhook is attached to.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
page_sizeNoNumber of results per page (default: 100, max: 1000).
webhook_idYesThe webhook ID whose resource mappings you want.
resource_typeNoOptional filter: 'job', 'monitor', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like pagination or data limits, but it only states the basic listing action without additional details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loaded with the action, and every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool, the description covers the main purpose but misses pagination details; however, the input schema handles parameter explanations, and an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already described; the description adds no new meaning beyond mentioning 'jobs/monitors' which aligns with resource_type but doesn't enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'resources mapped to a webhook', and specifically mentions 'jobs/monitors', making the purpose distinct from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear 'Use when' context for viewing webhook attachments, but does not explicitly mention when not to use or name alternatives like list_resource_webhooks.

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

list_webhooksAInspect

List all your webhooks.

Use when:

  • You want to see all webhook endpoints configured in your account.

  • You need to find a webhook_id to pass to monitors (via webhook_ids) or jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
page_sizeNoNumber of results per page (default: 100, max: 1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description must carry behavioral context. It does not disclose pagination behavior, authentication requirements, return format, or potential side effects. The output schema exists but is not referenced. For a listing tool, minimal behavioral info is given beyond purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one purpose sentence and a two-point bullet list. Every sentence adds value, and the structure front-loads the purpose. No redundant or filler words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity of listing webhooks, the schema covers parameters, and output schema exists, the description is fairly complete. It lacks details on authentication and pagination specifics, but these are in the schema. The description adequately covers when to use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter has a description. The description adds minimal value by implying pagination parameters via the use case (finding a webhook_id suggests pagination may be needed), but doesn't explain them further. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all your webhooks' with a specific verb and resource. It distinguishes from siblings like get_webhook (single) and others via the use case 'find a webhook_id to pass to monitors (via webhook_ids) or jobs.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use when' section explicitly describes two scenarios: seeing all endpoints and needing a webhook_id. This clearly indicates when to use this tool over alternatives like get_webhook. It stops short of explicitly stating when not to use it, but the guidance is strong.

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

pull_job_csvAInspect

Download a job's results as a CSV file.

Use when:

  • You want the full job output as a CSV for offline analysis or export.

  • Prefer this over pull_results when the consumer needs spreadsheet/CSV format.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe job ID to download as CSV.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool downloads a CSV file, implying a read operation, but does not disclose potential constraints (e.g., job must be completed, size limits, encoding). This is adequate for a simple download but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences and a bullet, well-structured and front-loaded. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (context signal true), the description does not need to explain return values. It adequately covers purpose and usage. However, it could mention that the job must be in a completed state, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% of parameters with descriptions. The tool description adds no additional parameter-level meaning beyond what the schema provides, so it meets the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Download', identifies the resource 'job's results', and specifies the format 'CSV file'. It also distinguishes from the sibling tool `pull_results` by noting the CSV format preference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use scenarios: 'when you want the full job output as a CSV' and preference over `pull_results` for CSV. However, it does not give negative guidance (when not to use) or mention prerequisites like job completion.

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

pull_monitor_csvAInspect

Download the latest monitor run's results as a CSV file.

Use when:

  • You want the most recent monitor run output as a CSV for offline analysis or export.

  • Prefer this over pull_monitor_results when the consumer needs spreadsheet/CSV format.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
monitor_idYesThe monitor ID to download results for.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only describes the basic action without revealing whether it's read-only, any side effects, authentication requirements, or rate limits. This is minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences and two bullet points, front-loaded with the main action. Every sentence adds value, and the structure is clear and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and full parameter schema coverage, the description is adequate. It clearly states the tool's purpose and usage context, though it could elaborate slightly on what constitutes the 'latest monitor run'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage for both parameters, each with descriptions. The description does not add extra semantics beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Download' and resource 'the latest monitor run's results as a CSV file'. It also distinguishes from sibling tool `pull_monitor_results` by specifying CSV format, making its unique purpose clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' conditions and offers a comparison with `pull_monitor_results` for CSV needs. While it doesn't explicitly state when not to use, the guidance is sufficient for correct tool selection.

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

pull_monitor_resultsAInspect

Retrieve the latest results from a monitor.

Returns the most recent run's results including run_info, records, and all_records.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
monitor_idYesThe monitor ID to pull results from

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description must fully disclose behavior. It states returns run_info, records, and all_records, implying a read-only operation. However, it does not mention potential side effects, authentication requirements beyond API key, or rate limits. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each essential. First sentence states core purpose, second details return fields. No extraneous information, front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given low tool complexity (2 params, simple return) and presence of output schema, the description adequately covers intent and basic return structure. Mentioning specific fields (run_info, records, all_records) adds value. Lacks edge-case handling like no results, but acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and descriptions for both parameters (api_key, monitor_id) are clear in the schema. The tool description adds no additional meaning beyond what schema provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'Retrieve' and resource 'latest results from a monitor'. It clearly distinguishes from sibling tools like pull_monitor_csv (returns CSV) and pull_results (generic) by specifying it's for the most recent run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for obtaining latest results but does not explicitly state when to use this tool versus alternatives or any prerequisites. No exclusions or when-not-to-use guidance provided.

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

pull_resultsAInspect

Retrieve the results of a job.

Can be called before completion for partial results, or after completion for the full set. Returns clustered, validated, and enriched web results. While job status is active, call this repeatedly (typically page=1) to refresh partial output. When job reaches completed, iterate all pages. If job fails, call once more to capture any partial output.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1). Use total_pages from the response to iterate through all results.
job_idYesThe job ID returned from submit_query
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
page_sizeNoNumber of records returned per page (default: 100, max: 1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

With no annotations provided, the description fully discloses behavior: returns 'clustered, validated, and enriched web results,' explains partial vs complete retrieval, pagination iteration, and failure handling. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with no wasted words. It uses clear structure: a one-sentence purpose, followed by scenarios and usage strategy. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema, the description does not need to explain return values. It covers all essential aspects: when to call, pagination, job states, and error handling. Complete for a results retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all 4 parameters, so baseline is 3. The description does not add additional meaning beyond the schema for parameters like page, job_id, api_key, or page_size.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a clear verb and resource: 'Retrieve the results of a job.' It distinguishes from siblings like continue_job or get_job_status by focusing on result retrieval rather than job lifecycle or status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to call (before completion for partial results, after for full, on failure for final attempt) and pagination strategy (page=1 during active, iterate pages after completed). It does not explicitly name alternative tools but the context is clear.

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

remove_dataset_entitiesAInspect

Remove entities from a dataset (the entities themselves are not deleted).

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to remove entities from.
entity_idsYesList of entity IDs to remove (required).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so the description carries full burden. It discloses the key behavioral trait (entities are not deleted) but omits other details like idempotency, error handling, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is concise, front-loaded, and contains no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and full parameter coverage, the description is fairly complete for a simple removal tool, though it could benefit from usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (remove), the resource (entities from a dataset), and a critical nuance (entities themselves are not deleted). This distinguishes it from sibling tools like delete_entity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for dissociating entities from a dataset without deletion, but it lacks explicit when-to-use or when-not-to-use guidance relative to siblings like delete_entity or remove_project_resource.

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

remove_project_resourceAInspect

Remove a single resource from a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
project_idYesThe project ID to remove the resource from.
resource_idYesThe ID of the resource to remove.
resource_typeYesResource type: 'job', 'monitor', 'dataset', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, and the description only states the action without disclosing side effects, required permissions, or reversibility. The input schema specifies parameters but adds no behavioral context beyond the bare action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and full parameter descriptions, the description is adequate but could provide more context about prerequisites or return behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 tool description does not add any additional meaning beyond what the schema already provides for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Remove') and the resource ('single resource from a project'), distinguishing it from sibling tools like 'add_project_resources' and 'remove_dataset_entities' by specifying the target as a project resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for removing resources from projects but lacks explicit guidance on when to use this tool versus alternatives, prerequisites like resource existence, or error scenarios.

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

remove_webhook_resourceAInspect

Unmap a resource from a webhook.

Use when:

  • You want to stop a webhook from firing for a specific job or monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
webhook_idYesThe webhook ID to detach the resource from.
resource_idYesThe ID of the mapped job/monitor/monitor_group.
resource_typeYesResource type: 'job', 'monitor', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, and the description only says 'Unmap a resource from a webhook.' It does not disclose side effects, prerequisites, or what happens to the webhook's configuration. More detail is needed for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. The first sentence defines the action, the second provides a usage scenario. Information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Has an output schema, but the description omits return behavior and error conditions. While acceptable for a simple operation, it could be more helpful with behavioral details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are well-documented in the schema. The description adds no additional meaning beyond naming the resource types, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'unmap' clearly indicates the action of removing a resource from a webhook. Among siblings like assign_webhook_resource and list_webhook_resources, this tool's purpose is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: to stop a webhook from firing for a specific job or monitor. Does not mention when not to use or alternatives, but the given context is adequate.

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

submit_queryAInspect

Create a new CatchAll processing job from a natural-language query.

Use when:

  • You want to start a new CatchAll web research run from a user query.

  • You want the API to fetch/process sources and then return structured results.

Do not use when:

  • You want status for an existing job (use get_job_status).

  • You want records for an existing job (use pull_results).

Key rules:

  • query is required.

  • You can submit with only query; omitted optional fields (validators, enrichments, start_date, end_date) are auto-selected/generated by the API.

  • Optional fields are independent: you can pass any subset (for example, custom validators but no enrichments), and omitted fields are still auto-selected/generated.

  • When connected_dataset_ids is set, the query must describe the topic or event type only (e.g. "M&A activity", "regulatory filings", "executive changes"). Do NOT write things like "for my companies", "for the selected list of companies", or "news about my watchlist" — the entity filtering is applied automatically by the connected dataset. Mentioning companies in the query when a dataset is attached is redundant and degrades retrieval quality.

  • When connected_dataset_ids is set, entity-relevance validators (e.g. company_is_primary_subject) are generated automatically by the API. Do NOT add them manually to validators — they are redundant and may conflict with the auto-generated ones. Only pass validators that describe the event or topic, not entity filtering.

  • start_date and end_date filter by web page discovery date, not event date.

  • Discovery dates and extracted event dates can differ. For event-time accuracy, use event-focused validators/enrichments and verify event_date in pulled results.

  • end_date must be after start_date.

  • Dates outside your plan lookback limits return API 400.

  • limit controls processed record count (cost-affecting). Omit it to retrieve everything up to your plan's maximum. If provided, must be >= 10.

  • validators / enrichments may be passed either as arrays or as JSON-string arrays (for client compatibility).

  • validators[].type must be boolean (if omitted, it defaults to boolean).

  • enrichments[].type supported values: text, number, date, option, url, company.

Basic examples:

  • validators: [{"name":"is_acquisition_event","description":"true if page describes an acquisition","type":"boolean"}]

  • enrichments: [{"name":"acquiring_company","description":"Extract acquiring company","type":"company"},{"name":"deal_value","description":"Extract announced deal value","type":"number"}]

Next step:

  • Save the returned job_id.

  • Poll get_job_status and call pull_results (partial results can appear before completion).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOptional job processing mode: `"lite"` (faster, lower cost, less detail) or `"base"` (default, full extraction). If omitted, the API defaults to `"base"`.
limitNoOptional processing cap (minimum 10); affects cost. Omit to retrieve everything up to your plan's maximum.
queryYesPlain text search intent (required).
schemaNoOptional advanced custom JSON schema string that overrides the default extraction schema. Use `initialize_query` to discover a suitable schema.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
contextNoOptional guidance on what to prioritize (for example, target entities, event types, and specific data points you want captured in enrichments). If a company dataset will be attached, note that entity-relevance validators (e.g. `company_is_primary_subject`) will be auto-generated — do not ask for them here. Do not mention things like "company list will be attached".
end_dateNoOptional ISO 8601 UTC end of search window.
project_idNoOptional project ID to associate this job with.
start_dateNoOptional ISO 8601 UTC start of search window.
validatorsNoOptional custom boolean validators (`name`, `description`, `type`), as array or JSON-string array. When `connected_dataset_ids` is set, do NOT include entity-relevance validators such as `company_is_primary_subject` — the API generates those automatically. Only add validators that describe the event or topic (e.g. `is_acquisition_event`).
enrichmentsNoOptional custom enrichments (`name`, `description`, `type`), as array or JSON-string array.
webhook_idsNoOptional list of webhook IDs to notify when the job completes (max 5 per job). Use `list_webhooks` / `create_webhook` to get IDs.
ed_score_minNoOptional minimum entity-domain relevance score (1-10). Only relevant when `connected_dataset_ids` is set.
ed_association_typeNoOptional filter on how strongly a watchlist entity must appear in each event. Only relevant when `connected_dataset_ids` is set. - `"event_associated"`: keep only events where the entity is a **direct actor** (default when connected_dataset_ids is set). - `"mention"`: keep all even where the entity is **merely referenced**.
connected_dataset_idsNoOptional list of dataset IDs whose entities narrow the retrieval scope. When set: (1) entity filtering is applied automatically — do NOT mention the company list or watchlist in `query`; (2) entity-relevance validators such as `company_is_primary_subject` are generated automatically — do NOT add them to `validators`. `ed_score_min` defaults to 2 if not provided.
fetch_all_watchlist_newsNoWhen `True`, retrieves **all** news for connected watchlist entities without applying topic filtering from `query`. Requires `connected_dataset_ids` to be set. Default: `False`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

Given no annotations, the description fully covers behavioral aspects: job creation, auto-generation of validators when datasets attached, error conditions (API 400), cost implications, and client compatibility for validators/enrichments. It also explains the distinction between discovery dates and event dates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections, bullet points, and examples, though slightly verbose. It is front-loaded with purpose and usage, but some details could be more concise. Still effectively organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is comprehensive for a complex tool with 16 parameters, conditional logic, and interactions. It covers next steps (polling), error conditions, cost, client compatibility, and references siblings. Output schema exists, so return value explanation is not needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Though schema coverage is 100% (baseline 3), the description adds substantial context: auto-selection of omitted fields, query construction rules with datasets, interaction between validators and datasets, date semantics, limit constraints, and format examples. This greatly exceeds schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a new CatchAll processing job from a natural-language query. It distinguishes from siblings like get_job_status and pull_results, and specifies the input requirement (query).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Do not use when' sections with alternatives (get_job_status, pull_results). It also gives detailed rules for constructing queries with or without connected_dataset_ids, handling validators, and date constraints.

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

test_webhookAInspect

Send a test delivery to a webhook endpoint.

Use when:

  • You want to verify a webhook URL is reachable and correctly configured before attaching it to a monitor or job.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
payloadNoOptional custom JSON object to send as the test body. If omitted, the API sends a default sample payload.
webhook_idYesThe webhook ID to test.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'Send a test delivery' without clarifying side effects, idempotency, permissions, or response behavior. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: one clear purpose statement and one bullet for usage. It is front-loaded with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not detail return values. However, it lacks any behavioral context (e.g., success/failure behavior, side effects) which would be valuable given no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters well. The description does not add new meaning beyond the schema, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends a test delivery to a webhook endpoint, specifying the action and resource. It distinguishes from siblings like create_webhook or trigger_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when' to verify a webhook URL before attaching to a monitor or job, providing clear context. It could be improved by explicitly contrasting with similar tools like trigger_webhook.

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

trigger_webhookAInspect

Manually trigger webhook delivery for a resource (job/monitor/monitor_group).

Use when:

  • You want to (re-)send a webhook delivery on demand instead of waiting for the automatic dispatch — e.g. to replay a missed or failed delivery.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNoOptional job ID whose payload should be delivered (e.g. a specific monitor run's job). If omitted, the API picks the resource's payload itself.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
webhook_idYesThe webhook ID to deliver through.
resource_idYesThe ID of the job/monitor/monitor_group to trigger delivery for.
resource_typeYesResource type: 'job', 'monitor', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, so description carries full burden. It states it triggers delivery but does not disclose side effects, idempotency, rate limits, or consequences of multiple triggers. Lacks details beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a bullet, front-loaded with core purpose. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists and schema covers all params, so basic completeness is adequate. However, missing behavioral details like idempotency and failure modes reduce completeness for a manual trigger tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. Description adds no extra meaning beyond restating that resource types are job/monitor/monitor_group. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'trigger' and resource 'webhook delivery for a resource (job/monitor/monitor_group)', distinguishing it from automatic dispatch. It contrasts with sibling tool 'test_webhook' by emphasizing on-demand delivery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when:' section gives a clear scenario: replaying missed or failed deliveries. However, it does not mention when not to use or compare with sibling tools like 'test_webhook'.

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

update_datasetBInspect

Update a dataset's name and/or description.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional new dataset name.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to update.
descriptionNoOptional new dataset description.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states 'update', implying mutation, but does not mention authentication requirements, idempotency, partial update behavior, or any side effects. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is clear and concise. Every word is necessary, and there is no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with an output schema, the description provides the core purpose but lacks usage context, error handling notes, or preconditions (e.g., dataset must exist). 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal value beyond restating 'name and/or description', which is already clear from the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update a dataset's name and/or description', which specifies the verb (update), resource (dataset), and the specific attributes that can be modified. This distinguishes it from sibling tools like create_dataset, delete_dataset, and get_dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., update_entity, update_project). There are no prerequisites, exclusions, or context for when updating a dataset is appropriate.

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

update_entityBInspect

Update an entity's name, description, external_entity_id, and/or attributes.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional new entity name.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
entity_idYesThe entity ID to update.
descriptionNoOptional new description.
external_entity_idNoOptional customer-supplied identifier linking this entity to an external system's record (new in 1.6.3).
additional_attributesNoOptional updated structured attributes (see `create_entity` for the company_attributes shape).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, and the description gives no behavioral traits beyond stating it updates fields. It does not disclose side effects, permissions, idempotency, or behavior for partial updates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence with all essential information about what the tool updates. No extraneous words; purpose is immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters (1 required) and that an output schema exists, the description is adequate but minimal. It could mention return value behavior or required permissions, but the param coverage and output schema reduce the need significantly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional semantic meaning beyond listing some field names, so it meets the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it updates specific fields (name, description, external_entity_id, attributes) of an entity. It distinguishes from sibling tools like create_entity and delete_entity by specifying the update action and the exact fields modifiable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as create_entity or other update tools. No mention of prerequisites, conditions, or when not to use it.

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

update_monitorAInspect

Update a monitor's webhook assignments and per-run limit.

Note: schedule and reference_job_id cannot be modified through this endpoint. Webhooks are centralized — pass webhook IDs (from create_webhook/list_webhooks).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional updated maximum records per run (minimum 10).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
monitor_idYesThe monitor ID to update
webhook_idsNoOptional list of webhook IDs to assign to this monitor. Pass an empty list `[]` to clear all webhook assignments.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that webhooks are centralized and IDs must come from create_webhook/list_webhooks, and that empty list clears assignments. But it does not explicitly state that updating replaces existing assignments or mention any permissions, idempotency, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two sentences plus a concise note, front-loaded with the main action. Every sentence adds value with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 parameters, 1 required, and an output schema present, the description covers the main action and key limitations. It notes what cannot be modified and hints at webhook usage. Missing explicit statement about replacement behavior for webhook assignments, but otherwise sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with good parameter descriptions. The description adds value by noting webhook IDs source and that schedule/reference_job_id cannot be modified, but these are not parameter-specific. Overall, the description adds minor context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Update a monitor's webhook assignments and per-run limit' with specific verb and resource, and distinguishes from sibling tools like update_dataset, update_entity by focusing on monitor-specific fields like webhook IDs and limit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage when you need to update webhook assignments or limit, and notes what cannot be modified (schedule, reference_job_id). However, no explicit when-to-use vs alternatives or exclusion criteria are provided.

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

update_projectAInspect

Update a project's name and/or description.

Only the fields you provide are changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional new project name.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
project_idYesThe project ID to update.
descriptionNoOptional new project description.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the full burden. It mentions partial update behavior ('Only the fields you provide are changed'), which is good, but does not disclose other behavioral traits like idempotency, error handling, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loads the purpose, and contains no wasted words. It is efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with an output schema, the description provides the core functionality and partial update behavior. It could mention error handling or prerequisites but is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that fields are partially updated, going beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates a project's name and/or description, which is a specific verb and resource. It distinguishes from sibling tools like create_project and delete_project by specifying the update action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to update a project's name/description) but does not explicitly state when not to use or provide alternatives. However, given the tool's name and sibling context, usage is clear.

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

update_webhookAInspect

Update an existing webhook's configuration.

Use when:

  • You want to change a webhook's URL, method, headers, or other settings.

  • You want to enable or disable a webhook (set is_active).

  • Only the fields you provide are updated; omitted fields remain unchanged.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoUpdated target URL.
authNoUpdated auth object. One of: - {"type": "bearer", "token": "..."} - {"type": "api_key", "header": "X-API-Key", "value": "..."} - {"type": "basic", "username": "...", "password": "..."}
nameNoUpdated webhook name.
typeNoUpdated webhook type: 'generic', 'slack', 'teams', or 'custom'.
methodNoUpdated HTTP method: one of GET, POST, PUT, PATCH, DELETE.
paramsNoUpdated dict of query string parameters.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
headersNoUpdated dict of custom HTTP headers.
is_activeNoSet to false to disable the webhook (stop deliveries), true to re-enable it.
webhook_idYesThe webhook ID to update.
delivery_modeNoUpdated delivery mode: 'full' or 'per_record'.
formatter_configNoUpdated formatter configuration dict.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that updates are partial (only provided fields change) and that is_active can enable/disable. However, it does not mention idempotency, side effects, permissions required, or whether the webhook must exist. The partial update detail is helpful but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences and a bulleted list. The purpose is front-loaded, and every sentence adds value. No redundant or vague phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters, no annotations, and an existing output schema, the description covers usage scenarios well. It explains partial updates and common use cases. It does not mention prerequisites (e.g., webhook must exist) or error conditions, but these are reasonable omissions for an update tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 detailed description (e.g., auth object formats, method enums). The description adds high-level context (URL, method, headers, is_active) but does not add new meaning 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.

Purpose5/5

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 ('an existing webhook's configuration'). The 'Use when' bullets further clarify the scope. It distinguishes from siblings like create_webhook, delete_webhook, test_webhook, etc., by specifying modification of existing configurations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' bullets listing specific scenarios (changing URL, method, enabling/disabling). It also clarifies partial update behavior ('Only the fields you provide are updated'). However, it does not explicitly state when not to use this tool or mention alternatives (e.g., creating a new webhook instead).

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

validate_queryAInspect

Check the quality of a query before submitting a job ("Check Query Quality").

Use when:

  • You want quick feedback on whether a query is well-formed for CatchAll before spending credits on a job.

  • You want concrete suggestions to improve a vague or overly broad query.

Do not use when:

  • You want to preview auto-generated validators/enrichments (use initialize_query).

  • You want to actually run a search (use submit_query).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe natural-language query to assess (required).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that the tool provides 'quick feedback' and 'concrete suggestions' without spending credits (implies non-destructive). However, it does not mention rate limits, cost, or whether it runs a partial query. Still fairly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with clear sections and front-loaded purpose. While slightly verbose (e.g., repeating 'Check Query Quality' in quotes), every sentence adds value. Could be slightly more concise but overall good.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and presence of output schema, description covers purpose, usage, and alternatives. Does not need to explain return values. Complete for a validation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline is 3. The description adds no extra meaning beyond the schema; it merely echoes the parameter descriptions ('natural-language query', 'CatchAll API key'). No additional semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check the quality of a query before submitting a job'. It uses specific verbs ('check', 'validate') and resource ('query quality'), and explicitly distinguishes from siblings like 'initialize_query' and 'submit_query'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' and 'Do not use when' sections, giving clear context and naming alternatives (initialize_query, submit_query). This is exemplary guidance for an agent.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources