Skip to main content
Glama

CatchAll (by NewsCatcher)

Ownership verified

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
Behavior1/5

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

The description fails to disclose any behavioral aspects such as side effects, auth requirements, idempotency, or error conditions. Given no annotations are present, the description carries the full burden and does not meet it.

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 concise sentence with no wasted words. However, it could be slightly expanded to include essential usage context 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 simple parameter structure and presence of an output schema, the description is minimally complete but lacks behavioral and usage guidance, which are needed for a mutation 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 the schema already describes all parameters adequately. The description adds no additional semantic detail beyond what the schema provides, earning a baseline score.

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 action (add) and resource (entities to a dataset), distinguishing it from creation tools like create_entity or create_entities_batch. However, it does not explicitly differentiate from sibling tools like add_project_resources or remove_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 guidelines are provided on when to use this tool versus alternatives, nor any prerequisites or conditions. The description only implies usage for adding existing entities, but offers no exclusions or context.

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

add_project_resourcesAInspect

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 exist, so description must provide behavioral details. It does not disclose side effects, permissions, rate limits, or behavior if resources already exist (e.g., error or overwrite). This is insufficient for safe 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?

A single, concise sentence with no redundant information. All words are necessary and the structure is 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 that the schema covers parameters and an output schema exists, the description is minimally complete for a simple addition tool. However, lack of behavioral transparency lowers 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% with descriptive parameter definitions. The description adds no extra meaning beyond what the schema provides, meeting the baseline but not exceeding it.

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 one or more resources to a project.' It uses a specific verb and resource, and distinguishes 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 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 vs alternatives or prerequisites. The description implies usage for adding resources but lacks context on conditions like project existence or idempotency.

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?

No annotations provided, so description bears full burden. Discloses parsing, appending, duplicate skipping, and column requirements. Could mention potential side effects or error conditions but adequately covers 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?

Four sentences, front-loaded with purpose. No redundant or unnecessary information. 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?

Covers core behavior, required columns, sibling distinction, and duplicate handling. Output schema exists for return values. Lacks mention of error handling or performance constraints, but sufficient for typical 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 coverage is 100%, so baseline is 3. Description adds context about CSV format (columns required) but does not significantly enhance parameter understanding beyond what 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?

Description clearly states the tool appends entities from a CSV to an existing dataset, using a specific verb and resource. It distinguishes itself from the sibling tool 'create_dataset_from_csv' by explicitly stating when to use that 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 when-to-use (append from CSV) and when-not-to-use (use create_dataset_from_csv for new datasets). Also details row requirements (name column required, domain/description optional) and notes duplicate handling.

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?

No annotations provided, and description lacks behavioral details like idempotency, overwrite behavior, permission requirements, or limits. Agent may not know if re-mapping replaces or errors.

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 short impactful sentences, front-loaded with action and context. No extraneous 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 output schema exists, description covers core operation. Lacks side-effects or error conditions, but adequate for the simple mapping task.

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 covers 100% of parameters. Description mainly restates schema info (e.g., resource types). Adds minimal value 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?

States verb 'map' and clearly specifies resources (job, monitor, monitor_group) to webhook. Distinguishes from sibling tools like create_webhook or list_webhooks.

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 explicit 'Use when' clause indicating the scenario. No mention of when not to use or alternatives, but clear enough for common cases.

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, but description clarifies auth requirement (no API key) and maps to a GET endpoint, implying read-only nature. Sufficient for a simple health check.

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. Front-loaded with purpose, then provides endpoint mapping and auth info.

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?

Complete for a health check tool: purpose, HTTP method, auth requirement noted. Output schema exists, so return details not needed in description.

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 covers 100% of parameters. Description adds value by explaining that the optional API key is not required, beyond schema's default 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?

Description clearly states the tool checks API health status, mapping to GET /health. This is specific and 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?

Describes that it doesn't require an API key, which guides usage. Lacks explicit when-not-to-use or 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.

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?

Despite no annotations, the description discloses key behavioral traits: that processing costs additional credits, the new_limit must exceed the previous, and it defaults to plan maximum. It does not mention potential side effects like job state changes or asynchronous behavior, but the core behavioral aspects are covered.

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 (4 sentences), front-loaded with the main purpose, and each sentence provides necessary context without redundancy. No fluff.

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 complexity and absence of annotations, the description adequately covers preconditions, usage constraints, and cost implications. An output schema exists (not shown) likely covering return values. Minor omission: it doesn't specify whether the continuation appends or restarts processing, but overall it's complete enough.

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 covers 100% of parameters. The description adds value beyond the schema by clarifying that new_limit must be greater than the previous limit and that omitting it defaults to plan maximum. It also reinforces that the job must have been submitted with a limit, which is not captured in 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?

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 distinguishes itself from siblings by specifying it applies only to jobs originally submitted with a limit.

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 ('Only use this when the user wants MORE data processed') and provides a clear exclusion: 'This only applies to jobs originally submitted with `limit`. If a job was submitted without `limit`, there is nothing to continue.' It does not name alternatives 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.

create_datasetAInspect

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
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 the dataset's role as an entity collection and its integration with jobs. Does not mention auth requirements or potential side effects, but creation is generally safe and non-destructive.

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 clear paragraphs, front-loaded with core action, then concept explanation and cross-reference. 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 5 parameters and an output schema, the description adequately covers the tool's purpose and usage. It does not need to explain return values since output schema is provided. Could mention expected output but not necessary.

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 3. Description adds minimal extra meaning beyond parameter names and brief descriptions; for example, it does not explain formatting rules for entity_ids or uniqueness constraints for name.

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 'Create a new dataset' and explains that datasets are collections of entities (companies/people). It distinguishes from siblings like create_dataset_from_csv by noting the entity-based nature.

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?

Explains that datasets are used to narrow retrieval scope when connected to a job via submit_query. Does not explicitly state when not to use or contrast with similar tools, but the sibling list provides context.

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
Behavior4/5

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

Without annotations, the description discloses key behaviors: CSV content requirements, quality implications of missing columns, plan-dependent max file size, and mapping of additional columns to attributes. It does not detail return behavior or authentication, but an output schema exists.

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 (5 sentences) with no redundant information. It front-loads the main action and then provides necessary details in a logical order, making it easy for an AI 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 complexity (CSV upload, enrichment, parameter mapping), the description covers prerequisites, quality tips, size limits, and alternatives. An output schema exists for return values. Missing details like error handling or enrichment specifics, but overall adequate.

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 meaning of CSV columns beyond schema descriptions, such as the necessity of a name column and the benefit of domain/description for enrichment. This extra context justifies a 4.

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, distinguishing it from the sibling `append_csv_to_dataset` which adds to an existing dataset. The verb and resource are 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?

The description explicitly provides when to use (create new dataset from CSV) and when not to use (use `append_csv_to_dataset` for adding rows). It also gives guidance on CSV requirements (name column, recommended domain/description) and mentions plan-dependent file size limits.

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

create_entities_batchBInspect

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 are provided, so the description carries the full burden. It states 'create' (write operation) but fails to disclose potential limits, error behavior (e.g., partial failures), authentication requirements, idempotency, or side effects. This leaves significant ambiguity for a batch 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.

Conciseness4/5

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

The description is a single sentence, front-loaded with the verb-resource pair, making it highly concise. However, it could include a brief mention of key constraints without becoming 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?

Given the output schema exists, the agent can infer return values, but the description does not mention important context such as batch size limits, entity type constraints, or the purpose of the optional api_key parameter. It is too minimal to be fully complete for a batch 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 coverage is 100%, and the description adds no additional meaning beyond what the schema already provides. The baseline for high coverage is 3, and the description does not improve parameter 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 (create), resource (entities), and distinguishes from the singular 'create_entity' sibling by specifying 'multiple' and 'in one call'. This immediately informs the agent of the tool's batching capability.

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 batch tool versus alternatives like 'create_entity' (singular) or 'add_dataset_entities'. The description does not mention prerequisites, limits, or appropriate contexts.

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?

No annotations provided, so description must cover behavioral traits. It only states creation; lacks details on idempotency, error behavior, permissions, or side effects. This is a significant gap for a mutation tool.

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

Conciseness5/5

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

Two sentences, front-loaded with action, every word adds value. Efficient and 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 full schema coverage and output schema, description covers key usage nuance. Missing some behavioral context, but adequately complete for a create tool with rich structured fields.

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

Parameters4/5

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

Schema description coverage is 100%, baseline 3. Description adds extra semantic value by clarifying the constraint 'at least one of description or additional_attributes.company_attributes.domain' beyond what schema 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?

Description clearly states it creates a single entity (company or person), with specific verb and resource. It distinguishes from sibling 'create_entities_batch' by emphasizing single entity creation.

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?

Description implies usage for single entity creation, contrasting with batch creation sibling. However, it does not explicitly state when not to use or provide alternatives, though the distinction is clear.

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?

No annotations provided, so description carries full burden. Discloses key behaviors: natural language schedule, backfill constraints, minimum frequency, and webhook centralization. Could add more about lifecycle but sufficient.

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, front-loaded with purpose, then usage pattern, schedule guidance, constraints as bullets, and webhook note. No redundant sentences.

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 complexity (8 params, 2 required, output schema exists), description covers when to use, schedule format, timezone rules, backfill constraints, and webhook integration. Output schema exists, so return format not 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%, baseline 3. Description adds meaning beyond schema by explaining backfill constraints, timezone override, and webhook_id referencing, so a 4 is warranted.

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 it creates a monitor from a completed job and explains the monitor concept. Distinguishes from sibling tools like delete_monitor or update_monitor by focusing on creation.

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: use after job refinement, always include a timezone, and use centralized webhooks. Implicitly tells when not to use (e.g., for updates, use update_monitor).

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

create_projectAInspect

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 are provided, so the description carries the full burden. It states the creation action and purpose but lacks details on side effects, permissions, quotas, or whether the operation is synchronous. Minimal behavioral disclosure.

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 with no filler, efficiently conveying purpose and context.

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 creation tool, the description is adequate but omits return value details (though output schema exists) and any constraints like project creation limits or naming rules.

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 description adds only the context that name is required and api_key is optional via different sources. It does not enrich parameter meaning 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?

The description clearly states 'Create a new project' and explains that projects group related resources, distinguishing it from sibling tools like update_project or delete_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?

The description implies usage (organizing resources) but does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or exclusions.

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
Behavior3/5

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

No annotations exist, so the description must carry the full transparency burden. It explains the tool's primary function and return of a webhook_id, but does not disclose potential side effects, prerequisites (e.g., URL reachability), or permissions needed. Adequate but could be more thorough.

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 sentences plus a bullet list. It is front-loaded with the main purpose and then usage cases. Every sentence 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 10 parameters (all documented in schema) and an output schema, the description covers the creation context well. It explains what the webhook is used for after creation. Could mention the output shape explicitly, 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 description coverage is 100%, so the schema already documents all parameters. The description does not add new meaning to parameters; it only mentions webhook_id in usage but that's not a parameter. Baseline score of 3 is appropriate.

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 it creates a webhook endpoint and lists specific use cases (registering URL for deliveries, obtaining webhook_id). However, it does not distinguish from sibling tools like test_webhook or trigger_webhook, leaving some ambiguity.

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

Usage Guidelines4/5

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

The 'Use when:' section provides two explicit scenarios for using the tool. It lacks what not to use it for or alternatives, but the guidance is clear and relevant.

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?

With no annotations, the description carries full burden. It transparently states the action is irreversible ('permanently delete') and clarifies that entities are unaffected. This is adequate but could mention permission 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?

The description is two sentences, directly stating the action and clarifying side effects. No wasted words, perfectly front-loaded.

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 output schema exists and schema covers parameters, the description sufficiently explains the tool's effect and limitations. It provides clarity on entity preservation, which is key context for this 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 coverage is 100%, so the schema already fully documents parameters. The description adds no additional meaning beyond what's in the schema, 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 clearly states 'Permanently delete a dataset' with a specific verb and resource. It distinguishes itself from sibling tools like delete_entity by explicitly noting that entities are not deleted.

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 (when needing to remove a dataset) and notes that entity associations are removed without deleting entities, which helps avoid misuse. However, it does not explicitly name alternative tools or state when not to use.

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 provided, so description must disclose behavioral traits. It mentions 'Permanently delete' indicating destruction but lacks details on side effects (e.g., cascade deletion, required permissions) or error handling.

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, no wasted words. Could be slightly more informative but remains efficient and 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 simplicity of the tool and presence of output schema, the description is minimally complete but lacks details on success/error responses and the impact of deletion.

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 parameters. The description adds no additional meaning beyond what's in the schema for entity_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?

Description clearly states the action ('Permanently delete') and resource ('entity'), distinguishing it from sibling delete tools like delete_dataset or delete_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?

No explicit guidance on when to use or alternatives; the description implies usage for deleting any entity but does not warn about irreversibility or prerequisites.

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
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses permanence and that results are also deleted, which is key for a deletion tool. However, it could mention prerequisites or state changes.

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

Conciseness5/5

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

The description is extremely concise: two sentences with a bullet for usage. Every word serves a purpose 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 tool's simplicity (2 params, 1 required, output schema exists), the description is sufficiently complete. It covers purpose and usage, though slightly more behavioral detail could be added.

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 description adds no extra meaning beyond the input schema, which already describes both parameters. Schema description coverage is 100%, so 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 it permanently deletes a job and its results, using a specific verb and resource. It distinguishes from sibling delete tools (e.g., delete_dataset, delete_entity) by explicitly mentioning 'job'.

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 provides clear context for when to use the tool: to remove a job no longer needed. It does not explicitly state when not to use, but the context is sufficient.

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
Behavior3/5

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

No annotations provided, so description must carry full burden. It mentions permanence and stopping scheduled runs, but does not disclose authorization requirements, side effects on associated data, or error scenarios. Adequate but not thorough.

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 a bullet point for usage guidance. Every sentence adds value, no redundancy. Front-loaded with the core action.

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?

Output schema exists, so return values need no explanation. The description covers purpose and usage well. Lacks mention of prerequisites or error handling, but overall sufficient for a simple deletion 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?

Input schema covers both parameters (api_key and monitor_id) with descriptions. The tool description adds no extra semantic information beyond what the schema provides. With 100% schema coverage, 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 monitor and stop its scheduled runs') and distinguishes from the sibling tool 'disable_monitor' by noting that disable only pauses, not deletes.

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?

Explicitly provides use cases: 'Use when: - You want to remove a monitor entirely (use `disable_monitor` to only pause it).' This directly guides the agent on when to use this tool versus the alternative.

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?

Without annotations, the description discloses key behavioral traits: default detachment of resources and the option to delete them. This covers the main side effects, though permissions or reversibility are not mentioned.

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-load the purpose and provide a key option. Every sentence is valuable with no waste.

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 deletion tool with one required parameter, an optional boolean, and existing output schema, the description covers core behavior and the critical option. It is sufficiently 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?

Input schema coverage is 100% with clear descriptions for all parameters. The tool description reinforces the delete_resources parameter's default behavior but does not add new semantic information 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?

The tool name and description clearly state 'Delete a project.', which distinguishes it from sibling tools like delete_dataset and delete_job by specifying the target resource type. The additional detail about resources detachment vs deletion adds specificity.

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 explains default behavior (resources detached but kept) and the option to delete resources, providing clear context for use. However, it does not explicitly mention when not to use this tool or compare to alternatives like update_project.

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
Behavior4/5

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

With no annotations, the description carries full burden. It states 'permanently delete', indicating destructive and irreversible behavior. It does not elaborate on side effects or permissions beyond the schema, but the core behavioral trait is clear.

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, front-loaded with the purpose, and contains no unnecessary words. Efficient 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 presence of an output schema and full parameter coverage, the description covers the core purpose adequately. It could explicitly mention irreversibility beyond 'permanently delete' or required permissions, but overall it is 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%, so the description does not need to add parameter details. It does not provide extra meaning beyond the schema, maintaining 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 clearly states it 'Permanently delete a webhook endpoint', using a specific verb and resource. It distinguishes from sibling tools like create_webhook, update_webhook, and list_webhooks.

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

Usage Guidelines4/5

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

The description provides a clear when-to-use: 'Use when: You want to remove a webhook from your account.' It does not mention when not to use or alternatives, but the context is adequate for a simple delete operation.

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?

Discloses that disabling stops scheduled runs and that the action is reversible, but lacks details on side effects (e.g., impact on currently running jobs, data preservation). Since no annotations are provided, more behavioral context would be beneficial.

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 efficient sentences, front-loaded with the primary action. No extraneous 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?

For a simple tool with an output schema present, the description covers the essential purpose and reversibility. No further context needed.

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 already well-documented. The description adds no additional meaning beyond the schema, meeting the baseline for full coverage.

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 'disable a monitor to stop its scheduled runs', clearly defining the verb and resource. It distinguishes from siblings like delete_monitor (permanent) and enable_monitor (opposite) 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 Guidelines4/5

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

Implies use when wanting to temporarily suspend scheduled runs, and mentions enable_monitor as the alternative for re-enabling. However, does not explicitly state when not to use (e.g., for permanent removal) or provide prerequisites.

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 exist, so the description must disclose behavioral traits. It only states that the monitor resumes scheduled runs, but omits important details like whether enabling triggers immediate runs, if there are side effects, or if the monitor must be disabled first. The description is insufficient for safe 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 a single concise sentence of 9 words, front-loading the purpose. Every word is necessary, and there is no wasted 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?

Given the tool's simplicity, the description adequately covers the core purpose. It could mention prerequisites (e.g., monitor must exist and be disabled) or the effect on missed runs, but it is largely complete with an output schema available.

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 adds no additional meaning beyond the schema; it does not clarify the 'backfill' parameter or the 'api_key' parameter. The schema already describes these, so 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 uses a specific verb ('Enable') and resource ('a previously disabled monitor') and clearly states the outcome ('resume its scheduled runs'). It differentiates from the sibling 'disable_monitor' tool.

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 that the tool is for enabling a monitor that was previously disabled, but it does not explicitly state when to use it versus alternatives (e.g., only after disable_monitor). No exclusions or context are provided.

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

get_datasetBInspect

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 behavioral details beyond the basic purpose. No mention of authentication requirements, rate limits, or that it's a read-only operation. The description adds no context beyond the tool's name and title.

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 short sentence that communicates the core purpose without any filler. It is front-loaded and efficient.

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 parameter set (1 required, 2 total) and an existing output schema, the description is adequate but minimal. It does not explain what 'details' means or hint at the output structure.

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 description does not need to add parameter details. The description adds no additional semantics beyond the schema's existing 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 verb 'Get' and the resource 'a single dataset's details,' which is specific and distinguishes it from sibling tools that fetch other resources or perform actions.

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_datasets, get_dataset_status). No prerequisites, exclusions, or context for usage.

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

get_dataset_statusAInspect

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
Behavior3/5

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

No annotations are present, so the description bears full responsibility. It correctly labels the operation as retrieval of history (read-only implication), but does not disclose authentication requirements, rate limits, or response structure beyond the mention of status history.

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, front-loaded sentence of 15 words with no filler. It efficiently conveys the core purpose and an example.

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 tool has few parameters and an output schema (not shown but present). The description adequately covers the input semantics and return nature. Minor gap: could explicitly mention that the output is a list of status events, but output schema likely explains that.

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 (api_key and dataset_id) are described in the schema. The description adds no additional semantics beyond what the schema already provides, so 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 tool's action ('Get the status history') and the resource ('a dataset'), with a concrete example ('enrichment progress over time'). This distinguishes it from sibling tools like 'get_dataset' (current state) and 'list_datasets' (list metadata).

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 monitoring historical status but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions to avoid. No exclusions or prerequisites are mentioned.

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

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?

No annotations are provided, so the description lacks disclosure of behavioral traits such as authentication requirements, error handling, or resource consumption. The description only states the action without any context beyond the schema.

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

Conciseness4/5

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

The description is a single, efficient sentence with no wasted words. It is appropriately sized for a simple retrieval tool, though could include more detail without being verbose.

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 simplicity of the tool (2 params, no nested objects, output schema present), the description is largely adequate. It explains the basic operation, but could be more complete by mentioning return type or error scenarios.

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 what is already in the schema. The baseline is 3, and the description does not enhance parameter 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 'Get', the resource 'entity', and the scope 'single' and 'details'. It effectively distinguishes from sibling tools like list_entities (multiple) and create_entity (creation).

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. It is implied that it is for retrieving a specific entity by ID, but no differentiation from list_entities or other read tools.

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?

Discloses job lifecycle, polling behavior, partial results availability, and transport failure handling. No annotations provided, so description fully covers behavioral expectations.

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

Conciseness4/5

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

Well-structured with clear sections, front-loaded purpose. Slightly long but justified by complexity; no redundant sentences.

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?

Thoroughly covers all aspects: lifecycle, polling strategy, partial results, progress tracking, and error recovery. Output schema exists but description adds essential 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 coverage is 100%. Description adds context about job_id origin and api_key optionality, but largely restates schema info. 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?

Clearly states the tool checks job status, distinguishes from submit_query and pull_results. Provides specific lifecycle stages.

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 when to call (after submit_query), polling intervals, stop conditions, and partial result usage. Includes warnings about 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_statusAInspect

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
Behavior3/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 discloses that the tool returns a timeline of states but does not mention permissions, rate limits, or destructive potential. However, the tool is read-only by nature, and the description adequately conveys its non-destructive 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 extremely concise (two sentences) and front-loaded with the core purpose, with zero extraneous 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 output schema exists and the tool is simple, the description covers the main purpose and usage. It does not mention pagination or filtering, but for a history tool this is 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%, so the baseline is 3. The description does not add any additional meaning to the parameters 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 tool gets 'status history of a monitor', which is a specific verb and resource. It distinguishes from sibling tools like get_dataset_status by focusing on monitor state changes.

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 that explicitly lists scenarios (timeline of state changes), providing clear context for when to invoke this tool.

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?

No annotations provided, so description carries full burden. It only says 'Get' (read), but no details on error handling (e.g., 404), field selection, or idempotency. Output schema exists but description does not reference it.

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 sentence, no waste. Front-loaded with purpose. Every word earns its place. Ideal for a simple retrieval tool.

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 low complexity (2 params, output schema exists), the description is minimally adequate. It conveys core purpose but lacks detail on return value (though output schema covers that) and behavior. Could mention that it returns complete project data.

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 adequate descriptions for both parameters (api_key, project_id). The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

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 verb and resource: 'Get a single project's details.' It distinguishes from sibling tools like list_projects (multiple) and get_project_overview (likely summary) by implying comprehensive details, though not explicitly.

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 like get_project_overview. No prerequisites, context, or exclusions mentioned. The api_key parameter hints at auth but no usage direction.

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
Behavior3/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 discloses the return type (counts grouped by resource type and status), but does not mention that it is a read-only operation, auth requirements (api_key optional via header or env), rate limits, or error behavior. Adequate but not thorough.

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 that immediately conveys the tool's purpose. No unnecessary 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?

The tool is simple (2 parameters, output schema exists). The description covers the core functionality. It could briefly mention that the api_key parameter is optional, but this is not critical given the schema. Overall complete for a read-only summary 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?

Input schema coverage is 100% (both parameters have descriptions). The description does not add additional parameter context beyond what the schema already provides. 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 specifies 'Get a project's resource overview (counts grouped by resource type and status)', which is a specific verb-resource combination. It clearly distinguishes from sibling tools like 'get_project' (likely project details) and 'list_project_resources' (likely list without counts).

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 the tool is for obtaining a summary, but does not explicitly state when to use it over alternatives (e.g., get_project for project settings, list_project_resources for raw list). No exclusions or prerequisites are mentioned.

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

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
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates a read operation ('Retrieve') and mentions optional API key, but could add details like no side effects, cost, or rate limits.

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

Conciseness5/5

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

Two sentences, well-structured with a purpose statement and bulleted usage conditions. Every part adds value, 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?

Simple tool with one optional parameter and output schema present. Description fully explains functionality and usage context, sufficient for agent to invoke correctly.

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% (api_key parameter described fully in schema). The tool description adds no new meaning beyond the schema's parameter 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?

The description uses a specific verb and resource: 'Retrieve plan features and current usage limits for your API key.' This clearly distinguishes it from sibling tools, none of which suggest retrieving limits.

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 'Use when' section provides explicit scenarios: knowing plan allowances and checking usage before large jobs. This gives clear context and implicitly advises against misuse.

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
Behavior4/5

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

In the absence of annotations, the description discloses key behavioral traits: it's a GET request (read-only) and does not require authentication. This is sufficient for a simple informational 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 with no waste. The key information (purpose, HTTP mapping, auth requirement) is front-loaded and efficient.

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 version endpoint with an output schema present, the description covers the purpose, HTTP mapping, and authentication requirements completely. No gaps.

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%, but the description adds value by clarifying that the api_key parameter is optional and not needed, reinforcing its default and 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?

The description clearly states the tool gets the current API version and maps to GET /version. This specific verb+resource combination distinguishes it from siblings, which are all different operations.

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 notes that no API key is required, providing clear usage context. It does not mention when not to use or alternatives, but for a simple version check this is adequate.

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 provided, so description must cover behavioral traits. It states it's a retrieval operation (read) but does not disclose potential authentication requirements (api_key is in schema), rate limits, or what exactly 'full configuration' includes beyond listed fields. Adequate but not detailed.

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 clear structure. No superfluous information. Front-loaded with the action and then usage 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 existence of an output schema and the simplicity of the tool, the description is sufficiently complete. It explains what is retrieved and when to use it. Could mention expecting a valid webhook ID, but not essential.

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%. The description only implicitly references webhook_id via 'by its ID' and does not add meaning beyond the schema. api_key is documented in schema. Baseline 3 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 tool retrieves the full configuration of a specific webhook by ID, listing specific fields (URL, method, headers, status). It distinguishes from sibling tools like list_webhooks (which lists all) and get_webhook_history.

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 says 'Use when: you want to inspect a webhook's URL, method, headers, or status by its ID.' Provides clear context. Does not explicitly mention when to avoid, but the sibling tools provide implicit alternatives.

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
Behavior3/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 behaviors beyond retrieval (e.g., no mention of pagination, rate limits, or idempotency). However, the action is safe and read-only, which is implied.

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 one bullet point. Extremely concise, front-loaded with the core purpose, and no unnecessary 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?

The description is sufficient given the existence of an output schema and 100% schema coverage. It could mention that the history is a list of delivery attempts or pagination details, but it is not necessary.

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 5 parameters. The description adds no extra meaning beyond the schema, meeting 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 'Get' and resource 'webhook delivery history' for jobs, monitors, and monitor_groups, clearly distinguishing it from sibling tools like list_webhooks or get_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?

Explicitly states 'Use when:' for viewing past delivery attempts and outcomes. While it doesn't specify when not to use, the context is clear and sufficient for an agent.

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?

No annotations provided, but description fully discloses key behaviors: preview-only, no job creation, LLM-generated non-deterministic suggestions, and instruction to reuse suggestions via 'submit_query'. 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?

Description is well-structured with clear sections (use when, do not use when, key behavior). Front-loaded with core purpose, each sentence adds value without 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 full schema coverage, existence of output schema, and the tool's preview nature, description adequately covers necessary context including behavioral traits, usage guidelines, and interaction with 'submit_query'.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. Description adds value by providing usage context for 'query' (not referencing company list) and 'context' (focus on event/topic), going beyond 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?

Description clearly states 'Preview suggested validators, enrichments, and date ranges before submitting' with specific verb and resource. It distinguishes itself from 'submit_query' by explicitly stating it is preview-only, making purpose 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?

Explicitly lists 'Use when' and 'Do not use when' scenarios with a clear alternative ('submit_query'). However, it does not mention other sibling tools like 'validate_query' that might be related, slightly limiting completeness.

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?

With no annotations and a sparse description, behavioral transparency is low. The description does not disclose that the operation is read-only, safe, or idempotent. It also omits any authentication requirements (though the schema includes an api_key parameter, the description doesn't mention whether it's needed). The agent lacks insight into 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.

Conciseness4/5

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

The description is a single, concise sentence with no wasted words. It effectively front-loads the core purpose. However, given the tool's 9 parameters and complexity, it could be slightly more informative without becoming verbose.

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 has 9 parameters and an output schema; the description is minimal but the schema covers parameter semantics and the output schema defines return values. The description provides sufficient high-level context but lacks details on edge cases, pagination behavior, or entity types. It is adequate for a straightforward listing 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 adds no additional meaning beyond the parameter details in the schema (e.g., 'dataset_id', 'page', 'search' are documented in the schema but not mentioned in the description). The description does not compensate or elaborate.

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' clearly specifies the verb (List) and resource (entities in a dataset). It distinguishes from sibling tools like 'list_entities' (which lists all entities without dataset context) and 'list_datasets' (lists datasets, not entities). This clarity helps an agent select the correct tool.

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?

The description provides no guidance on when to use this tool versus alternatives (e.g., 'list_entities' or 'get_entity'). There are no exclusions, prerequisites, or context to help an agent decide. The sole sentence is minimal and offers no usage direction.

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, the description carries the full burden but only states 'List your datasets.' It reveals no behavioral details such as pagination, rate limits, authentication requirements, or the effect of filters. The parameters hint at behaviors, but the description does not disclose them.

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 extremely concise (four words), but for a tool with 9 parameters and many siblings, this brevity sacrifices useful information. It is front-loaded but undersized for the complexity.

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's complexity (9 parameters, pagination, filtering) and presence of many sibling tools, the description is woefully incomplete. It does not explain return values or how to use the parameters effectively. Even though an output schema exists, context is lacking.

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 much. It adds nothing beyond the schema, meeting the baseline expectation. No value added, but also no harm.

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' uses a clear verb and resource, making the basic purpose obvious. However, it does not differentiate from sibling tools like list_projects or list_entities, though the resource name itself provides some distinction.

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 usage guidelines are provided. There is no indication of when to use this tool versus alternatives (e.g., get_dataset for a single dataset, or search-related tools). Context about filtering or pagination is absent.

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?

With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'List your entities.' without mentioning pagination, filtering, sorting, or any side effects. This is insufficient for an 8-parameter listing tool.

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 extremely concise (4 words), but it may be too short to be useful. It could benefit from a brief sentence summarizing the tool's purpose (e.g., 'List all entities with optional filtering, sorting, and pagination.') 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?

Given the tool has 8 parameters for pagination, filtering, sorting, and an output schema, the description is incomplete. It does not mention that results are paginated, that filters can be applied, or that sorting is available. The output schema exists, so return values are documented, but overall context is lacking.

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%—each parameter has a description in the input schema. The description adds no additional meaning beyond the schema, which is acceptable but not helpful. Baseline 3 is appropriate.

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 entities.' clearly states the verb 'list' and resource 'entities'. It differentiates from sibling tools like 'get_entity' (single entity) and 'list_dataset_entities' (entities within a dataset), but could be more explicit about the scope (all entities in the system).

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., 'get_entity' for a single entity, 'list_dataset_entities' for entities in a specific dataset). Nor does it mention prerequisites or typical use cases.

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

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
Behavior3/5

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

No annotations provided, so description carries the burden. It correctly indicates a read operation but lacks details on side effects, pagination, or rate limits.

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

Conciseness5/5

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

Two focused sentences with no extraneous information. Front-loaded with the primary action.

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?

Despite an output schema existing (reducing need to describe returns), the description is complete for a simple list tool. Could mention pagination but not essential.

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. Description adds no additional meaning beyond the parameter descriptions in 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?

Clearly states the tool lists all jobs spawned by a monitor and returns the history of scheduled runs. Differentiates from sibling list tools like list_monitors and 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?

Implied usage requires a monitor_id, but no explicit comparison to alternatives like list_user_jobs or when to use this versus other list tools.

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
Behavior2/5

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

No annotations, so description must disclose behavior; it fails to mention pagination (page/page_size params) despite describing as 'all your monitors'. Neither auth requirements nor rate limits are noted.

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 short, direct sentences with no redundancy; efficient and easy to parse.

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, so return format is fine, but the description omits critical context like pagination behavior and default page size, which affects the 'all your monitors' claim.

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 covers all 6 parameters with individual descriptions (100% coverage), so the description adds no additional parameter information beyond what schema 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?

Clearly states 'List all your monitors' and enumerates returned fields (schedule, status, etc.), distinguishing from sibling tools like create_monitor, delete_monitor, etc.

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?

Implies usage for listing all monitors but does not explicitly contrast with get_monitor (single) or list_monitor_jobs, nor provide when-not-to-use guidance.

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

list_project_resourcesCInspect

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
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 side effects or authorization needs. The description only says 'list', implying a read operation, but does not mention that it is safe, non-destructive, or whether authentication is required (though api_key parameter suggests it). Missing details on pagination and filtering behavior.

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, concise sentence. While it is efficient, it could include a bit more context without becoming verbose, such as noting optional filters or pagination.

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 output schema exists, so return values are likely documented there. However, the description lacks context about the tool's behavior in relation to its parameters (e.g., filtering by resource_type). For a tool with 5 parameters, the description is minimal but adequate given schema coverage.

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 schema provides 100% coverage for parameters, meaning each parameter is well-described in the schema. The description adds no additional meaning beyond what the schema already 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.

Purpose4/5

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

The description clearly states the action ('List') and the resource ('resources contained in a project'). It distinguishes from sibling tools like add_project_resources and remove_project_resource. However, it does not specify what types of resources are included, which is somewhat 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 is provided on when to use this tool versus alternatives. For example, there is no indication that this tool should be used to list resources of a project as opposed to get_project which gives an overview, or list_resource_webhooks for webhooks.

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

list_projectsCInspect

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?

With no annotations provided, the description carries the full burden of behavioral disclosure. It merely states 'List your projects,' implying a read operation, but does not mention authentication (api_key parameter), rate limits, pagination behavior, or output format. The schema reveals parameters like 'ownership' and 'search', but the description adds no behavioral context.

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

Conciseness3/5

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

The description is extremely concise (one sentence), but this brevity sacrifices important information about the tool's capabilities, such as pagination and filtering. It is not as informative as it could be while still being concise.

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's complexity (5 parameters, output schema, pagination, search, ownership filter, API key), the description is insufficient. It does not mention pagination behavior, filter options, or the output schema structure, leaving the agent lacking critical context for correct invocation.

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 with descriptions for all 5 parameters, so the baseline is 3. The description does not add any additional parameter meaning beyond what the schema already provides, nor does it clarify parameter interactions or usage patterns.

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 action ('list') and the resource ('projects'), distinguishing it from singular 'get_project' and other resource-specific tools like 'list_datasets'. However, it does not elaborate on the scope or any additional filtering capabilities hinted at by the schema.

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., 'get_project' for a single project) or when not to use it. The description lacks exclusions, prerequisites, or usage context.

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 provided, so description bears full responsibility. It does not disclose pagination, filtering, authentication requirements, or error behavior, leaving gaps for an agent.

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 short sentences, no fluff, front-loaded with the primary 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?

Adequate for a list tool with an output schema, but missing details on pagination and filtering that are defined in the schema but not summarized in description.

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 covers 100% of parameters with descriptions, so baseline is 3. Description adds no additional parameter meaning 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?

Description clearly states it lists webhooks for a specific resource (job/monitor/monitor_group), distinguishing it from sibling tools like list_webhooks (all webhooks) and list_webhook_resources (resources for 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?

Explicit 'Use when' guidance is given, providing a clear scenario. Could mention when not to use or alternatives, but the context is sufficient.

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

list_user_jobsBInspect

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 are provided, so the description must convey behavioral traits. It indicates a read-like operation returning job history. But it lacks details about any side effects, authorization needs, or rate limits. The description is adequate but not thorough without 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 two sentences, front-loading the purpose and key return fields. Every sentence adds value, with no unnecessary 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 that an output schema exists, the description does not need to explain return values in detail. It mentions the key fields returned. The parameters are fully documented in the schema. Minor missing context about pagination or default sorting, but overall complete 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% with all parameters described. The tool description does not add additional meaning beyond what the schema already provides. Baseline is 3, which is appropriate.

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 it lists jobs submitted by the user and specifies the returned fields (IDs, queries, statuses, timestamps). However, it does not explicitly differentiate from sibling tools like 'list_monitor_jobs', which might also list jobs but for monitors.

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?

The description says 'List all jobs submitted by you,' implying it is for the user's own jobs. However, it provides no guidance on when to use this tool versus alternatives like 'list_monitor_jobs' or 'get_job_status', nor does it mention any 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_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?

No annotations are provided, and the description does not disclose any behavioral traits beyond listing resources. For a read-only list tool, it could mention that no modifications occur, but it fails to do so.

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 and a bullet list, front-loading the core purpose and usage context without waste.

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 existence of an output schema and 100% parameter coverage, the description is adequate for a simple list tool. It could be improved by mentioning the output format or any limitations, but it is functionally 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 description coverage is 100%, so the schema already fully documents parameters. The tool description adds no additional semantic information 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?

The description clearly states 'List the resources mapped to a webhook' and provides a specific use case, distinguishing it from sibling tools like assign_webhook_resource and remove_webhook_resource.

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 specifying the scenario for using this tool, offering clear context. However, it does not mention when not to use it or provide alternatives.

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
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It states 'list all' but doesn't mention pagination behavior, sorting, or any potential limitations. Adequate 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 brief and well-structured with bullet points for usage scenarios. No unnecessary 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?

With output schema and fully described parameters, the description sufficiently covers purpose and use cases. Lacks mention of pagination but schema handles that.

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 new parameter details 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 'List all your webhooks' with a specific verb and resource. It distinguishes from sibling tools like 'get_webhook' (singular) and 'list_webhook_resources'.

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?

Explicitly lists use cases: to see all webhook endpoints and to find a webhook_id for monitors or jobs. Provides clear when-to-use guidance.

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
Behavior2/5

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

No annotations exist, so the description bears full responsibility for behavioral disclosure. It only states the action without mentioning safety (read-only), error handling, permissions, or rate limits, which is insufficient for a tool with no 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 very concise: one sentence for the main action, followed by a bulleted list of usage criteria. No redundant information, and the key point is front-loaded.

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 (2 params, output schema exists), the description covers the core functionality and usage context. It contrasts with a sibling, but lacks behavioral details that would make it fully complete for an agent with zero 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 baseline is 3. The description adds 'full job output as a CSV' but does not enhance parameter meaning beyond what the schema already provides (job_id and api_key descriptions are clear).

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 downloads a job's results as a CSV file, with a specific verb ('Download') and resource ('job's results'). It also differentiates from the sibling tool `pull_results` by mentioning 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 'Use when' conditions (offline analysis/export, preferring CSV over `pull_results`). However, it does not include when not to use or other alternatives beyond `pull_results`.

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
Behavior4/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 behavioral load. It discloses that the tool downloads the latest run's results as CSV, which implies a read-only operation. However, it does not explicitly state the absence of side effects, permissions required, or what happens if no runs exist. The intent is clear but could be slightly 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?

The description is very concise: a single sentence stating the main action, followed by a bulleted 'Use when' section that covers usage guidelines and alternatives. Every sentence adds value without 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 download tool with an output schema and well-known sibling tools, the description is complete. It specifies the input (monitor_id), the output format (CSV), and the scope (latest run). No critical details are missing for an agent to decide whether to invoke this 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%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides for the parameters (`api_key` and `monitor_id`). It does not explain how to get the `monitor_id` or the role of the optional 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 tool description clearly states that it downloads the latest monitor run's results as a CSV file. It uses specific verbs and resources ('Download ... results as a CSV file') and distinguishes from the sibling `pull_monitor_results` by explicitly mentioning CSV format for offline analysis or export.

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 includes a 'Use when' section with explicit guidelines: want the most recent run output as CSV, and prefer over `pull_monitor_results` for spreadsheet/CSV needs. It names an alternative tool, providing clear context for when to choose this tool.

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

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
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 of behavioral disclosure. While 'retrieve' suggests a read-only operation, the description does not explicitly confirm it is non-destructive, mention authentication requirements, error handling, or what happens if no runs exist. This lack of context is a significant gap.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the action, and contains no extraneous words. It efficiently conveys the tool's purpose and return structure.

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, the description adequately complements it by listing high-level return elements. However, it lacks mention of edge cases (e.g., non-existent monitor) and does not leverage sibling tool context to clarify its specific niche. Still, it is fairly complete for a simple data 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?

The input schema has 100% description coverage for both parameters, so the schema already provides clear meaning. The tool description adds minimal value beyond stating that 'monitor_id' is used to pull results. Thus, 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 uses the specific verb 'Retrieve' and clearly identifies the resource as 'the latest results from a monitor'. It distinguishes from siblings like pull_monitor_csv (which returns CSV) and pull_results (which may be more general). The return fields are listed, providing clarity.

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 obtaining the most recent run's results but does not explicitly state when to use this tool versus alternatives like pull_monitor_csv or pull_results. No guidance on prerequisites or when not to use it is provided, leading to an implied rather than explicit usage context.

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
Behavior4/5

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

With no annotations, the description covers behavioral traits: results are clustered, validated, enriched; behavior during different job statuses; and pagination. Missing details on authentication or response format, but adequate.

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?

Five sentences, front-loaded with main purpose, then usage scenarios. No wasted words; every sentence provides essential information.

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 output schema exists and schema covers all parameters, the description fully explains return values (clustered, validated, enriched) and pagination behavior. No missing context.

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 pagination context (use total_pages) and api_key alternatives, going 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 clearly states the tool retrieves job results, specifying it can be used for partial or full results. It distinguishes from sibling tools like pull_job_csv by focusing on general job results rather than CSV output.

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 guidance on when to call: before completion for partial results, after completion for full results, repeatedly while active, and on failure. Provides clear context for pagination and iteration.

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 are provided, so the description must carry behavioral information. It discloses that entities are only removed from the dataset and not deleted, which is useful. However, it lacks details on side effects, permissions, or reversibility.

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, front-loaded sentence that conveys all essential information without any 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?

For a simple operation with a clear input schema and an existing output schema, the description is sufficiently complete. It could mention prerequisites like entity existence in the dataset, but the schema covers required fields.

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 all parameters are documented in the input schema. The description does not add any additional semantic meaning beyond what the schema already provides, resulting in a 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?

The description clearly states the verb 'remove' and resource 'entities from a dataset', and clarifies that entities themselves are not deleted, distinguishing it from delete_entity. It is specific and non-tautological.

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 entity associations without deletion, but does not explicitly state when to use versus alternatives like delete_entity or add_dataset_entities. No exclusions or context provided.

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

remove_project_resourceCInspect

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?

With no annotations, the description must disclose behavioral traits. It only states 'Remove', implying mutation, but does not mention side effects, permissions, reversibility, or response behavior. The output schema exists but is not referenced.

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 short (one sentence) and front-loaded. It efficiently conveys the core action without fluff, though more detail could be added without losing 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?

Given the tool has 4 parameters and no annotations, the description is too minimal. It does not provide usage context, behavioral details, or return value information, 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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions, which are already clear.

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 (Remove) and the object (a single resource from a project). It distinguishes from siblings like add_project_resources (add vs remove) and remove_dataset_entities (different target). However, it does not explicitly list allowed resource types, which are in the schema.

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 like remove_dataset_entities or remove_webhook_resource. The description lacks context on scenarios or prerequisites.

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 provided, so description carries full burden. It states the action ('unmap', 'stop') but lacks details on side effects, permissions, reversibility, or error handling.

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 plus a usage clause. No unnecessary words, front-loads the core action.

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, presence of output schema, and full parameter descriptions, the description covers purpose and usage adequately. Lacks some behavioral details but not critical for a removal 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 describes all parameters thoroughly (100% coverage). Description adds minimal extra context beyond schema, aligning with baseline for high schema coverage.

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 'Unmap' and resource 'resource from a webhook', clearly distinguishing from sibling tools like 'assign_webhook_resource' and 'delete_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?

Provides a clear 'Use when' clause specifying the context: stop a webhook from firing for a specific job or monitor. Does not explicitly exclude alternatives but context is sufficient.

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?

With no annotations, the description fully carries the burden of behavioral transparency. It discloses numerous traits: auto-generation of omitted fields, effect of connected_dataset_ids on query and validators, date filter semantics, cost impact of limit, and formatting options. 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.

Conciseness4/5

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

The description is long but well-structured with clear sections (use when, do not use, key rules, examples, next step). Every sentence adds value given the complexity, though minor redundancy could be trimmed.

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?

Complete coverage for a complex tool with 16 params. Addresses usage rules, constraints, edge cases (dates outside plan), and job lifecycle. Output schema exists so return values are 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?

Despite 100% schema coverage, the description adds extensive additional meaning beyond the schema. It explains rules for connected datasets, when to omit certain validators, formatting validators/enrichments as arrays or JSON strings, and the interplay between dates and plan limits.

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 uses a specific verb and resource, and distinguishes from sibling tools like get_job_status and pull_results.

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-use and when-not-to-use sections, referencing sibling tools. Also includes key rules for using connected datasets, dates, limits, and validators/enrichments.

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 provided, so description bears full burden. It states 'send a test delivery' but omits behavioral details like side effects (e.g., whether a real delivery is attempted), idempotency, restrictions, or error behavior. This leaves the agent uncertain about impact.

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 bulleted 'Use when' section. Action verb first. Every sentence adds value. 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 low complexity (3 params, 1 required, no nested objects) and existence of output schema (not shown but indicated), description explains the tool's primary function and use case. Lacks mention of response structure or error cases, but output schema likely covers that.

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. Description adds no extra meaning beyond what schema already provides (e.g., 'optional custom JSON object' repeats schema). No enrichment for parameters.

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 action and resource ('Send a test delivery to a webhook endpoint'). Use-case section hints at differentiation from trigger_webhook by focusing on verification before attaching, but does not explicitly contrast with 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?

Explicit 'Use when' guidance specifies verifying webhook URL reachability and configuration before attaching to monitor/job. Does not mention when not to use, but the positive guidance is clear.

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
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 triggers a manual delivery, which implies a non-destructive action. However, it does not disclose any potential side effects, rate limits, or authentication requirements beyond the optional api_key parameter.

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 plus a 'Use when' bullet. Every part is meaningful and there is 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 tool's complexity (5 parameters, output schema exists), the description adequately covers its purpose and core use case. It could mention what to expect on success/failure, but the output schema likely covers 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 description coverage is 100%, so the baseline is 3. The description does not add parameter-level details beyond what the schema already provides, but the 'Use when' section gives context for why one might use the tool.

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 ('Manually trigger webhook delivery for a resource') and specifies the resource types (job/monitor/monitor_group). This distinguishes it from sibling tools like 'test_webhook' and 'delete_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 provides a 'Use when' section with a concrete scenario: re-sending a missed or failed delivery instead of waiting for automatic dispatch. It does not mention when not to use it, 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.

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?

With no annotations, the description carries full burden but fails to disclose important behavioral traits such as idempotency, potential side effects, permission requirements, or whether it performs a partial or full update. The brief description does not add meaningful transparency 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—one sentence that conveys the core functionality without waste. It is front-loaded with the key action and resource.

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 (indicated in context), the description does not need to cover return values. However, for a 4-parameter update tool, the description lacks guidance on usage and behavioral nuance, making it adequate but not fully complete.

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

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's parameter names and types. It does not explain constraints, formats, or relationships among 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 verb (update), resource (dataset), and specific fields (name/description). It effectively distinguishes 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 on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent without strategic direction.

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?

With no annotations provided, the description must disclose behavioral traits. It only states 'Update' but does not clarify whether updates are partial or full, what side effects occur, or whether permissions are needed. No mention of idempotency or error conditions.

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 redundancy. Every word is necessary and adds value.

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?

The description lacks context about partial update behavior, the expected shape of 'attributes', and what the response contains (though output schema exists). It is insufficient for a 6-parameter modification 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 the schema already describes each parameter. The description lists the updatable fields but adds no new meaning beyond the schema. It meets the baseline but does not compensate for any gaps.

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 entity'), listing the specific fields that can be updated (name, description, external_entity_id, attributes). This distinguishes it from sibling tools like create_entity (create) and get_entity (read).

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 for new entities or get_entity for retrieval. It does not mention prerequisites, constraints, 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 are provided, so the description carries the full burden. It discloses that schedule and reference_job_id cannot be modified, and implies that webhook assignments are replaced (from schema: empty list clears). However, it does not mention permissions, idempotency, error behaviors, or whether the limit update is additive. With no annotations, more detail is expected.

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 plus a note: the first sentence immediately states the purpose, and the note adds critical constraints (non-modifiable fields) and guidance (webhook ID source). No superfluous words; 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?

With 4 parameters, no annotations, and an output schema (so returns not needed), the description covers core functionality and constraints. However, it omits details like whether the limit update replaces or merges, and what happens to existing webhook assignments when a new list is provided. It is adequate but not fully comprehensive.

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

Parameters4/5

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

Schema description coverage is 100% (baseline 3). The description adds value by clarifying that webhook IDs come from create_webhook/list_webhooks, which aids parameter selection. For other parameters like limit and api_key, the description adds no extra meaning. Overall, it provides more than the schema alone for webhook_ids.

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 explicitly states it updates 'webhook assignments and per-run limit', naming the specific fields. It distinguishes from sibling tools like create_monitor (creates) and delete_monitor (deletes) by focusing on modification. The note about non-modifiable fields further clarifies scope.

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 clearly states what can be updated (webhook assignments and limit) and what cannot (schedule, reference_job_id). It provides guidance on sourcing webhook IDs from create_webhook/list_webhooks. It does not explicitly contrast with sibling tools like enable_monitor/disable_monitor, but the context is sufficient for an agent to infer usage.

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?

No annotations provided, so description carries full burden. It states what fields are updated and that only provided fields change, but does not disclose side effects, authorization needs, idempotency, or response format. Adequate but not comprehensive 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 short, clear sentences. Front-loaded with purpose, no redundant information. Every word 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?

Tool has 4 parameters, output schema exists, and siblings include many updates on other resources. Description covers the core function but lacks context about return values, required permissions, or edge cases. Acceptable but could be more helpful.

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 'Only the fields you provide are changed' which reinforces optionality, but does not add significant 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?

Tool name is 'update_project' and description clearly states it updates a project's name and/or description. Verb and resource are explicit, and it differentiates from sibling tools like 'create_project' and 'delete_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 mentions 'Only the fields you provide are changed' which implies partial update behavior, but lacks explicit guidance on when to use this tool versus alternatives (e.g., creating a new project or deleting one). No context about prerequisites or typical use cases.

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

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?

Discloses partial update ('only the fields you provide are updated; omitted fields remain unchanged'), which is key behavioral info beyond schema. No annotations provided, so description carries the burden; lacks details on error handling or 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?

Very concise: three sentences covering purpose, use cases, and behavior. Front-loaded with main action. No unnecessary 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?

Covers core use cases and partial update behavior. Output schema exists, so return values need not be explained. Could benefit from mentioning required webhook_id or potential errors, but overall sufficient for the complexity.

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 has 100% description coverage, so baseline is 3. Description adds little beyond listing example fields; does not explain syntax or constraints beyond what's in 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 an existing webhook's configuration' with specific verb and resource. Distinguishes from sibling tools like create_webhook and delete_webhook by focusing on modification.

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 lists use cases (changing URL, method, headers, enabling/disabling) and notes partial update behavior. Does not explicitly mention when not to use, 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.

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, but description implies read-only analysis. Does not explicitly state no side effects, but overall clear. 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?

Concise with clear sections. Two sentences plus bulleted use-cases. 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?

Complete for the tool's complexity. Covers purpose, usage, and alternatives. Return values are handled by output 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 coverage is 100%, so baseline 3. Description adds context about query assessment but no additional parameter details 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 uses specific verb 'check' and resource 'query quality', clearly stating the purpose. It 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?

Explicitly lists when to use (quick feedback, improve queries) and when not to use (preview validators, run search), with alternative tool names.

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!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources