Skip to main content
Glama

Server Details

Web search API: find every relevant event across the open web, not just the top results.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Newscatcher/catchall-mcp
GitHub Stars
1
Server Listing
CatchAll (by NewsCatcher)

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.8/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but some pairs like create_dataset vs create_dataset_from_csv or pull_results vs pull_job_csv could cause confusion. However, descriptions clarify differences.

Naming Consistency4/5

Tools follow a consistent verb_noun pattern (e.g., create_dataset, list_datasets) with minor exceptions like append_csv_to_dataset and pull_job_csv. Overall predictable.

Tool Count3/5

60 tools is high for an MCP server, but the domain (web research, job processing, multiple resource types) justifies the count. Still borders on excessive.

Completeness5/5

The server offers full CRUD for datasets, entities, monitors, projects, webhooks, plus job submission, status polling, result retrieval (JSON/CSV), webhook management, and health endpoints. No obvious gaps.

Available Tools

60 tools
add_dataset_entitiesCInspect

Add existing entities to a dataset.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, but the description does not disclose behavior such as whether the operation is idempotent, what happens if entities are already in the dataset, or if the dataset must exist. For a mutation tool, more transparency is needed.

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 waste. However, it is so brief that it omits important context, balancing conciseness with completeness.

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?

An output schema exists, but the description does not mention what the tool returns (e.g., success status or list of added entities). Given the simplicity, the description is minimally complete but could be more informative.

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, so the schema already describes each parameter. The description adds no additional meaning beyond the schema. 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 clearly states the action (add) and resources (entities to a dataset). 'Existing entities' distinguishes from creation tools like create_entity or create_entities_batch. However, it could be more specific about what 'entities' are relative to 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 on when to use this tool versus alternatives like create_entities_batch or remove_dataset_entities. No prerequisites mentioned (e.g., entities must already exist). The agent gets no context for decision-making.

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

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

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

No annotations provided, so the description carries the full burden. It discloses the mutation (add) but no side effects, error conditions, or response behavior, which is acceptable for a simple creation tool.

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

Conciseness5/5

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

The description is a single, clear sentence with no extraneous information, earning its place entirely.

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 description is minimal but sufficient for a straightforward add operation with three well-documented parameters and an existing output schema, though it lacks details on return value.

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 adds no value beyond the schema. All parameters are adequately documented 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 action (add) and the resource (resources to a project), distinguishing it from siblings like remove_project_resource and list_project_resources.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as remove_project_resource or assign_webhook_resource, leaving the agent to infer context from the name alone.

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

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

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

With no annotations, the description fully discloses behavioral traits: CSV parsing, required `name` column, optional `domain`/`description` columns, duplicate skipping by name, file size cap (10 MB after decoding), and rejection of server-side file paths. This is comprehensive.

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

Conciseness5/5

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

Highly concise: 3 sentences with front-loaded purpose. Every sentence adds essential information—behavior, column requirements, and alternative tool. 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?

Given the tool's complexity (3 params, output schema exists), the description covers purpose, when-to-use, behavioral constraints, column requirements, file format limits, and duplicates handling. It is fully sufficient for an agent to correctly invoke the tool.

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

Parameters4/5

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

Schema covers all 3 parameters with detailed descriptions (100% coverage). The description adds value by specifying content requirements (columns) for the CSV file, which goes beyond the schema's format-only 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 action: 'Append entities from a CSV file to an existing dataset.' It also explicitly distinguishes from the sibling `create_dataset_from_csv`, making its purpose and scope 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 tells when to use (appending to existing dataset) and when not to (creating new dataset), naming the alternative. However, it does not contrast with other nearby siblings like `add_dataset_entities`, which could be relevant for non-CSV data.

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 are provided, and the description does not disclose any behavioral details such as whether existing assignments are overwritten, required permissions, or side effects. The description is too minimal for a mutation tool.

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

Conciseness5/5

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

The description is extremely concise, front-loading the purpose and usage in just two sentences. 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?

For a simple assignment tool with full schema coverage and an output schema, the description covers the essential purpose and usage. However, the lack of behavioral information (e.g., idempotency) reduces 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%, so the schema already describes all parameters adequately. The description adds no extra meaning beyond the schema. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action: mapping a resource (job, monitor, or monitor_group) to a webhook. It is specific about the verb and resources, and distinguishes the tool from siblings like create_webhook or 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 'Use when' section explicitly tells the agent when to use this tool: when you want a webhook to fire for a specific job or monitor's deliveries. While it does not mention when not to use, the guidance is sufficient for a simple assignment tool.

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?

With no annotations, the description transparently reveals the HTTP method (GET) and endpoint (/health), and that no API key is required. It adds behavioral context beyond the raw schema, though it doesn't mention idempotency or side effects.

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

Conciseness5/5

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

Two sentences, no wasted words. The core purpose is front-loaded, followed by a key behavioral detail (no API key needed). Excellent conciseness.

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

Completeness5/5

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

For a simple health-check tool with one optional parameter and an output schema, the description covers all essential aspects: purpose, usage without auth, and HTTP mapping. No further detail is necessary.

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 description clarifies that the api_key parameter is optional and that the tool works without it, adding value beyond the schema's description. Schema coverage is 100%, baseline is 3, but the description provides practical usage insight.

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 checks API health status, with the specific HTTP mapping to GET /health. It distinguishes itself from sibling tools like get_version or get_user_limits by focusing on health monitoring.

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 verifying API availability without authentication, but does not explicitly state when to use versus alternatives or provide context on prerequisites.

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?

No annotations provided, so description bears full responsibility. It discloses that processing costs additional credits and that omitting new_limit defaults to plan maximum. However, lacks details on job state requirements or side effects, but still adds valuable behavioral 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.

Conciseness5/5

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

The description is concise (4 sentences), front-loaded with the main action, and contains no extraneous information. Every sentence serves a purpose: action, cost, applicability, parameter constraint.

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 (relieving the need to describe return values), the description covers preconditions, constraints, and cost. It is sufficiently complete for the tool's complexity, though it could mention job state requirements.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3). The description adds meaning by stating the new_limit must be greater than the previous limit, which is a semantic constraint not fully captured in the schema's 'must exceed' wording.

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 from siblings by specifying it only applies 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 Guidelines5/5

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

Explicit usage guidance: 'Only use this when the user wants MORE data processed.' It also provides when-not-to-use: 'If a job was submitted without limit, there is nothing to continue.' Additionally, it clarifies the new_limit constraint ('must be greater than the previous limit').

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

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states the creation action and dataset purpose, but does not mention idempotency, error behavior, required permissions, or whether the operation is synchronous. This lacks critical transparency 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?

The description is only three sentences, front-loaded with the core action, and efficiently explains the dataset concept and its use with submit_query. No redundant or verbose content.

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

Completeness3/5

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

Given the tool has 5 parameters and no annotations, the description is adequate but lacks details on return values (though output schema exists), default behavior of optional parameters, and any constraints (e.g., name uniqueness). It covers only the minimum needed to understand the tool's main purpose.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not elaborate on parameter meanings beyond what the schema already provides. For example, 'entity_ids' could use more context on how seeding works, but it is not provided.

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 dataset' and explains what datasets are (collections of entities). It distinguishes from the sibling tool 'create_dataset_from_csv' by focusing on creating an empty dataset. The connection to submit_query 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 Guidelines3/5

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

The description implies usage for creating a dataset to be used with queries, but does not explicitly mention when to use this tool versus alternatives like 'create_dataset_from_csv' or 'add_dataset_entities'. No exclusions or prerequisites are stated.

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?

No annotations provided, so description carries the burden. It explains input constraints and enrichment logic, but does not state whether the operation is synchronous or asynchronous, any side effects, or error handling. However, it does mention file size limits and required columns, which adds transparency.

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

Conciseness5/5

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

Description is concise with two paragraphs: first sentence states purpose, then follows with requirements, recommendations, file size note, and alternative tool. No fluff or 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?

Given output schema exists, return values are covered. The description provides enough context for input and differentiation from siblings. It lacks explicit mention of authorization prerequisites or whether creation is immediate, but overall it is complete for typical usage scenarios.

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 each parameter is described. The tool description adds context beyond schema by specifying that the 'file' parameter should be CSV content (not a path), that the CSV must have a 'name' column, and that additional columns map to attributes. This enhances 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?

Description clearly states 'Create a new dataset by uploading a CSV file.' It specifies the action, resource, and method. Also explicitly distinguishes from sibling 'append_csv_to_dataset' by stating to use that tool for adding rows to an existing dataset.

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?

Description provides explicit guidance: when to use (creating new dataset), when not to use (use append_csv_to_dataset for appending), and tips on CSV content (require 'name' column, recommend 'domain'/'description' columns for better enrichment, and max file size is plan-dependent).

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

create_entities_batchCInspect

Create multiple entities in one call.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations provided, so the description must bear the burden of behavioral disclosure. It fails to mention whether the operation is atomic, partial failure handling, or if it returns created entities. The safety profile is unclear.

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

Conciseness2/5

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

Extremely short (one sentence) but fails to convey essential usage details for a batch creation tool. It is under-specified and does not earn its keep given 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?

Despite having an output schema, the description lacks critical context such as batch size limits, required fields beyond those in schema, error handling, and expected behavior. It leaves the agent underinformed.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters have detailed descriptions in the schema. The tool description adds no additional meaning beyond what the schema already provides, meeting the baseline.

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

Purpose3/5

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

Description 'Create multiple entities in one call' clearly states the verb and resource, but it essentially restates the tool name. It adds minimal specificity beyond the name.

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 the singular 'create_entity' sibling. Missing information on batch size limits, partial failure behavior, or any trade-offs.

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

create_entityBInspect

Create a single entity (a company or person).

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

With no annotations, the description carries the full burden. It mentions the constraint that at least one identifying field is required, but omits side effects, error handling, idempotency, or return value behavior. The description is minimal for a creation tool.

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

Conciseness5/5

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

Two concise sentences with no redundant information. Every part is meaningful and front-loads the core action and constraint.

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 6 parameters and existence of an output schema, the description is adequate but incomplete. It lacks information about duplicate handling, error scenarios, and usage context. The schema covers parameter details, but overall context is thin.

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 description adds value beyond the schema by clarifying the business rule that 'name' is required and at least one of 'description' or 'additional_attributes.company_attributes.domain' must be provided. This constraint is not explicitly in the schema descriptions.

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 tool creates a single entity, either a company or person, and specifies required and optional fields. It distinguishes from the sibling 'create_entities_batch' by implication, but does not explicitly differentiate.

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 'create_entities_batch' or 'update_entity'. There is no mention of prerequisites or situational use.

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

create_monitorAInspect

Create a recurring monitor from a completed job.

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

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

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

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

  • Minimum schedule frequency depends on your plan

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries full burden. It discloses key behaviors: schedule in natural language, timezone handling, backfill age constraints, plan-dependent minimum frequency, and centralized webhooks. Missing immediate start behavior, but overall 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 well-structured: starts with purpose, then explains the workflow, schedule guidelines, constraints, and webhook integration. Each sentence serves a purpose, no redundancy. Concise yet informative.

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 8 parameters, 100% schema coverage, output schema exists, and many siblings, the description covers prerequisites, schedule, backfill, and webhooks. It doesn't mention post-creation steps or default state (active?), but output schema likely covers return values. Overall complete for a creation tool.

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?

Schema coverage is 100%, so baseline 3. The description adds significant value: explains schedule format, advises timezone inclusion, reveals backfill constraint (ref job end_date within 7 days), and clarifies webhook_ids are IDs from create_webhook (no inline config). These details go 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?

The description clearly states the tool's purpose: 'Create a recurring monitor from a completed job.' It explains what a monitor does (re-run a job's query on a schedule), distinguishing it from sibling tools like enable_monitor, disable_monitor, or update_monitor.

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

Usage Guidelines4/5

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

The description provides a usage pattern ('explore -> refine -> automate') and advises on schedule format, timezone inclusion, and backfill constraints. It does not explicitly exclude alternatives, but the workflow guidance is clear and actionable.

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

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

No annotations provided; description adds limited behavioral context beyond the schema, such as that projects group resources. However, it does not disclose side effects, idempotency, or uniqueness constraints on project names.

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

Conciseness5/5

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

Two sentences, front-loaded with the action, no wasted words. Efficiently communicates the purpose.

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

Completeness2/5

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

For a creation tool with an output schema, the description lacks important context such as whether the tool is idempotent, what happens on duplicate names, or required permissions. The explanation of projects is helpful but not enough.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no parameter-specific semantics beyond what the schema already provides (e.g., name required, description optional).

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

Purpose5/5

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

The description clearly states 'Create a new project' and explains what projects do, distinguishing it from sibling tools like update_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?

The description implies usage for creating a project but provides no explicit guidance on when to use or avoid, nor alternatives. Context from siblings helps but is not explicit.

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

create_webhookAInspect

Create a new webhook endpoint.

Use when:

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

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'create' without disclosing side effects, permissions, or limits (e.g., whether duplicates are handled, if there is a creation limit, or what happens on failure). This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is short, front-loaded with the main purpose, and uses a bullet-style 'Use when' section for clarity. Every sentence provides value without redundancy.

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 10 parameters, 2 required, and an output schema present (not shown), the description is minimally adequate. It could mention that the tool returns a webhook ID or other key details, but since output schema is present, the burden is lower. Overall, it meets basic needs but lacks depth.

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

Parameters3/5

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

With 100% schema coverage, the baseline is 3. The description adds no parameter details beyond the schema, which already has comprehensive descriptions. No extra semantic value is provided.

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 webhook endpoint' with specific use cases, clearly distinguishing it from other webhook tools like delete_webhook, update_webhook, test_webhook, and list_webhooks present in sibling tools.

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

Usage Guidelines4/5

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

The description provides explicit use cases ('Use when:') for registering a URL and needing a webhook_id for monitors or jobs, giving clear context. It does not explicitly state when not to use it or provide alternatives, but the guidance is helpful.

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?

Since no annotations are provided, the description carries the full burden. It discloses permanent deletion and the effect on entities, but does not mention permissions, rate limits, or other potential behaviors.

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, no fluff, front-loaded with the main action, followed by clarification. Every sentence earns its place.

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

Completeness5/5

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

Given the presence of an output schema and full parameter coverage, the description is complete for a delete operation, covering key side effects.

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 is appropriate. The description does not add additional meaning to the parameters beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool 'Permanently delete a dataset' and explains that entities are not deleted, only associations. This provides specific verb+resource and distinguishes it from other tools.

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

Usage Guidelines2/5

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

No explicit guidance on when to use or not use this tool versus alternatives. The description only states what it does without context for selection.

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

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?

With no annotations provided, the description bears full burden for behavioral disclosure. It mentions 'Permanently delete', implying destructiveness, but lacks details on side effects, reversibility, or required permissions.

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

Conciseness4/5

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

Single sentence with no wasted words. Efficient, though could benefit from more context.

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

Completeness2/5

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

Despite having an output schema, the description is too minimal for a destructive operation. Lacks information about cascading effects, error conditions, or usage context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond what the 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 uses specific verb 'delete' and resource 'entity'. It clearly states the action and distinguishes from sibling tools like create_entity, update_entity, and get_entity.

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

Usage Guidelines2/5

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

No guidance on when to use or when not to use this tool. No mention of prerequisites, alternatives, or safeguards like confirmation or undo.

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

delete_jobBInspect

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

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

The description states 'permanently delete,' implying irreversibility, but does not elaborate on side effects, authorization requirements, or rate limits. With no annotations, the description is insufficiently transparent about the tool's full behavioral 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?

Extremely concise: two sentences that directly convey the core action and usage scenario. No wasted words, front-loaded with the primary purpose.

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

Completeness3/5

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

Given the tool's simplicity and presence of an output schema, the description is mostly complete. However, it lacks mention of irreversibility, potential dependencies, or whether deletion is immediate/asynchronous, which would enhance 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 description coverage is 100%, so both parameters are documented in the schema. The description adds little beyond what the schema already provides (e.g., job_id and api_key). Baseline 3 is appropriate; no extra value.

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 deletes a job and its results, with a specific verb and resource. It distinguishes from sibling tools like delete_dataset or delete_entity, which are for different resources. However, it could be more explicit about what constitutes a 'job' in this context.

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?

Includes a 'Use when' bullet with a clear scenario: removing a job you no longer need. However, it does not provide when-not-to-use or mention alternative tools (e.g., continue_job) for other job actions. Guidance is adequate but not thorough.

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

delete_monitorAInspect

Permanently delete a monitor and stop its scheduled runs.

Use when:

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations provided, so description carries full burden. It states 'Permanently delete' and 'stop its scheduled runs,' which are key behavioral traits. Could mention permissions or reversibility, but the core destructive nature 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?

Two sentences: first states purpose, second provides usage guidelines. No wasted words, front-loaded with key 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 the tool's simplicity (delete with one required parameter) and presence of output schema, the description is complete. It covers purpose, usage, and alternative, requiring no further details.

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

Parameters3/5

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

Schema description coverage is 100%, so schema already documents both parameters (api_key, monitor_id). Description does not add extra meaning beyond what the input schema provides, meeting 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?

Description clearly states 'Permanently delete a monitor and stop its scheduled runs.' Uses specific verb (delete) and resource (monitor), and distinguishes from sibling disable_monitor which only pauses.

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 when: - You want to remove a monitor entirely (use `disable_monitor` to only pause it).' This tells when to use this tool and directly compares with an alternative sibling.

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

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

The description discloses that resources are detached by default and can be deleted with a parameter. However, it does not mention irreversibility, permission requirements, or other side effects beyond the resource 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?

Two sentences convey the core operation and key option. Front-loaded with the main purpose, no unnecessary words. Every sentence adds value.

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

Completeness4/5

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

The description covers the essential behavior for a delete tool. It mentions the optional parameter and default action, but lacks mention of the output (output schema exists) or any warning about irreversibility. Still adequate for a simple operation.

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

Parameters4/5

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

Schema coverage is 100% with clear descriptions. The description adds value by explaining the default behavior of delete_resources (detach but keep) and ties it to the tool's action, slightly enhancing 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 verb 'Delete' and the resource 'a project', and explains the default behavior of keeping resources. It distinguishes itself from sibling tools like create_project and update_project.

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

Usage 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 other deletion tools (e.g., delete_dataset). The description implies its usage for project deletion but does not provide context on when not to use it or alternatives.

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

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

The description indicates permanent deletion, which is inherently destructive. No annotations exist, so the description carries the burden, but it provides no additional details on side effects (e.g., webhook stops firing) or prerequisites 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.

Conciseness5/5

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

Extremely concise: two sentences and a one-line bullet list. Purpose is front-loaded with no wasted words.

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

Completeness4/5

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

For a simple delete operation, the description, combined with full schema coverage and an output schema (not shown), is nearly complete. Minor gap: no mention of error conditions or return value, but the output schema likely addresses this.

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 descriptions for both api_key (optional) and webhook_id (required). The description adds no extra meaning beyond the schema, meeting baseline for complete 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?

Clearly states 'Permanently delete a webhook endpoint' with specific verb and resource. Distinguishes from sibling tools like create_webhook, update_webhook, and 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?

States to use when removing a webhook from your account. While clear, it lacks explicit when-not-to-use or alternatives, but the context is straightforward.

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?

With no annotations, the description bears full responsibility. It states the tool stops scheduled runs and implies reversibility ('re-enabled later'), but does not disclose idempotency (behavior if already disabled) or any permissions needed. Adequate for a simple toggle, but could be more precise.

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 extraneous information. The purpose is front-loaded and every word earns its place.

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

Completeness4/5

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

The tool is simple with only 2 parameters and no nested objects. The description covers the core functionality. An output schema exists (not shown) but the description doesn't mention it; however, that is not required. Slightly incomplete for an agent expecting return value details.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are fully described structurally. The description does not add extra meaning beyond the schema for either 'monitor_id' or 'api_key'. 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 disables a monitor to stop its scheduled runs. It uses a specific verb-resource pairing and distinguishes itself from sibling tools like 'enable_monitor' (re-enable) and 'delete_monitor' (permanent deletion).

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 clear usage context: stop scheduled runs. It also mentions re-enabling with 'enable_monitor', guiding the agent on when not to use (if permanent stop is desired, use delete instead). However, it does not explicitly exclude other alternatives like 'delete_monitor'.

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

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

Describes the primary action but lacks details on prerequisites (e.g., monitor must be disabled), potential failures, or side effects. With no annotations, more context would help.

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, 10 words, no wasted language. Front-loads the action and target.

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?

Simple toggle tool with output schema present. Missing clarification on behavior if monitor already enabled (error vs no-op) but otherwise adequate.

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

Parameters3/5

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

Schema covers all 3 parameters with descriptions. Tool description adds no extra meaning beyond 'previously disabled' which is implicit in monitor_id context.

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 enables a disabled monitor to resume scheduled runs. Specific verb 'enable' with resource 'monitor'. Distinguishes from siblings like disable_monitor.

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

Usage Guidelines3/5

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

Implies use on disabled monitors but does not explicitly state when to use or when not (e.g., avoid if already enabled). No alternatives mentioned.

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

get_datasetAInspect

Get a single dataset's details.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so description must cover behavior. It indicates a read operation but lacks details on auth or rate limits, which is acceptable for a simple retrieval.

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

Conciseness5/5

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

Single sentence, front-loaded, no unnecessary words, and perfectly concise.

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 retrieval tool with an output schema, the description is complete enough; no additional 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 described. The description adds no additional meaning 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?

The description clearly states the verb 'get' and resource 'single dataset's details', distinguishing it from siblings like list_datasets, create_dataset, and delete_dataset.

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

Usage 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 when to use alternatives; usage is implied but not differentiated.

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

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

No annotations are provided, so the description carries the full burden. It only states it returns status history, but does not disclose behavioral traits such as read-only nature, authentication requirements, error handling, 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.

Conciseness4/5

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

The description is a single sentence with an example in parentheses, making it concise and efficient. It front-loads the key action, but could benefit from a slightly more structured format.

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 parameters, no enums) and the presence of an output schema, the description provides adequate context for an agent to understand the tool's purpose. However, it does not mention the output or any prerequisites.

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 adds no additional meaning beyond what is already in the parameter descriptions. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'status history of a dataset', with an example clarifying 'enrichment progress over time'. It is specific and distinct from sibling tools like get_dataset or get_job_status.

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

Usage Guidelines3/5

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

The description implies usage through the example 'enrichment progress over time', but it does not explicitly state when to use this tool versus alternatives or provide any 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.

get_entityBInspect

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 provided, so the description should disclose behavioral traits like read-only safety or authentication requirements, but it does not. The single sentence omits 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.

Conciseness4/5

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

Extremely concise and front-loaded, but could include a brief clarification of what 'details' means or the required parameter.

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

Completeness3/5

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

With an output schema present, the description need not explain return values, but the vague 'details' could be more specific. Adequate for a simple get 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 description adds minimal value beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Get') and the resource ('a single entity's details'), distinguishing it from sibling tools like list_entities or create_entity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like list_entities for multiple entities, or prerequisites for retrieving an entity.

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?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It covers job processing time, polling etiquette, status progression, partial result availability, and failure recovery. It also advises on tracking progress via 'progress_validated' vs 'candidate_records.' There are no contradictions or omissions.

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 well-structured with clear sections for main purpose, status progression, important notes, and detailed polling guidance. It is front-loaded with the core action and efficiently conveys a lot of information without superfluous text. Every sentence adds value.

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

Completeness5/5

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

Given the tool complexity (polling, status states, partial results) and the presence of an output schema (which presumably describes return values), the description covers all necessary behavioral aspects: when to call, how to interpret statuses, polling frequency, partial results, and error recovery. It is complete for a status-checking 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%, meaning the schema already documents both parameters fully. The description adds minimal extra context (e.g., 'The job ID returned from submit_query' for job_id and optional api_key with fallbacks) but does not elaborate on format or constraints. Baseline of 3 is appropriate as the description does not significantly enhance understanding 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 starts with a clear statement of purpose: 'Check the status of a submitted job.' It expands with specific verb 'check' and resource 'status of a submitted job.' It distinguishes from siblings like 'submit_query' and 'pull_results' by detailing the status progression and when to call. This provides immediate clarity.

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 states when to use the tool ('Call this after submit_query'), provides polling frequency recommendations, and states when to stop polling. It also advises on when not to call in a tight loop and how to handle partial results with 'pull_results.' This comprehensive guidance effectively differentiates usage from alternatives.

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 provided. Description implies read-only operation but doesn't explicitly state behavioral traits like no side effects, pagination, or latency. Adequate but not detailed beyond obvious.

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 bullet point. Front-loaded with purpose, minimal waste. Every sentence contributes value.

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

Completeness4/5

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

For a history retrieval tool with output schema present, description covers the main purpose and usage context. Lacks mention of time ranges or filters, but these aren't in schema so not required.

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 (monitor_id and api_key) are described in schema. Description adds no additional meaning or context 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 'Get the status history of a monitor' with specific verb and resource. It distinguishes from siblings like get_monitor (current state) and list_monitors (list of monitors) by targeting historical timeline.

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?

Includes a 'Use when' section specifying the context: seeing timeline of state changes. Lacks explicit exclusions or alternatives, but provides actionable guidance for appropriate usage.

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 are provided, so the description carries the full burden of behavioral disclosure. The description only states it retrieves details but does not mention that it is read-only, what happens if the project_id is invalid (e.g., error handling), or any authorization requirements. Given the lack of behavioral context, the description is insufficient.

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

Conciseness4/5

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

The description is a single, concise sentence with no extraneous information. It is appropriately front-loaded with the core functionality. However, it could be slightly more structured, but overall it is 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?

Given that an output schema exists (documenting return values) and the input schema has 100% coverage, the description is minimally adequate. However, for a simple retrieval tool, it lacks any mention of error conditions, rate limits, or optional parameters like api_key. The completeness is acceptable but nothing more.

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

Parameters3/5

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

Schema description coverage is 100% as both api_key and project_id have descriptions in the schema. The tool description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate. No enrichment or clarification is offered.

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 ('Get') and the resource ('a single project's details'), effectively specifying the verb and resource. It distinguishes itself from sibling tools like list_projects (which retrieves multiple) and create_project/delete_project/update_project, all of which imply different operations. However, it does not differentiate from get_project_overview, but the name and description are sufficient for purpose clarity.

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, such as get_project_overview or list_projects. There are no instructions on prerequisites, input validation, or expected context. The description is purely declarative without any 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
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 only states the output format but does not clarify if it's read-only, required permissions, rate limits, or any side effects.

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

Conciseness5/5

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

Description is a single concise sentence that front-loads the verb and resource. No wasted words.

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

Completeness4/5

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

Given the presence of an output schema, the description does not need to explain return values. It adequately covers core functionality but could benefit from specifying resource types or statuses. Overall adequate for a simple overview 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 baseline is 3. The description adds no extra meaning beyond the schema descriptions for api_key and project_id.

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 retrieves a resource overview with counts grouped by resource type and status, using specific verb and resource. It effectively distinguishes from sibling tools like get_project or 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 this tool versus alternatives. Usage is implied from the description, but lacks clear context for when to choose this over list_project_resources or get_project.

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
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 clearly states the tool retrieves plan features and usage limits, implying a read-only operation. No side effects or destructive actions are hinted. Additional context like the API key's association could be added, but current text is 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?

The description is very concise: one sentence for purpose followed by two bullet-point usage scenarios. Every sentence is necessary and no filler.

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

Completeness5/5

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

Given the tool has only one optional parameter and an output schema exists, the description fully covers what the tool does and when to use it. No missing context is evident.

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

Parameters4/5

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

Schema coverage is 100% with a description for api_key. The description adds context by noting the API key is for the user and optional via header/env var, which goes beyond the schema's 'CatchAll API key' line.

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 'Retrieve plan features and current usage limits for your API key', using a specific verb and resource. It is distinct from sibling tools like 'list_datasets' or 'get_project'.

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

Usage Guidelines4/5

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

The description explicitly lists two use cases under 'Use when': knowing plan limits and checking usage before large jobs. This is clear guidance, though no exclusions or alternatives are mentioned.

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

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

Given no annotations, the description fully discloses that the tool maps to GET /version and does not require authentication. This provides essential behavioral context for a read-only operation.

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

Conciseness5/5

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

Two concise sentences front-load the purpose and include a critical usage detail. No superfluous 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?

For a simple tool with full schema coverage and an output schema, the description provides complete context: purpose, HTTP mapping, and authentication requirement.

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 schema already describes the optional api_key parameter. The description adds value by clarifying that the tool does not require an API key, reinforcing the parameter's optional nature 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 'Get current API version', which is a specific verb and resource. It distinguishes itself from sibling tools like check_health and get_dataset by focusing solely on version retrieval.

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 a clear usage condition. However, it does not mention alternatives or when not to use this tool, which slightly limits guidance.

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?

With no annotations, the description carries full burden. It implies read-only retrieval ('Retrieve') but does not elaborate on side effects, permissions, rate limits, or error conditions. It is adequate but minimal for a straightforward query 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: first states purpose, second gives usage scenario. No redundant words, front-loaded with essential information. Template guideline followed.

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 retrieval tool with an output schema, the description provides enough context by listing what the configuration includes (URL, method, headers, status). It lacks error handling details but is sufficiently complete for the tool's simplicity.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description mentions 'by its ID' confirming webhook_id usage but adds no extra meaning beyond the schema for either webhook_id or api_key.

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

Purpose5/5

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

The description clearly states the action 'Retrieve the full configuration of a specific webhook' and lists included fields (URL, method, headers, status). It distinctively identifies the resource and scope, differentiating from siblings like get_webhook_history 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?

Explicitly states 'Use when: - You want to inspect a webhook's URL, method, headers, or status by its ID.' This provides clear context for when to invoke but does not mention when not to use or list alternative tools.

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

get_webhook_historyAInspect

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

Use when:

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the function (retrieve history) but does not disclose behavioral traits such as read-only nature, pagination behavior, rate limits, authorization requirements, or error handling. Given the lack of annotations, this is insufficient for an agent to anticipate 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 concise with two sentences and a bullet point, front-loading the primary purpose. It is well-structured and wastes no words, though it could include a bit more detail without becoming 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 presence of an output schema and 100% parameter schema coverage, the description adequately covers the essential context (what the tool does and when to use it). The tool's complexity is moderate, and the description is sufficient for an agent to understand its role, though it lacks depth on pagination or result structure that the output schema likely covers.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add any meaning beyond what the input schema already provides. For example, it reiterates that resource_type can be 'job', 'monitor', or 'monitor_group', which is already in the schema description.

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 tool retrieves webhook delivery history for a specific resource type (job/monitor/monitor_group). It uses a specific verb ('Get') and resource ('webhook delivery history'), but does not explicitly differentiate from sibling tools like 'get_webhook' or 'list_webhook_resources', though the purpose is distinct enough.

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 an explicit 'Use when' section that specifies the scenario: wanting to see past webhook delivery attempts and outcomes for a job or monitor. This provides clear guidance on appropriate usage, though it does not mention when not to use or list alternatives.

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

initialize_queryAInspect

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

Use when:

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

  • You want to preview date adjustments via date_modification_message.

Do not use when:

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

Key behavior:

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

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

  • To reuse suggestions, pass them explicitly to submit_query.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

Discloses preview-only nature (no job creation), non-deterministic LLM-generated suggestions, and how to reuse results. Fully transparent with no annotations needed.

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 structured into purpose, usage, and key behavior sections. No wasted words; every sentence adds value.

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

Completeness5/5

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

Covers purpose, usage, behavioral traits, and parameter context. Output schema exists, so return values are documented elsewhere. Complete for a tool of this complexity.

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

Parameters4/5

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

Schema coverage is 100% with detailed parameter descriptions. Description adds value by providing usage context (e.g., guidance for `context` parameter about not asking for entity-relevance validators). Slightly above 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?

Uses specific verb 'preview' and resources 'validators, enrichments, and date ranges'. Clearly distinguishes from sibling tools like `submit_query` by stating it's a preview-only step.

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

Usage Guidelines5/5

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

Explicit use-when and do-not-use-when sections. Contrasts with `submit_query` for when to start processing. Provides clear conditions for using the tool.

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

list_dataset_entitiesBInspect

List the entities contained in a dataset.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are present, so the description must carry the full burden. It only says 'List', implying read-only, but does not explicitly state that the operation has no side effects, requires no special permissions, or behaves in any other notable way. Behavioral traits like pagination statefulness or rate limits are not disclosed.

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 unnecessary words. However, it could be slightly restructured to front-load the core action while also hinting at pagination or filtering options.

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 complex input schema (9 parameters, including pagination and multiple filters) and the presence of an output schema, the description is too minimal. It should at least mention that pagination, filtering, and sorting are supported to give a complete picture of the tool's capabilities.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already thoroughly documents each parameter. The description adds no additional semantic 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?

The description clearly states the action ('list'), the resource ('entities'), and the scope ('contained in a dataset'). It differentiates from sibling tools like list_entities (presumably lists all entities) and get_entity (single entity).

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 gives no guidance on when to use this tool vs alternatives. Siblings such as list_entities or list_datasets exist but are not mentioned, and no context about prerequisites or use cases is provided.

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 should disclose safety and behavior. It merely states 'list your datasets' which implies a non-destructive read, but fails to mention pagination, authentication requirements, rate limits, or return format. Significant gaps for a complex 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 a single sentence, concise but overly minimal. It earns its place but does not convey necessary information effectively.

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

Completeness2/5

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

Despite having an output schema and 9 parameters, the description omits crucial context such as what 'your' means (user vs project), prerequisites, or behavior beyond listing. Incomplete for a tool of this 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 coverage is 100%, so each parameter is adequately described in the input schema itself. The description adds no extra meaning beyond 'list your datasets', earning the 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 (listing) and resource (datasets), distinguishing it from create/get/delete/update siblings. However, it does not specify the scope or filtering capabilities, which are implied 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 explicit guidance on when to use this tool versus siblings like get_dataset or list_dataset_entities. The description lacks context for selection among similar tools.

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

list_entitiesCInspect

List your entities.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as authentication requirements, rate limits, or pagination behavior. While it implies a read-only operation, important details are missing.

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

Conciseness2/5

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

The description is extremely concise (3 words), but it under-specifies the tool's purpose and lacks valuable context. It is not effectively front-loaded; every sentence should add value, and this description is insufficient.

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

Completeness2/5

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

Despite having an output schema and 8 parameters, the description fails to provide an overview of what the tool does (e.g., listing entities with optional filters and pagination). It is incomplete and leaves the agent without sufficient 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?

The input schema has 100% description coverage, so parameters are already well-documented. The description adds no extra meaning beyond the schema, achieving the baseline of 3.

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

Purpose3/5

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

The description 'List your entities.' clearly states the verb (list) and resource (entities), but it is vague because it does not define what entities are in context, nor does it differentiate from sibling tools like list_dataset_entities. The purpose is identifiable but lacks specificity.

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 such as list_dataset_entities, get_entity, or other list tools. Without context, the agent cannot determine the appropriate scenario for invocation.

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

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

No annotations are provided, so the description carries full burden. It mentions returning history but does not disclose behavioral traits like pagination, rate limits, or how sorting affects results. The sort parameter from schema 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.

Conciseness5/5

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

The description is two sentences, front-loaded with the main action, and contains no unnecessary words. Every sentence adds value.

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

Completeness3/5

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

Given the output schema exists, the description need not explain return values. However, it lacks details on sorting and the scope of 'all jobs' (e.g., time range). It is adequate but could be more complete for a list tool with optional parameters.

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 explain the sort parameter or api_key in context.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'all jobs spawned by a monitor', and adds context 'Returns the history of scheduled runs'. It effectively distinguishes from siblings 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?

The description does not explicitly state when to use or not use this tool versus alternatives. It implies usage by requiring a monitor_id, but lacks explicit guidance on prerequisites or exclusion cases.

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

list_monitorsAInspect

List all your monitors.

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so the description carries the full burden. It indicates this is a read operation returning detailed monitor data, but does not mention authentication requirements or that results are paginated (though parameters hint at pagination). Acceptable but not comprehensive.

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

Conciseness5/5

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

Two sentences, front-loaded with the primary action and followed by return value summary. No 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?

Has output schema, so return values are covered. The description mentions key returned fields and is sufficient for a list tool. Could mention pagination or default ordering but not required.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds context about return fields but does not clarify parameter behavior beyond the schema descriptions (e.g., how search filters or ownership works). Adequate but no extra value.

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

Purpose5/5

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

The description clearly states the tool lists all monitors and specifies return fields (schedule, status, reference query, webhook config). It is distinct from sibling tools like list_projects and list_datasets.

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 over alternatives such as get_monitor_status or pull_monitor_results. The description does not mention prerequisites or context for listing vs. monitoring specific monitors.

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?

No annotations exist, so the description must carry the burden. It only says 'list the resources' without disclosing pagination, filtering, or other behavioral traits. The schema provides these details, but the description adds no value 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, concise sentence. While it lacks structure (e.g., bullet points), it is front-loaded and avoids waste. However, it could be slightly more organized.

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 5 parameters, pagination, filtering, and no annotations, the description is too minimal. It does not explain the overall functionality or when to adjust defaults. The output schema exists but doesn't compensate for the missing behavioral context.

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

Parameters3/5

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

All five parameters have descriptions in the schema, achieving 100% coverage. The description adds no additional meaning, so it meets the baseline expectation but does not exceed it.

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 resource ('resources contained in a project'). It distinguishes from sibling tools like 'list_projects' or 'list_datasets', though it could be more explicit about what constitutes a resource.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as list_datasets, list_monitors, or list_jobs. With many sibling tools, the lack of usage context makes it harder for an agent to choose correctly.

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

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

With no annotations, the description must cover behavioral traits. It fails to mention that this is a read-only operation, that results are paginated, or any authentication requirements. The description provides virtually no behavioral context beyond the tool's name.

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

Conciseness2/5

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

The description is extremely short (one sentence) but under-specified. It lacks critical operational details for a 5-parameter tool, making it more under-specified than concise.

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

Completeness1/5

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

Despite having a complex input schema and an output schema, the description offers no context about pagination, filtering behavior, or the structure of results. It is incomplete even 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%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides 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?

The description 'List your projects.' clearly states the verb (list) and resource (projects). It effectively distinguishes from sibling tools like create_project, get_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 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 or when to prefer alternatives. There is no mention of prerequisites, context, or exclusions.

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

list_resource_webhooksAInspect

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

Use when:

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

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the resource types but does not disclose error handling (e.g., missing resource), pagination behavior (though schema defines page/page_size), or any other behavioral traits. More detail is needed.

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

Conciseness5/5

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

The description is two short sentences with a clear purpose line and a 'Use when' section. No wasted words, front-loaded with key information.

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

Completeness3/5

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

The tool has 6 parameters with 2 required and an output schema. The description covers the core purpose but lacks details on handling edge cases (e.g., no matches, invalid resource_type). With output schema available, 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.

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 in the input schema. The description adds no extra meaning beyond 'resource (job/monitor/monitor_group)' and 'Use when' context. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'webhooks mapped to a specific resource' with explicit examples of resource types (job/monitor/monitor_group). This distinguishes it from sibling tools like 'list_webhooks' which likely list all 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 'Use when' section provides explicit context: 'You have a job or monitor ID and want to know which webhooks will fire for it.' It does not explicitly mention when not to use or alternatives, but the guidance is clear and helpful.

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

list_user_jobsAInspect

List all jobs submitted by you.

Returns your job history with IDs, queries, statuses, and timestamps.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries full burden. It discloses return fields (IDs, queries, statuses, timestamps) and implies a safe read operation. However, it does not mention any security, rate limits, or side effects, though none are expected for a list 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 concise sentences, front-loaded with purpose, immediate return info. Every word adds value; no fluff or repetition.

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

Completeness5/5

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

Given that an output schema exists (documenting return values), the description is complete. It succinctly states the tool's purpose and what it returns. Parameters are fully covered by the input schema. No gaps 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%, baseline 3. The description adds no parameter-specific information beyond what the schema already provides. It does not elaborate on pagination, filters, or API key handling.

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 jobs submitted by you', specifying the verb (list), resource (jobs), and scope (submitted by you). This distinguishes it from sibling list tools like list_monitor_jobs or list_datasets.

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 viewing your own job history but provides no explicit guidance on when to use this tool versus alternatives like list_monitor_jobs or when not to use it. No exclusions or alternatives are mentioned.

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

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

No annotations provided, and the description does not explicitly state that the tool is read-only or safe. For a list operation, safety is implied, but transparency is minimal.

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

Conciseness5/5

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

Extremely concise with two lines and no superfluous information. Every sentence serves a purpose.

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

Completeness4/5

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

Adequate for a list tool with an output schema (not shown). Covers the core functionality and use case, though pagination details are in the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already provides detailed parameter meanings. The description adds little beyond mentioning 'jobs/monitors', which aligns with the resource_type parameter.

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

Purpose5/5

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

The description uses a specific verb-noun pair 'List the resources mapped to a webhook', clearly 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?

Explicitly states when to use ('when you want to see which jobs/monitors a webhook is attached to'), but does not mention alternative tools like list_resource_webhooks for the reverse mapping.

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

list_webhooksAInspect

List all your webhooks.

Use when:

  • You want to see all webhook endpoints configured in your account.

  • You need to find a webhook_id to pass to monitors (via webhook_ids) or jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
page_sizeNoNumber of results per page (default: 100, max: 1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits like read-only nature, rate limits, or authentication requirements beyond what is implied by a list operation.

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

Conciseness5/5

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

The description is two sentences plus a bulleted 'Use when' list, front-loaded with the main purpose. No redundant 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?

For a simple list tool with full schema coverage and an output schema, the description is mostly complete. It lacks mention of pagination behavior but overall covers the 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 description coverage is 100%, so the schema already explains all parameters. The description adds no additional meaning for the parameters, 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 clearly states 'List all your webhooks', using a specific verb and resource. It distinguishes this tool from sibling list tools by focusing on 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?

Explicit 'Use when' scenarios are provided, such as seeing all webhook endpoints and finding webhook_id for monitors/jobs. No explicit when-not or alternatives are given, but the guidance is clear.

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

pull_job_csvAInspect

Download a job's results as a CSV file.

Use when:

  • You want the full job output as a CSV for offline analysis or export.

  • Prefer this over pull_results when the consumer needs spreadsheet/CSV format.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so description carries full burden. It states the action but lacks details on behavior like synchronous/asynchronous, error handling, or file size 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 plus a 'Use when' block, well-structured and front-loaded with 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?

Tool is simple and description covers main purpose and usage. Output schema exists but not shown; description implies CSV download, but no mention of response format details.

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

Parameters3/5

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

Schema coverage is 100%, so schema already describes parameters. Description adds no extra semantics beyond the schema definitions.

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 'Download a job's results as a CSV file.' with specific verb and resource. Distinguishes from sibling tools like pull_results and pull_monitor_csv.

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 when-to-use and comparison with alternative pull_results, noting preference for spreadsheet/CSV format.

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
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 states the action and format but does not disclose potential side effects, prerequisites (e.g., monitor must have runs), rate limits, or error handling. The behavior is straightforward, but additional context would help.

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

Conciseness5/5

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

The description is concise (two sentences plus bullet points), well-structured, and front-loaded. Every sentence serves a purpose without 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 has an output schema (known from context), the description does not need to explain return values. It covers the purpose, usage, and contrasts with a sibling. It could mention what happens if no runs exist, but overall it is complete for a download 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 descriptions for both parameters. The description mentions 'monitor_id' but does not add extra meaning beyond the schema. According to guidelines, baseline is 3 when coverage is high, and no additional context is provided.

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

Purpose5/5

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

The description clearly states the verb 'download', the resource 'latest monitor run's results', and the format 'CSV'. It also distinguishes from the sibling tool 'pull_monitor_results' by explicitly noting the CSV format preference.

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

Usage Guidelines5/5

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

The description includes explicit 'Use when' guidance with two scenarios, and directly compares to 'pull_monitor_results' for CSV needs. This provides clear context for agent decision-making.

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

pull_monitor_resultsAInspect

Retrieve the latest results from a monitor.

Returns the most recent run's results including run_info, records, and all_records.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries full burden. It implies a read operation ('Retrieve the latest results') and lists output fields, but does not explicitly state idempotency, permission requirements, or potential behavioral traits (e.g., rate limits, caching). The transparency is adequate but not comprehensive.

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

Conciseness5/5

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

The description is concise with two sentences, no filler, and directly states the purpose and output. It efficiently communicates the core function.

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 (not shown), the description is complete enough. It mentions the key output fields and the tool's purpose. It lacks a comparison to similar tools but that gap is more relevant for usage guidelines. The tool is simple (2 params, 1 required), so the description suffices.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both parameters. The description does not add extra meaning beyond the schema for parameters; it focuses on the output. Hence 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 retrieves 'the latest results from a monitor' and specifies the returned fields (run_info, records, all_records). This distinguishes it from sibling tools like 'pull_results' (general) and 'pull_monitor_csv' (CSV-specific).

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 such as 'pull_results' or 'pull_monitor_csv'. There is no mention of prerequisites, limitations, or comparisons to other tools.

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

pull_resultsAInspect

Retrieve the results of a job.

Can be called before completion for partial results, or after completion for the full set. Returns clustered, validated, and enriched web results. While job status is active, call this repeatedly (typically page=1) to refresh partial output. When job reaches completed, iterate all pages. If job fails, call once more to capture any partial output.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1). Use total_pages from the response to iterate through all results.
job_idYesThe job ID returned from submit_query
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
page_sizeNoNumber of records returned per page (default: 100, max: 1000).

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

No annotations are present, so the description carries the full burden. It transparently describes pagination, repeated calling, and handling of job completion and failure. No contradictions exist.

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

Conciseness5/5

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

The description is concise, using a single paragraph with clear, front-loaded purpose and subsequent usage details. Every sentence contributes meaning without redundancy.

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

Completeness4/5

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

Given the presence of an output schema and the tool's complexity, the description covers the job lifecycle, pagination, and error scenarios adequately. It doesn't mention every edge case but is sufficient for an agent to use correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining how 'page' and 'page_size' are used in the workflow (e.g., 'call repeatedly, typically page=1 to refresh partial output'), providing context beyond the schema.

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

Purpose5/5

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

The description clearly states 'Retrieve the results of a job' with a specific verb and resource. It distinguishes from sibling tools like pull_job_csv by mentioning 'clustered, validated, and enriched web results'. The context of partial and full results further clarifies its purpose.

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 is provided: call before completion for partial results, after completion for full, repeatedly during active status, iterate pages upon completion, and call once more on failure. This clearly directs when to use this tool vs. alternatives.

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

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

No annotations are provided, so the description bears full transparency burden. It clarifies that entities are not deleted, but fails to explain what 'remove' entails (e.g., whether it's reversible, side effects, required permissions, idempotency). This is insufficient for a mutating operation.

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

Conciseness5/5

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

A single concise sentence with no wasted words. The key behavioral distinction is front-loaded, making it 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?

Given the tool has 3 parameters, no nested objects, and an output schema, the description is adequate but not thorough. It distinguishes from siblings but omits edge cases and behavioral details. The output schema exists, so return values need not be explained, but more context on what 'removing' does would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are already documented in the schema. The description does not add meaningful semantics beyond what the schema provides, earning the 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 action ('remove entities from a dataset') and adds a critical caveat ('the entities themselves are not deleted'), which distinguishes it from sibling tools like delete_entity. The verb-resource pairing is specific.

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 by contrasting with deletion, but it does not explicitly state when to use this tool versus alternatives (e.g., 'Use this to dissociate entities; use delete_entity to permanently delete'). No when-not-to-use or prerequisites are given.

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

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

With no annotations provided, the description carries full responsibility for disclosing behavioral traits. The statement only says 'Remove' with no mention of authentication requirements, side effects, irreversibility, or error handling. This is insufficient for a mutative operation.

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

Conciseness5/5

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

The description is extremely concise with a single sentence that clearly communicates the action. Every word is purposeful, with no redundancy or unnecessary structure.

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 nature of the tool and the presence of a complete input schema and output schema, the description is minimally adequate. However, it lacks context about usage scenarios, preconditions, and potential consequences, which leaves gaps in 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?

The input schema has 100% coverage with clear descriptions for each parameter. The description adds no additional meaning beyond what the schema already provides, so it meets the baseline but does not enhance understanding.

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

Purpose5/5

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

The description clearly states 'Remove a single resource from a project', using a specific verb and resource. It effectively distinguishes the tool from siblings like 'add_project_resources' 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 Guidelines1/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. There is no mention of prerequisites, when not to use it, or references to related tools such as 'add_project_resources'.

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

remove_webhook_resourceAInspect

Unmap a resource from a webhook.

Use when:

  • You want to stop a webhook from firing for a specific job or monitor.

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

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the basic effect (unmapping) but omits important behavioral details such as whether the operation is reversible, any side effects, or authorization requirements. This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is extremely concise: two sentences that immediately state the action and intended use case. Every word earns its place with no redundancy.

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 existence of an output schema and full parameter documentation, the description is moderately complete. However, it lacks behavioral context (e.g., persistence, error handling) that would be valuable for a removal tool, preventing a higher score.

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 description coverage is 100%, so each parameter is already documented. The description adds no additional meaning beyond what the schema provides, resulting in a baseline score of 3.

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

Purpose5/5

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

The description clearly states the action ('Unmap a resource from a webhook') and the resource types (job, monitor). It distinctly differentiates from sibling tools like 'assign_webhook_resource' by specifying the direction of change.

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 this tool ('when you want to stop a webhook from firing for a specific job or monitor'). It provides clear context but does not mention when not to use or compare directly to alternatives.

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?

Without annotations, the description carries full responsibility for behavioral disclosure. It extensively explains auto-selection of optional fields, interaction with `connected_dataset_ids`, date semantics (discovery vs event date), parameter flexibility (arrays or JSON strings), and next steps. This exceeds typical transparency.

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

Conciseness5/5

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

The description is well-structured with clear headings and bullet points. Each sentence adds value, and it is front-loaded with the primary purpose. Despite length, it is concise relative to the complexity of the tool.

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 16 parameters and an existing output schema, the description covers all necessary aspects: usage context, parameter interactions, constraints, examples, and post-submission workflow. It leaves no critical gaps for an AI agent to misuse the tool.

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?

Schema description coverage is 100%, but the description adds crucial context beyond the schema, such as rules for `validators` and `enrichments` when datasets are attached, the meaning of `ed_score_min` and `ed_association_type`, and the behavior of `fetch_all_watchlist_news`. This greatly aids correct parameter usage.

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

Purpose5/5

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

The description begins with 'Create a new CatchAll processing job from a natural-language query,' clearly stating the verb and resource. It distinguishes itself from sibling tools like `get_job_status` and `pull_results` by specifying when to use each.

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

Usage Guidelines5/5

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

Explicit 'Use when' and 'Do not use when' sections provide clear context. It advises against using for job status or results, directing to appropriate alternatives. The description also includes detailed rules and examples for correct usage.

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
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 'test delivery' but does not disclose side effects (e.g., idempotency, logging, state changes). Adequate but lacks explicit safety guarantees.

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 bulleted use-case; no unnecessary words or 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?

Has output schema, so return values are covered. Description covers core purpose and usage, but could mention authentication (api_key parameter) and that the test event is safe/no side effects. Still reasonably complete for a simple test 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%; description does not add meaning beyond what the schema already provides for the three parameters. Baseline score 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 sends a test delivery to verify webhook URL reachability and configuration, distinguishing it from sibling 'trigger_webhook' which likely triggers actual events.

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 specifies when to use: before attaching a webhook to a monitor or job, implying it is not for production triggering.

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

trigger_webhookAInspect

Manually trigger webhook delivery for a resource (job/monitor/monitor_group).

Use when:

  • You want to (re-)send a webhook delivery on demand instead of waiting for the automatic dispatch — e.g. to replay a missed or failed delivery.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNoOptional job ID whose payload should be delivered (e.g. a specific monitor run's job). If omitted, the API picks the resource's payload itself.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
webhook_idYesThe webhook ID to deliver through.
resource_idYesThe ID of the job/monitor/monitor_group to trigger delivery for.
resource_typeYesResource type: 'job', 'monitor', or 'monitor_group'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'trigger webhook delivery' without disclosing that this actually sends an HTTP request, potential side effects (e.g., external system impact), or error conditions. The description lacks details on authentication requirements (api_key is optional but not explained) and whether the delivery is synchronous or asynchronous.

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 bullet list. Every sentence adds value. The purpose is stated first, followed by explicit usage guidelines. No wasted words.

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

Completeness4/5

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

Given the presence of an output schema, the description does not need to explain return values. It covers the essential purpose and usage, but could include more about behavioral aspects (e.g., synchronous vs. async, error handling). Still, it is complete enough to understand the tool's role.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters well. The description mentions 'resource' and 'webhook' but does not add additional meaning beyond the schema. Baseline score is appropriate.

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

Purpose5/5

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

The description clearly states the verb ('trigger') and the resource ('webhook delivery for a resource (job/monitor/monitor_group)'). It distinguishes from siblings like 'test_webhook' (testing connectivity) and 'assign_webhook_resource' (linking resources) by specifying on-demand delivery instead of waiting for automatic dispatch.

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 ('when you want to (re-)send a webhook delivery on demand instead of waiting for automatic dispatch') and provides an example ('replay missed or failed delivery'). It does not explicitly state when not to use or mention alternatives, but the context is clear enough.

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

update_datasetBInspect

Update a dataset's name and/or description.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional new dataset name.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
dataset_idYesThe dataset ID to update.
descriptionNoOptional new dataset description.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as idempotency, authorization requirements, rate limits, side effects (e.g., overwriting existing values), or response behavior. For a mutation tool, this is insufficient.

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

Conciseness4/5

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

The description is a single concise sentence, front-loaded with the key action. It contains no waste, but the extreme brevity sacrifices necessary context, making it less effective than a slightly longer but more informative version.

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 tool has 4 parameters (1 required) and an output schema, yet the description provides no additional context about return values, error states, or typical usage patterns. Given that the schema already describes parameters, the description should fill gaps, but it leaves many behavioral questions unanswered.

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 all 4 parameters. The description adds minimal value beyond summarizing that name and/or description can be updated, which is already evident from the parameter names and schema descriptions.

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

Purpose5/5

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

The description clearly states the verb 'Update' and the resource 'dataset', specifying the fields that can be changed ('name and/or description'). This directly differentiates 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?

The description offers no guidance on when to use this tool versus alternatives, no prerequisites, no error conditions, and no indication of scope or limitations. It simply states what the tool does without context.

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, the description carries the full burden, but it only lists updatable fields. It does not disclose whether the update is partial or full, what happens if the entity doesn't exist, or any authentication/authorization requirements. For a mutation tool, this is insufficient.

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

Conciseness5/5

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

The description is a single sentence that conveys the core functionality without unnecessary words. It is well 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?

Given the presence of an output schema, return value explanation is not required. However, the description lacks details on partial updates, error handling, or idempotency, which are important for a complex update operation with a flexible attributes parameter.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description adds no extra semantic information beyond reiterating the fields. Baseline 3 is appropriate as the description 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 explicitly states the tool updates an entity and lists the specific fields (name, description, external_entity_id, attributes). This clearly distinguishes it from sibling tools like create_entity, delete_entity, and get_entity.

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

Usage 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., update_dataset for other resource types), nor does it mention prerequisites like the need for an existing entity or authentication. The agent lacks context for appropriate invocation.

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?

With no annotations, the description carries the transparency burden. It discloses mutating behavior and restrictions but omits prerequisites, error handling, and idempotency. The note about webhook centralization adds value, but more detail on side effects or requirements would improve clarity.

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, front-loaded with the purpose, and includes a note and a sentence. 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.

Completeness5/5

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

Given the presence of an output schema, the description adequately covers the tool's functionality, parameter usage, and constraints. It addresses the specific subset of fields that can be updated, making it complete for the intended use.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds context beyond the schema, such as clarifying that webhook_ids come from create_webhook/list_webhooks and that an empty list clears assignments. This enriches 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 tool updates a monitor's webhook assignments and per-run limit. It distinguishes itself from sibling tools like create_monitor, delete_monitor, etc., by specifying the restricted fields (schedule, reference_job_id) that cannot be modified.

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 what fields can be updated and notes that schedule and reference_job_id cannot be modified. It also guides on webhook IDs, referencing create_webhook/list_webhooks. However, it does not explicitly state when not to use this tool or provide alternatives for other modifications.

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?

The description adds one behavioral detail: 'Only the fields you provide are changed.' This indicates partial update semantics. However, there are no annotations to provide additional context like permissions, idempotency, or side effects. The description is adequate but leaves some traits unaddressed.

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 consists of two short sentences with no wasted words. The key information (what the tool does and the partial update behavior) is front-loaded and clear.

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

Completeness4/5

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

Given the presence of an output schema, the description does not need to detail return values. It covers the essential purpose and update behavior. Missing are prerequisites like required permissions or what happens if the project does not exist, but for a simple update tool it is mostly complete.

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

Parameters4/5

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

The input schema has 100% coverage with descriptions for each parameter. The description augments the schema by clarifying the partial update behavior, which adds meaning beyond individual parameter descriptions. It explains that only provided fields are updated, which is key for correct usage.

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

Purpose5/5

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

The description clearly states the verb "Update" and the resource "project", specifying the updatable fields (name and/or description). It distinguishes from create_project and delete_project siblings by implying it modifies an existing project rather than creating or deleting.

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 this tool is for updating existing project fields, but does not explicitly state when to use it versus alternatives like create_project or when not to use it (e.g., no prerequisites or cases where other tools are preferred). The guidance is minimal.

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

update_webhookAInspect

Update an existing webhook's configuration.

Use when:

  • You want to change a webhook's URL, method, headers, or other settings.

  • You want to enable or disable a webhook (set is_active).

  • Only the fields you provide are updated; omitted fields remain unchanged.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoUpdated target URL.
authNoUpdated auth object. One of: - {"type": "bearer", "token": "..."} - {"type": "api_key", "header": "X-API-Key", "value": "..."} - {"type": "basic", "username": "...", "password": "..."}
nameNoUpdated webhook name.
typeNoUpdated webhook type: 'generic', 'slack', 'teams', or 'custom'.
methodNoUpdated HTTP method: one of GET, POST, PUT, PATCH, DELETE.
paramsNoUpdated dict of query string parameters.
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.
headersNoUpdated dict of custom HTTP headers.
is_activeNoSet to false to disable the webhook (stop deliveries), true to re-enable it.
webhook_idYesThe webhook ID to update.
delivery_modeNoUpdated delivery mode: 'full' or 'per_record'.
formatter_configNoUpdated formatter configuration dict.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations provided, so the description carries full burden. It discloses partial update semantics ('omitted fields remain unchanged') but does not mention return behavior, permissions, idempotency, or side effects beyond configuration change.

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

Conciseness5/5

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

The description is concise with five sentences, front-loads the purpose, and uses bullet-style lines for usage. No redundant or wasted words.

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

Completeness3/5

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

Given 12 parameters and no annotations, the description is somewhat minimal. It covers the partial update behavior but does not explain output (though output schema exists) or potential error states. Adequate but not thorough.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are fully documented. The description adds minimal extra meaning beyond listing examples (URL, method, headers), making it baseline adequate.

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 'Update an existing webhook's configuration' with a clear verb-resource pair. It distinguishes from sibling tools like create_webhook, delete_webhook, and 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?

The 'Use when' section lists specific contexts (changing URL, method, enabling/disabling) and notes partial update behavior. However, it lacks explicit when-not-to-use guidance or alternatives.

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

validate_queryAInspect

Check the quality of a query before submitting a job ("Check Query Quality").

Use when:

  • You want quick feedback on whether a query is well-formed for CatchAll before spending credits on a job.

  • You want concrete suggestions to improve a vague or overly broad query.

Do not use when:

  • You want to preview auto-generated validators/enrichments (use initialize_query).

  • You want to actually run a search (use submit_query).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe natural-language query to assess (required).
api_keyNoCatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations provided, so description carries full burden. It implies read-only behavior ('check quality') and saving credits, but does not explicitly state side effects or cost model. Slight lack of detail, but sufficient for a validation 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?

Very concise with clear sections for use and non-use cases. Every sentence adds value, 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?

Covers purpose, usage boundary, and refers to siblings. Output schema exists so return values are covered. Lacks explicit mention of logging or credit consumption, but overall adequate for tool 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 coverage is 100%, so parameters are fully defined in schema. Description adds no extra semantic detail about parameters beyond what schema provides, meeting baseline expectation.

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

Purpose5/5

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

Description clearly states it checks query quality before submitting a job. Distinguishes from initialize_query (preview validators) and submit_query (run search) by specific use cases.

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

Usage Guidelines5/5

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

Explicit 'Use when' and 'Do not use when' sections provide clear guidance on when to choose this tool over siblings, including alternatives for different needs.

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

  • F
    license
    B
    quality
    D
    maintenance
    Enables querying and retrieving structured event data from the Informa Connect event directory, with support for various filters, pagination, and speaker extraction.
    Last updated
    9
  • A
    license
    -
    quality
    B
    maintenance
    Web search API for AI agents. Returns structured results with title, URL, and snippet; pay-per-call via x402 micropayments.
    Last updated
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Web search for AI agents across 6 engines (Serper, Brave, Exa, Tavily, Firecrawl, Perplexity) through one search tool. Routes each query to the cheapest engine that clears a quality bar and caches repeats. Hosted, streamable-HTTP, BYOK supported.
    Last updated
    1
    1
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.