CatchAll (by NewsCatcher)
Server Details
CatchAll is a web search API built for comprehensive event retrieval — not ranked results, but all matching records.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.8/5 across 60 of 60 tools scored. Lowest: 2.4/5.
Most tools have clearly distinct purposes, especially with detailed descriptions differentiating similar ones like append_csv_to_dataset vs create_dataset_from_csv. However, a few pairs (e.g., pull_results vs pull_job_csv, get_job_status vs list_user_jobs) could cause initial confusion if descriptions are not read carefully.
Predominantly uses verb_noun pattern (create_, list_, delete_, update_) with consistent snake_case. However, there is some mixing of get_ vs pull_ for retrieval, and a few longer names like assign_webhook_resource that deviate slightly from the standard pattern.
60 tools is on the high side for an MCP server, covering many CRUD operations and management tasks. While the domain is complex, the number may overwhelm agents. It could be streamlined by combining some tools (e.g., single entity and batch creation) or reducing listing variants.
The tool surface is comprehensive, covering all major lifecycle operations for datasets, entities, jobs, monitors, webhooks, and projects. Minor gaps exist, such as no dedicated tool for getting a single job's full details (only status is available) and no update for jobs, but the core workflow is well-supported.
Available Tools
60 toolsadd_dataset_entitiesCInspect
Add existing entities to a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| dataset_id | Yes | The dataset ID to add entities to. | |
| entity_ids | Yes | List of entity IDs to add (required). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fails to disclose any behavioral aspects such as side effects, auth requirements, idempotency, or error conditions. Given no annotations are present, the description carries the full burden and does not meet it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it could be slightly expanded to include essential usage context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter structure and presence of an output schema, the description is minimally complete but lacks behavioral and usage guidance, which are needed for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters adequately. The description adds no additional semantic detail beyond what the schema provides, earning a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (add) and resource (entities to a dataset), distinguishing it from creation tools like create_entity or create_entities_batch. However, it does not explicitly differentiate from sibling tools like add_project_resources or remove_dataset_entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidelines are provided on when to use this tool versus alternatives, nor any prerequisites or conditions. The description only implies usage for adding existing entities, but offers no exclusions or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_project_resourcesAInspect
Add one or more resources to a project.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| resources | Yes | A 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_id | Yes | The project ID to add resources to. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description must provide behavioral details. It does not disclose side effects, permissions, rate limits, or behavior if resources already exist (e.g., error or overwrite). This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence with no redundant information. All words are necessary and the structure is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the schema covers parameters and an output schema exists, the description is minimally complete for a simple addition tool. However, lack of behavioral transparency lowers completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter definitions. The description adds no extra meaning beyond what the schema provides, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Add one or more resources to a project.' It uses a specific verb and resource, and distinguishes from sibling tools like remove_project_resource and list_project_resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives or prerequisites. The description implies usage for adding resources but lacks context on conditions like project existence or idempotency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
append_csv_to_datasetAInspect
Append entities from a CSV file to an existing dataset.
Parses the CSV and appends its entities to the dataset. Each row must
have a name column; include a domain or description column (or both)
for meaningful enrichment. Duplicate rows (by name) are skipped. To create
a new dataset from a CSV, use create_dataset_from_csv instead.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | CSV content (required) — raw CSV text or standard base64-encoded CSV, capped at 10 MB after decoding. Server-side file paths are not accepted. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| dataset_id | Yes | The dataset ID to append entities to (required). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. Discloses parsing, appending, duplicate skipping, and column requirements. Could mention potential side effects or error conditions but adequately covers core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose. No redundant or unnecessary information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core behavior, required columns, sibling distinction, and duplicate handling. Output schema exists for return values. Lacks mention of error handling or performance constraints, but sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds context about CSV format (columns required) but does not significantly enhance parameter understanding beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool appends entities from a CSV to an existing dataset, using a specific verb and resource. It distinguishes itself from the sibling tool 'create_dataset_from_csv' by explicitly stating when to use that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use (append from CSV) and when-not-to-use (use create_dataset_from_csv for new datasets). Also details row requirements (name column required, domain/description optional) and notes duplicate handling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_webhook_resourceAInspect
Map a resource (job, monitor, or monitor_group) to a webhook.
Use when:
You want a webhook to fire for a specific job or monitor's deliveries.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| webhook_id | Yes | The webhook ID to attach the resource to. | |
| resource_id | Yes | The ID of the job/monitor/monitor_group to map. | |
| resource_type | Yes | Resource type: 'job', 'monitor', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description lacks behavioral details like idempotency, overwrite behavior, permission requirements, or limits. Agent may not know if re-mapping replaces or errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short impactful sentences, front-loaded with action and context. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description covers core operation. Lacks side-effects or error conditions, but adequate for the simple mapping task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters. Description mainly restates schema info (e.g., resource types). Adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States verb 'map' and clearly specifies resources (job, monitor, monitor_group) to webhook. Distinguishes from sibling tools like create_webhook or list_webhooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'Use when' clause indicating the scenario. No mention of when not to use or alternatives, but clear enough for common cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_healthAInspect
Check API health status.
This tool maps to GET /health and does not require an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional CatchAll API key. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but description clarifies auth requirement (no API key) and maps to a GET endpoint, implying read-only nature. Sufficient for a simple health check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Front-loaded with purpose, then provides endpoint mapping and auth info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a health check tool: purpose, HTTP method, auth requirement noted. Output schema exists, so return details not needed in description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters. Description adds value by explaining that the optional API key is not required, beyond schema's default description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool checks API health status, mapping to GET /health. This is specific and distinct from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes that it doesn't require an API key, which guides usage. Lacks explicit when-not-to-use or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
continue_jobAInspect
Expand a job by processing more records beyond the initial limit.
This increases the number of records the system processes (which costs additional credits). Only use this when the user wants MORE data processed.
This only applies to jobs originally submitted with limit.
If a job was submitted without limit, there is nothing to continue.
The new_limit must be greater than the previous limit when provided.
If omitted, API defaults to your plan maximum.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID to continue processing | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| new_limit | No | Optional new record processing limit (must exceed the previous limit if provided). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses key behavioral traits: that processing costs additional credits, the new_limit must exceed the previous, and it defaults to plan maximum. It does not mention potential side effects like job state changes or asynchronous behavior, but the core behavioral aspects are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (4 sentences), front-loaded with the main purpose, and each sentence provides necessary context without redundancy. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and absence of annotations, the description adequately covers preconditions, usage constraints, and cost implications. An output schema exists (not shown) likely covering return values. Minor omission: it doesn't specify whether the continuation appends or restarts processing, but overall it's complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters. The description adds value beyond the schema by clarifying that new_limit must be greater than the previous limit and that omitting it defaults to plan maximum. It also reinforces that the job must have been submitted with a limit, which is not captured in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Expand a job by processing more records beyond the initial limit.' It uses a specific verb ('expand') and resource ('job'), and distinguishes itself from siblings by specifying it applies only to jobs originally submitted with a limit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('Only use this when the user wants MORE data processed') and provides a clear exclusion: 'This only applies to jobs originally submitted with `limit`. If a job was submitted without `limit`, there is nothing to continue.' It does not name alternatives but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_datasetAInspect
Create a new dataset.
Datasets are collections of entities (companies/people). Connect a dataset to
a job via submit_query(connected_dataset_ids=[...]) to narrow retrieval scope.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable dataset name (required). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| entity_ids | No | Optional list of existing entity IDs to seed the dataset with. | |
| project_id | No | Optional project ID to associate this dataset with. | |
| description | No | Optional dataset description. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the dataset's role as an entity collection and its integration with jobs. Does not mention auth requirements or potential side effects, but creation is generally safe and non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clear paragraphs, front-loaded with core action, then concept explanation and cross-reference. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and an output schema, the description adequately covers the tool's purpose and usage. It does not need to explain return values since output schema is provided. Could mention expected output but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds minimal extra meaning beyond parameter names and brief descriptions; for example, it does not explain formatting rules for entity_ids or uniqueness constraints for name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create a new dataset' and explains that datasets are collections of entities (companies/people). It distinguishes from siblings like create_dataset_from_csv by noting the entity-based nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains that datasets are used to narrow retrieval scope when connected to a job via submit_query. Does not explicitly state when not to use or contrast with similar tools, but the sibling list provides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_dataset_from_csvAInspect
Create a new dataset by uploading a CSV file.
The CSV must have at least a name column. For meaningful entity
enrichment each row should also include a domain column or a
description column (or both) — a row with only a name is accepted but
produces lower-quality enrichment. Additional columns are mapped to entity
attributes. Max file size is plan-dependent. To add CSV rows to an
existing dataset, use append_csv_to_dataset instead.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | CSV content (required) — raw CSV text or standard base64-encoded CSV, capped at 10 MB after decoding. Server-side file paths are not accepted. | |
| name | Yes | Human-readable dataset name (required). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| project_id | No | Optional project ID to associate this dataset with (new in 1.6.1). | |
| description | No | Optional dataset description. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses key behaviors: CSV content requirements, quality implications of missing columns, plan-dependent max file size, and mapping of additional columns to attributes. It does not detail return behavior or authentication, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (5 sentences) with no redundant information. It front-loads the main action and then provides necessary details in a logical order, making it easy for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (CSV upload, enrichment, parameter mapping), the description covers prerequisites, quality tips, size limits, and alternatives. An output schema exists for return values. Missing details like error handling or enrichment specifics, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining the meaning of CSV columns beyond schema descriptions, such as the necessity of a name column and the benefit of domain/description for enrichment. This extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new dataset by uploading a CSV file, distinguishing it from the sibling `append_csv_to_dataset` which adds to an existing dataset. The verb and resource are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides when to use (create new dataset from CSV) and when not to use (use `append_csv_to_dataset` for adding rows). It also gives guidance on CSV requirements (name column, recommended domain/description) and mentions plan-dependent file size limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_entities_batchBInspect
Create multiple entities in one call.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| entities | Yes | A 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
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'create' (write operation) but fails to disclose potential limits, error behavior (e.g., partial failures), authentication requirements, idempotency, or side effects. This leaves significant ambiguity for a batch creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb-resource pair, making it highly concise. However, it could include a brief mention of key constraints without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the agent can infer return values, but the description does not mention important context such as batch size limits, entity type constraints, or the purpose of the optional api_key parameter. It is too minimal to be fully complete for a batch operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond what the schema already provides. The baseline for high coverage is 3, and the description does not improve parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (create), resource (entities), and distinguishes from the singular 'create_entity' sibling by specifying 'multiple' and 'in one call'. This immediately informs the agent of the tool's batching capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this batch tool versus alternatives like 'create_entity' (singular) or 'add_dataset_entities'. The description does not mention prerequisites, limits, or appropriate contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_entityAInspect
Create a single entity (a company or person).
name is required plus at least one identifying
field: either description or additional_attributes.company_attributes.domain.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Entity name (required). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| description | No | Optional description of the entity. | |
| entity_type | No | Optional entity type: 'company' (default) or 'person'. | |
| external_entity_id | No | Optional customer-supplied identifier linking this entity to an external system's record (new in 1.6.3). | |
| additional_attributes | No | Optional structured attributes. For companies, use `{"company_attributes": {"alternative_names": [...], "domain": "...", "key_persons": [...], "description": "..."}}`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It only states creation; lacks details on idempotency, error behavior, permissions, or side effects. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, every word adds value. Efficient and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given full schema coverage and output schema, description covers key usage nuance. Missing some behavioral context, but adequately complete for a create tool with rich structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, baseline 3. Description adds extra semantic value by clarifying the constraint 'at least one of description or additional_attributes.company_attributes.domain' beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a single entity (company or person), with specific verb and resource. It distinguishes from sibling 'create_entities_batch' by emphasizing single entity creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for single entity creation, contrasting with batch creation sibling. However, it does not explicitly state when not to use or provide alternatives, though the distinction is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_monitorAInspect
Create a recurring monitor from a completed job.
Monitors re-run a job's query on a schedule. Use the explore -> refine -> automate pattern: submit a job, refine until results match, then create a monitor.
The schedule is defined in natural language (e.g., 'every day at 9 AM EST').
Always include a timezone (in the schedule text or via the timezone arg).
API-enforced constraints apply:
If
backfill=true, reference job end_date must be within the last 7 daysIf
backfill=false, reference job age does not matterMinimum 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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional max records per run (minimum 10). If omitted, API uses plan default. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| backfill | No | Optional gap-fill toggle before first run (default true). | |
| schedule | Yes | Natural language schedule (e.g., 'every day at 9 AM EST', 'every Monday at 8 AM UTC', 'every 48 hours') | |
| timezone | No | Optional IANA timezone for the schedule (e.g. 'America/New_York'). Defaults to UTC. A timezone written into the schedule text overrides this. | |
| project_id | No | Optional project ID to associate this monitor with. | |
| webhook_ids | No | Optional list of webhook IDs to notify on each run completion (max 5). | |
| reference_job_id | Yes | ID of a completed job to use as the template |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses key behaviors: natural language schedule, backfill constraints, minimum frequency, and webhook centralization. Could add more about lifecycle but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured, front-loaded with purpose, then usage pattern, schedule guidance, constraints as bullets, and webhook note. No redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complexity (8 params, 2 required, output schema exists), description covers when to use, schedule format, timezone rules, backfill constraints, and webhook integration. Output schema exists, so return format not needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds meaning beyond schema by explaining backfill constraints, timezone override, and webhook_id referencing, so a 4 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it creates a monitor from a completed job and explains the monitor concept. Distinguishes from sibling tools like delete_monitor or update_monitor by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use after job refinement, always include a timezone, and use centralized webhooks. Implicitly tells when not to use (e.g., for updates, use update_monitor).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectAInspect
Create a new project.
Projects group related resources (jobs, monitors, datasets, monitor_groups)
so you can organize work and filter listings by project_id.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable project name (required). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| description | No | Optional project description. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the creation action and purpose but lacks details on side effects, permissions, quotas, or whether the operation is synchronous. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler, efficiently conveying purpose and context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool, the description is adequate but omits return value details (though output schema exists) and any constraints like project creation limits or naming rules.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds only the context that name is required and api_key is optional via different sources. It does not enrich parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new project' and explains that projects group related resources, distinguishing it from sibling tools like update_project or delete_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (organizing resources) but does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhookAInspect
Create a new webhook endpoint.
Use when:
You want to register a URL to receive job or monitor result deliveries.
You need a webhook_id to attach to a monitor (via webhook_ids) or a job submission.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL that will receive webhook deliveries (required). | |
| auth | No | Optional auth object forwarded with each delivery. One of: - {"type": "bearer", "token": "..."} - {"type": "api_key", "header": "X-API-Key", "value": "..."} - {"type": "basic", "username": "...", "password": "..."} | |
| name | Yes | Human-readable name for the webhook (required). | |
| type | No | Optional webhook target type: 'generic' (default), 'slack', 'teams', or 'custom'. 'slack'/'teams' send pre-formatted payloads; 'generic'/'custom' send the raw result payload. | |
| method | No | HTTP method for delivery (default 'POST'). One of GET, POST, PUT, PATCH, DELETE. | POST |
| params | No | Optional dict of query string parameters appended to the webhook URL. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| headers | No | Optional dict of custom HTTP headers to include in deliveries. | |
| delivery_mode | No | Optional delivery mode: 'full' (default, whole result set in one call) or 'per_record' (one call per article). | |
| formatter_config | No | Optional custom payload transformation config dict. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full transparency burden. It explains the tool's primary function and return of a webhook_id, but does not disclose potential side effects, prerequisites (e.g., URL reachability), or permissions needed. Adequate but could be more thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two sentences plus a bullet list. It is front-loaded with the main purpose and then usage cases. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters (all documented in schema) and an output schema, the description covers the creation context well. It explains what the webhook is used for after creation. Could mention the output shape explicitly, but the output schema compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description does not add new meaning to parameters; it only mentions webhook_id in usage but that's not a parameter. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a webhook endpoint and lists specific use cases (registering URL for deliveries, obtaining webhook_id). However, it does not distinguish from sibling tools like test_webhook or trigger_webhook, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use when:' section provides two explicit scenarios for using the tool. It lacks what not to use it for or alternatives, but the guidance is clear and relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_datasetAInspect
Permanently delete a dataset.
The entities the dataset referenced are not deleted; only the dataset and its entity associations are removed.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| dataset_id | Yes | The dataset ID to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It transparently states the action is irreversible ('permanently delete') and clarifies that entities are unaffected. This is adequate but could mention permission or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, directly stating the action and clarifying side effects. No wasted words, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and schema covers parameters, the description sufficiently explains the tool's effect and limitations. It provides clarity on entity preservation, which is key context for this delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents parameters. The description adds no additional meaning beyond what's in the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Permanently delete a dataset' with a specific verb and resource. It distinguishes itself from sibling tools like delete_entity by explicitly noting that entities are not deleted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when needing to remove a dataset) and notes that entity associations are removed without deleting entities, which helps avoid misuse. However, it does not explicitly name alternative tools or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_entityBInspect
Permanently delete an entity.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| entity_id | Yes | The entity ID to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. It mentions 'Permanently delete' indicating destruction but lacks details on side effects (e.g., cascade deletion, required permissions) or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Could be slightly more informative but remains efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool and presence of output schema, the description is minimally complete but lacks details on success/error responses and the impact of deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parameters. The description adds no additional meaning beyond what's in the schema for entity_id and api_key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Permanently delete') and resource ('entity'), distinguishing it from sibling delete tools like delete_dataset or delete_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or alternatives; the description implies usage for deleting any entity but does not warn about irreversibility or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_jobAInspect
Permanently delete a job and its results.
Use when:
You want to remove a job you no longer need from your account.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID to delete. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses permanence and that results are also deleted, which is key for a deletion tool. However, it could mention prerequisites or state changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with a bullet for usage. Every word serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, 1 required, output schema exists), the description is sufficiently complete. It covers purpose and usage, though slightly more behavioral detail could be added.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no extra meaning beyond the input schema, which already describes both parameters. Schema description coverage is 100%, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it permanently deletes a job and its results, using a specific verb and resource. It distinguishes from sibling delete tools (e.g., delete_dataset, delete_entity) by explicitly mentioning 'job'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use when' section provides clear context for when to use the tool: to remove a job no longer needed. It does not explicitly state when not to use, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_monitorAInspect
Permanently delete a monitor and stop its scheduled runs.
Use when:
You want to remove a monitor entirely (use
disable_monitorto only pause it).
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| monitor_id | Yes | The monitor ID to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It mentions permanence and stopping scheduled runs, but does not disclose authorization requirements, side effects on associated data, or error scenarios. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with a bullet point for usage guidance. Every sentence adds value, no redundancy. Front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need no explanation. The description covers purpose and usage well. Lacks mention of prerequisites or error handling, but overall sufficient for a simple deletion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers both parameters (api_key and monitor_id) with descriptions. The tool description adds no extra semantic information beyond what the schema provides. With 100% schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Permanently delete a monitor and stop its scheduled runs') and distinguishes from the sibling tool 'disable_monitor' by noting that disable only pauses, not deletes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides use cases: 'Use when: - You want to remove a monitor entirely (use `disable_monitor` to only pause it).' This directly guides the agent on when to use this tool versus the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_projectAInspect
Delete a project.
By default the project's resources (jobs, monitors, etc.) are detached but
kept. Set delete_resources=true to also delete the contained resources.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| project_id | Yes | The project ID to delete. | |
| delete_resources | No | If true, also delete the project's resources (default false). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses key behavioral traits: default detachment of resources and the option to delete them. This covers the main side effects, though permissions or reversibility are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and provide a key option. Every sentence is valuable with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deletion tool with one required parameter, an optional boolean, and existing output schema, the description covers core behavior and the critical option. It is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with clear descriptions for all parameters. The tool description reinforces the delete_resources parameter's default behavior but does not add new semantic information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name and description clearly state 'Delete a project.', which distinguishes it from sibling tools like delete_dataset and delete_job by specifying the target resource type. The additional detail about resources detachment vs deletion adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains default behavior (resources detached but kept) and the option to delete resources, providing clear context for use. However, it does not explicitly mention when not to use this tool or compare to alternatives like update_project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webhookAInspect
Permanently delete a webhook endpoint.
Use when:
You want to remove a webhook from your account.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| webhook_id | Yes | The webhook ID to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states 'permanently delete', indicating destructive and irreversible behavior. It does not elaborate on side effects or permissions beyond the schema, but the core behavioral trait is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and contains no unnecessary words. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and full parameter coverage, the description covers the core purpose adequately. It could explicitly mention irreversibility beyond 'permanently delete' or required permissions, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add parameter details. It does not provide extra meaning beyond the schema, maintaining the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Permanently delete a webhook endpoint', using a specific verb and resource. It distinguishes from sibling tools like create_webhook, update_webhook, and list_webhooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-to-use: 'Use when: You want to remove a webhook from your account.' It does not mention when not to use or alternatives, but the context is adequate for a simple delete operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disable_monitorAInspect
Disable a monitor to stop its scheduled runs.
The monitor can be re-enabled later with enable_monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| monitor_id | Yes | The monitor ID to disable |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that disabling stops scheduled runs and that the action is reversible, but lacks details on side effects (e.g., impact on currently running jobs, data preservation). Since no annotations are provided, more behavioral context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, front-loaded with the primary action. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with an output schema present, the description covers the essential purpose and reversibility. No further context needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description adds no additional meaning beyond the schema, meeting the baseline for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states 'disable a monitor to stop its scheduled runs', clearly defining the verb and resource. It distinguishes from siblings like delete_monitor (permanent) and enable_monitor (opposite) by mentioning re-enabling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use when wanting to temporarily suspend scheduled runs, and mentions enable_monitor as the alternative for re-enabling. However, does not explicitly state when not to use (e.g., for permanent removal) or provide prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_monitorAInspect
Enable a previously disabled monitor to resume its scheduled runs.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| backfill | No | Optional backfill behavior for resume. | |
| monitor_id | Yes | The monitor ID to enable |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It only states that the monitor resumes scheduled runs, but omits important details like whether enabling triggers immediate runs, if there are side effects, or if the monitor must be disabled first. The description is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence of 9 words, front-loading the purpose. Every word is necessary, and there is no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description adequately covers the core purpose. It could mention prerequisites (e.g., monitor must exist and be disabled) or the effect on missed runs, but it is largely complete with an output schema available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it does not clarify the 'backfill' parameter or the 'api_key' parameter. The schema already describes these, so no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Enable') and resource ('a previously disabled monitor') and clearly states the outcome ('resume its scheduled runs'). It differentiates from the sibling 'disable_monitor' tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that the tool is for enabling a monitor that was previously disabled, but it does not explicitly state when to use it versus alternatives (e.g., only after disable_monitor). No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_datasetBInspect
Get a single dataset's details.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| dataset_id | Yes | The dataset ID to retrieve. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral details beyond the basic purpose. No mention of authentication requirements, rate limits, or that it's a read-only operation. The description adds no context beyond the tool's name and title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that communicates the core purpose without any filler. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameter set (1 required, 2 total) and an existing output schema, the description is adequate but minimal. It does not explain what 'details' means or hint at the output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to add parameter details. The description adds no additional semantics beyond the schema's existing descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'a single dataset's details,' which is specific and distinguishes it from sibling tools that fetch other resources or perform actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., list_datasets, get_dataset_status). No prerequisites, exclusions, or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataset_statusAInspect
Get the status history of a dataset (e.g. its enrichment progress over time).
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| dataset_id | Yes | The dataset ID to inspect. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility. It correctly labels the operation as retrieval of history (read-only implication), but does not disclose authentication requirements, rate limits, or response structure beyond the mention of status history.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 15 words with no filler. It efficiently conveys the core purpose and an example.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has few parameters and an output schema (not shown but present). The description adequately covers the input semantics and return nature. Minor gap: could explicitly mention that the output is a list of status events, but output schema likely explains that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both parameters (api_key and dataset_id) are described in the schema. The description adds no additional semantics beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get the status history') and the resource ('a dataset'), with a concrete example ('enrichment progress over time'). This distinguishes it from sibling tools like 'get_dataset' (current state) and 'list_datasets' (list metadata).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for monitoring historical status but provides no explicit guidance on when to use this tool versus alternatives, nor any conditions to avoid. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entityAInspect
Get a single entity's details.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| entity_id | Yes | The entity ID to retrieve. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description lacks disclosure of behavioral traits such as authentication requirements, error handling, or resource consumption. The description only states the action without any context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is appropriately sized for a simple retrieval tool, though could include more detail without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 params, no nested objects, output schema present), the description is largely adequate. It explains the basic operation, but could be more complete by mentioning return type or error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description adds no additional meaning beyond what is already in the schema. The baseline is 3, and the description does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'entity', and the scope 'single' and 'details'. It effectively distinguishes from sibling tools like list_entities (multiple) and create_entity (creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. It is implied that it is for retrieving a specific entity by ID, but no differentiation from list_entities or other read tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_statusAInspect
Check the status of a submitted job.
Call this after submit_query to see if your job is ready. Status progression: submitted -> analyzing -> fetching -> clustering -> enriching -> completed/failed
IMPORTANT: Jobs take several minutes to process.
First check after ~1-2 minutes, then poll every 30-60 seconds.
Broad searches can take 10-30+ minutes; for long jobs, poll every 60-120 seconds.
Do NOT call this tool in a tight loop.
Stop polling when status is completed or failed.
Treat submitted, analyzing, fetching, clustering, and enriching
as active states and continue polling.
You don't need to wait for completion to pull results. Partial results are
available during enriching — call pull_results after ~2 minutes, then
poll status every 30-60 seconds and pull again for fresher results.
Do not stop pulling just because an intermediate pull is empty/unchanged.
Use progress_validated vs candidate_records to track whether more
results may still appear (progress_validated < candidate_records).
If transport/session fails, resume using the same job_id.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID returned from submit_query | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses job lifecycle, polling behavior, partial results availability, and transport failure handling. No annotations provided, so description fully covers behavioral expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections, front-loaded purpose. Slightly long but justified by complexity; no redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Thoroughly covers all aspects: lifecycle, polling strategy, partial results, progress tracking, and error recovery. Output schema exists but description adds essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. Description adds context about job_id origin and api_key optionality, but largely restates schema info. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool checks job status, distinguishes from submit_query and pull_results. Provides specific lifecycle stages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when to call (after submit_query), polling intervals, stop conditions, and partial result usage. Includes warnings about tight loops.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_monitor_statusAInspect
Get the status history of a monitor.
Use when:
You want to see the timeline of a monitor's state changes (e.g. active, disabled, errored) and any related details.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| monitor_id | Yes | The monitor ID to inspect. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool returns a timeline of states but does not mention permissions, rate limits, or destructive potential. However, the tool is read-only by nature, and the description adequately conveys its non-destructive behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (two sentences) and front-loaded with the core purpose, with zero extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the tool is simple, the description covers the main purpose and usage. It does not mention pagination or filtering, but for a history tool this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any additional meaning to the parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'status history of a monitor', which is a specific verb and resource. It distinguishes from sibling tools like get_dataset_status by focusing on monitor state changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'Use when' section that explicitly lists scenarios (timeline of state changes), providing clear context for when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectBInspect
Get a single project's details.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| project_id | Yes | The project ID to retrieve. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only says 'Get' (read), but no details on error handling (e.g., 404), field selection, or idempotency. Output schema exists but description does not reference it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no waste. Front-loaded with purpose. Every word earns its place. Ideal for a simple retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (2 params, output schema exists), the description is minimally adequate. It conveys core purpose but lacks detail on return value (though output schema covers that) and behavior. Could mention that it returns complete project data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with adequate descriptions for both parameters (api_key, project_id). The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb and resource: 'Get a single project's details.' It distinguishes from sibling tools like list_projects (multiple) and get_project_overview (likely summary) by implying comprehensive details, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like get_project_overview. No prerequisites, context, or exclusions mentioned. The api_key parameter hints at auth but no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_overviewAInspect
Get a project's resource overview (counts grouped by resource type and status).
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| project_id | Yes | The project ID to summarize. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the return type (counts grouped by resource type and status), but does not mention that it is a read-only operation, auth requirements (api_key optional via header or env), rate limits, or error behavior. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that immediately conveys the tool's purpose. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 parameters, output schema exists). The description covers the core functionality. It could briefly mention that the api_key parameter is optional, but this is not critical given the schema. Overall complete for a read-only summary tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% (both parameters have descriptions). The description does not add additional parameter context beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies 'Get a project's resource overview (counts grouped by resource type and status)', which is a specific verb-resource combination. It clearly distinguishes from sibling tools like 'get_project' (likely project details) and 'list_project_resources' (likely list without counts).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for obtaining a summary, but does not explicitly state when to use it over alternatives (e.g., get_project for project settings, list_project_resources for raw list). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_limitsAInspect
Retrieve plan features and current usage limits for your API key.
Use when:
You want to know how many records/jobs/monitors your plan allows.
You want to check current usage against plan limits before running a large job.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a read operation ('Retrieve') and mentions optional API key, but could add details like no side effects, cost, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, well-structured with a purpose statement and bulleted usage conditions. Every part adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one optional parameter and output schema present. Description fully explains functionality and usage context, sufficient for agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (api_key parameter described fully in schema). The tool description adds no new meaning beyond the schema's parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Retrieve plan features and current usage limits for your API key.' This clearly distinguishes it from sibling tools, none of which suggest retrieving limits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Use when' section provides explicit scenarios: knowing plan allowances and checking usage before large jobs. This gives clear context and implicitly advises against misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_versionAInspect
Get current API version.
This tool maps to GET /version and does not require an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional CatchAll API key. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
In the absence of annotations, the description discloses key behavioral traits: it's a GET request (read-only) and does not require authentication. This is sufficient for a simple informational tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste. The key information (purpose, HTTP mapping, auth requirement) is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple version endpoint with an output schema present, the description covers the purpose, HTTP mapping, and authentication requirements completely. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by clarifying that the api_key parameter is optional and not needed, reinforcing its default and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the current API version and maps to GET /version. This specific verb+resource combination distinguishes it from siblings, which are all different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes that no API key is required, providing clear usage context. It does not mention when not to use or alternatives, but for a simple version check this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webhookAInspect
Retrieve the full configuration of a specific webhook.
Use when:
You want to inspect a webhook's URL, method, headers, or status by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| webhook_id | Yes | The webhook ID to retrieve. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It states it's a retrieval operation (read) but does not disclose potential authentication requirements (api_key is in schema), rate limits, or what exactly 'full configuration' includes beyond listed fields. Adequate but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with clear structure. No superfluous information. Front-loaded with the action and then usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema and the simplicity of the tool, the description is sufficiently complete. It explains what is retrieved and when to use it. Could mention expecting a valid webhook ID, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%. The description only implicitly references webhook_id via 'by its ID' and does not add meaning beyond the schema. api_key is documented in schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the full configuration of a specific webhook by ID, listing specific fields (URL, method, headers, status). It distinguishes from sibling tools like list_webhooks (which lists all) and get_webhook_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when: you want to inspect a webhook's URL, method, headers, or status by its ID.' Provides clear context. Does not explicitly mention when to avoid, but the sibling tools provide implicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webhook_historyAInspect
Get the webhook delivery history for a resource (job/monitor/monitor_group).
Use when:
You want to see past webhook delivery attempts and their outcomes for a specific job or monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| page_size | No | Number of results per page (default: 50, max: 500). | |
| resource_id | Yes | The ID of the job/monitor/monitor_group. | |
| resource_type | Yes | Resource type: 'job', 'monitor', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose behaviors beyond retrieval (e.g., no mention of pagination, rate limits, or idempotency). However, the action is safe and read-only, which is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus one bullet point. Extremely concise, front-loaded with the core purpose, and no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient given the existence of an output schema and 100% schema coverage. It could mention that the history is a list of delivery attempts or pagination details, but it is not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 5 parameters. The description adds no extra meaning beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'webhook delivery history' for jobs, monitors, and monitor_groups, clearly distinguishing it from sibling tools like list_webhooks or get_webhook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use when:' for viewing past delivery attempts and outcomes. While it doesn't specify when not to use, the context is clear and sufficient for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initialize_queryAInspect
Preview suggested validators, enrichments, and date ranges before submitting.
Use when:
You want to inspect/edit auto-generated validators/enrichments before submitting.
You want to preview date adjustments via
date_modification_message.
Do not use when:
You want to start processing immediately with final inputs (use
submit_query).
Key behavior:
Preview-only endpoint: does not create a job and does not start processing.
Suggestions are LLM-generated and not deterministic across calls.
To reuse suggestions, pass them explicitly to
submit_query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural 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_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| context | No | Optional 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_news | No | When `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
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description fully discloses key behaviors: preview-only, no job creation, LLM-generated non-deterministic suggestions, and instruction to reuse suggestions via 'submit_query'. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with clear sections (use when, do not use when, key behavior). Front-loaded with core purpose, each sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given full schema coverage, existence of output schema, and the tool's preview nature, description adequately covers necessary context including behavioral traits, usage guidelines, and interaction with 'submit_query'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds value by providing usage context for 'query' (not referencing company list) and 'context' (focus on event/topic), going beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Preview suggested validators, enrichments, and date ranges before submitting' with specific verb and resource. It distinguishes itself from 'submit_query' by explicitly stating it is preview-only, making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists 'Use when' and 'Do not use when' scenarios with a clear alternative ('submit_query'). However, it does not mention other sibling tools like 'validate_query' that might be related, slightly limiting completeness.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_dataset_entitiesBInspect
List the entities contained in a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| search | No | Optional text filter on entity name. | |
| status | No | Optional status filter: 'pending', 'enriching', 'ready', or 'failed'. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| sort_by | No | Optional sort field: 'created_at', 'name', or 'status'. | |
| page_size | No | Number of results per page (default: 100). | |
| dataset_id | Yes | The dataset ID whose entities you want. | |
| sort_order | No | Optional sort direction: 'asc' or 'desc'. | |
| entity_type | No | Optional type filter: 'company' or 'person'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and a sparse description, behavioral transparency is low. The description does not disclose that the operation is read-only, safe, or idempotent. It also omits any authentication requirements (though the schema includes an api_key parameter, the description doesn't mention whether it's needed). The agent lacks insight into side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It effectively front-loads the core purpose. However, given the tool's 9 parameters and complexity, it could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters and an output schema; the description is minimal but the schema covers parameter semantics and the output schema defines return values. The description provides sufficient high-level context but lacks details on edge cases, pagination behavior, or entity types. It is adequate for a straightforward listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the parameter details in the schema (e.g., 'dataset_id', 'page', 'search' are documented in the schema but not mentioned in the description). The description does not compensate or elaborate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List the entities contained in a dataset' clearly specifies the verb (List) and resource (entities in a dataset). It distinguishes from sibling tools like 'list_entities' (which lists all entities without dataset context) and 'list_datasets' (lists datasets, not entities). This clarity helps an agent select the correct tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., 'list_entities' or 'get_entity'). There are no exclusions, prerequisites, or context to help an agent decide. The sole sentence is minimal and offers no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_datasetsCInspect
List your datasets.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| search | No | Optional text filter on the dataset name. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| sort_by | No | Optional sort field: 'name', 'created_at', or 'status'. | |
| ownership | No | Optional ownership filter: 'all', 'own', or 'shared'. | |
| page_size | No | Number of results per page (default: 100, max: 1000). | |
| project_id | No | Optional filter to datasets belonging to a specific project. | |
| sort_order | No | Optional sort direction: 'asc' or 'desc'. | |
| latest_status | No | Optional status filter: 'pending', 'enriching', 'ready', or 'failed'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but only states 'List your datasets.' It reveals no behavioral details such as pagination, rate limits, authentication requirements, or the effect of filters. The parameters hint at behaviors, but the description does not disclose them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (four words), but for a tool with 9 parameters and many siblings, this brevity sacrifices useful information. It is front-loaded but undersized for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, pagination, filtering) and presence of many sibling tools, the description is woefully incomplete. It does not explain return values or how to use the parameters effectively. Even though an output schema exists, context is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description does not need to add much. It adds nothing beyond the schema, meeting the baseline expectation. No value added, but also no harm.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List your datasets' uses a clear verb and resource, making the basic purpose obvious. However, it does not differentiate from sibling tools like list_projects or list_entities, though the resource name itself provides some distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. There is no indication of when to use this tool versus alternatives (e.g., get_dataset for a single dataset, or search-related tools). Context about filtering or pagination is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_entitiesCInspect
List your entities.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| search | No | Optional text filter on entity name. | |
| status | No | Optional status filter: 'pending', 'enriching', 'ready', or 'failed'. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| sort_by | No | Optional sort field: 'created_at', 'name', or 'status'. | |
| page_size | No | Number of results per page (default: 100, max: 1000). | |
| sort_order | No | Optional sort direction: 'asc' or 'desc'. | |
| entity_type | No | Optional type filter: 'company' or 'person'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'List your entities.' without mentioning pagination, filtering, sorting, or any side effects. This is insufficient for an 8-parameter listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (4 words), but it may be too short to be useful. It could benefit from a brief sentence summarizing the tool's purpose (e.g., 'List all entities with optional filtering, sorting, and pagination.') without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters for pagination, filtering, sorting, and an output schema, the description is incomplete. It does not mention that results are paginated, that filters can be applied, or that sorting is available. The output schema exists, so return values are documented, but overall context is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%—each parameter has a description in the input schema. The description adds no additional meaning beyond the schema, which is acceptable but not helpful. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List your entities.' clearly states the verb 'list' and resource 'entities'. It differentiates from sibling tools like 'get_entity' (single entity) and 'list_dataset_entities' (entities within a dataset), but could be more explicit about the scope (all entities in the system).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'get_entity' for a single entity, 'list_dataset_entities' for entities in a specific dataset). Nor does it mention prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_monitor_jobsAInspect
List all jobs spawned by a monitor.
Returns the history of scheduled runs for a monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order by start_date: 'asc' (default) or 'desc' | asc |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| monitor_id | Yes | The monitor ID to list jobs for |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It correctly indicates a read operation but lacks details on side effects, pagination, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences with no extraneous information. Front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite an output schema existing (reducing need to describe returns), the description is complete for a simple list tool. Could mention pagination but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no additional meaning beyond the parameter descriptions in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists all jobs spawned by a monitor and returns the history of scheduled runs. Differentiates from sibling list tools like list_monitors and list_user_jobs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage requires a monitor_id, but no explicit comparison to alternatives like list_user_jobs or when to use this versus other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_monitorsAInspect
List all your monitors.
Returns all monitors with their schedule, status, reference query, and webhook config.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| search | No | Optional text filter on the monitor query. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| ownership | No | Optional ownership filter: 'all', 'own', or 'shared'. | |
| page_size | No | Number of results per page (default: 100, max: 1000). | |
| project_id | No | Optional filter to monitors belonging to a specific project. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description must disclose behavior; it fails to mention pagination (page/page_size params) despite describing as 'all your monitors'. Neither auth requirements nor rate limits are noted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, direct sentences with no redundancy; efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return format is fine, but the description omits critical context like pagination behavior and default page size, which affects the 'all your monitors' claim.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all 6 parameters with individual descriptions (100% coverage), so the description adds no additional parameter information beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'List all your monitors' and enumerates returned fields (schedule, status, etc.), distinguishing from sibling tools like create_monitor, delete_monitor, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for listing all monitors but does not explicitly contrast with get_monitor (single) or list_monitor_jobs, nor provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_resourcesCInspect
List the resources contained in a project.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| page_size | No | Number of results per page (default: 100, max: 1000). | |
| project_id | Yes | The project ID whose resources you want. | |
| resource_type | No | Optional filter: 'job', 'monitor', 'dataset', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits like side effects or authorization needs. The description only says 'list', implying a read operation, but does not mention that it is safe, non-destructive, or whether authentication is required (though api_key parameter suggests it). Missing details on pagination and filtering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. While it is efficient, it could include a bit more context without becoming verbose, such as noting optional filters or pagination.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values are likely documented there. However, the description lacks context about the tool's behavior in relation to its parameters (e.g., filtering by resource_type). For a tool with 5 parameters, the description is minimal but adequate given schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for parameters, meaning each parameter is well-described in the schema. The description adds no additional meaning beyond what the schema already provides, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('resources contained in a project'). It distinguishes from sibling tools like add_project_resources and remove_project_resource. However, it does not specify what types of resources are included, which is somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, there is no indication that this tool should be used to list resources of a project as opposed to get_project which gives an overview, or list_resource_webhooks for webhooks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsCInspect
List your projects.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| search | No | Optional text filter on the project name. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| ownership | No | Optional ownership filter: 'all', 'own', or 'shared'. | |
| page_size | No | Number of results per page (default: 100, max: 1000). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It merely states 'List your projects,' implying a read operation, but does not mention authentication (api_key parameter), rate limits, pagination behavior, or output format. The schema reveals parameters like 'ownership' and 'search', but the description adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), but this brevity sacrifices important information about the tool's capabilities, such as pagination and filtering. It is not as informative as it could be while still being concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, output schema, pagination, search, ownership filter, API key), the description is insufficient. It does not mention pagination behavior, filter options, or the output schema structure, leaving the agent lacking critical context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all 5 parameters, so the baseline is 3. The description does not add any additional parameter meaning beyond what the schema already provides, nor does it clarify parameter interactions or usage patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('list') and the resource ('projects'), distinguishing it from singular 'get_project' and other resource-specific tools like 'list_datasets'. However, it does not elaborate on the scope or any additional filtering capabilities hinted at by the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'get_project' for a single project) or when not to use it. The description lacks exclusions, prerequisites, or usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_resource_webhooksAInspect
List the webhooks mapped to a specific resource (job/monitor/monitor_group).
Use when:
You have a job or monitor ID and want to know which webhooks will fire for it.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| is_active | No | Optional filter — only active (true) or inactive (false) webhooks. | |
| page_size | No | Number of results per page (default: 100, max: 1000). | |
| resource_id | Yes | The ID of the job/monitor/monitor_group. | |
| resource_type | Yes | Resource type: 'job', 'monitor', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full responsibility. It does not disclose pagination, filtering, authentication requirements, or error behavior, leaving gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no fluff, front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a list tool with an output schema, but missing details on pagination and filtering that are defined in the schema but not summarized in description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions, so baseline is 3. Description adds no additional parameter meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists webhooks for a specific resource (job/monitor/monitor_group), distinguishing it from sibling tools like list_webhooks (all webhooks) and list_webhook_resources (resources for a webhook).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'Use when' guidance is given, providing a clear scenario. Could mention when not to use or alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_user_jobsBInspect
List all jobs submitted by you.
Returns your job history with IDs, queries, statuses, and timestamps.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| search | No | Optional text filter on the job query. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| ownership | No | Optional ownership filter: 'all', 'own', or 'shared'. | |
| page_size | No | Number of results per page (default: 100, max: 1000) | |
| project_id | No | Optional filter to jobs belonging to a specific project. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It indicates a read-like operation returning job history. But it lacks details about any side effects, authorization needs, or rate limits. The description is adequate but not thorough without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose and key return fields. Every sentence adds value, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to explain return values in detail. It mentions the key fields returned. The parameters are fully documented in the schema. Minor missing context about pagination or default sorting, but overall complete for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The tool description does not add additional meaning beyond what the schema already provides. Baseline is 3, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists jobs submitted by the user and specifies the returned fields (IDs, queries, statuses, timestamps). However, it does not explicitly differentiate from sibling tools like 'list_monitor_jobs', which might also list jobs but for monitors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'List all jobs submitted by you,' implying it is for the user's own jobs. However, it provides no guidance on when to use this tool versus alternatives like 'list_monitor_jobs' or 'get_job_status', nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhook_resourcesAInspect
List the resources mapped to a webhook.
Use when:
You want to see which jobs/monitors a webhook is attached to.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| page_size | No | Number of results per page (default: 100, max: 1000). | |
| webhook_id | Yes | The webhook ID whose resource mappings you want. | |
| resource_type | No | Optional filter: 'job', 'monitor', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits beyond listing resources. For a read-only list tool, it could mention that no modifications occur, but it fails to do so.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences and a bullet list, front-loading the core purpose and usage context without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema and 100% parameter coverage, the description is adequate for a simple list tool. It could be improved by mentioning the output format or any limitations, but it is functionally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents parameters. The tool description adds no additional semantic information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List the resources mapped to a webhook' and provides a specific use case, distinguishing it from sibling tools like assign_webhook_resource and remove_webhook_resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'Use when' section specifying the scenario for using this tool, offering clear context. However, it does not mention when not to use it or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhooksAInspect
List all your webhooks.
Use when:
You want to see all webhook endpoints configured in your account.
You need to find a webhook_id to pass to monitors (via webhook_ids) or jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| page_size | No | Number of results per page (default: 100, max: 1000). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It states 'list all' but doesn't mention pagination behavior, sorting, or any potential limitations. Adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and well-structured with bullet points for usage scenarios. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema and fully described parameters, the description sufficiently covers purpose and use cases. Lacks mention of pagination but schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add new parameter details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all your webhooks' with a specific verb and resource. It distinguishes from sibling tools like 'get_webhook' (singular) and 'list_webhook_resources'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists use cases: to see all webhook endpoints and to find a webhook_id for monitors or jobs. Provides clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pull_job_csvAInspect
Download a job's results as a CSV file.
Use when:
You want the full job output as a CSV for offline analysis or export.
Prefer this over
pull_resultswhen the consumer needs spreadsheet/CSV format.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job ID to download as CSV. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility for behavioral disclosure. It only states the action without mentioning safety (read-only), error handling, permissions, or rate limits, which is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one sentence for the main action, followed by a bulleted list of usage criteria. No redundant information, and the key point is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, output schema exists), the description covers the core functionality and usage context. It contrasts with a sibling, but lacks behavioral details that would make it fully complete for an agent with zero annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds 'full job output as a CSV' but does not enhance parameter meaning beyond what the schema already provides (job_id and api_key descriptions are clear).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool downloads a job's results as a CSV file, with a specific verb ('Download') and resource ('job's results'). It also differentiates from the sibling tool `pull_results` by mentioning the CSV format preference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit 'Use when' conditions (offline analysis/export, preferring CSV over `pull_results`). However, it does not include when not to use or other alternatives beyond `pull_results`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pull_monitor_csvAInspect
Download the latest monitor run's results as a CSV file.
Use when:
You want the most recent monitor run output as a CSV for offline analysis or export.
Prefer this over
pull_monitor_resultswhen the consumer needs spreadsheet/CSV format.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| monitor_id | Yes | The monitor ID to download results for. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral load. It discloses that the tool downloads the latest run's results as CSV, which implies a read-only operation. However, it does not explicitly state the absence of side effects, permissions required, or what happens if no runs exist. The intent is clear but could be slightly more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: a single sentence stating the main action, followed by a bulleted 'Use when' section that covers usage guidelines and alternatives. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple download tool with an output schema and well-known sibling tools, the description is complete. It specifies the input (monitor_id), the output format (CSV), and the scope (latest run). No critical details are missing for an agent to decide whether to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond what the schema already provides for the parameters (`api_key` and `monitor_id`). It does not explain how to get the `monitor_id` or the role of the optional API key.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool description clearly states that it downloads the latest monitor run's results as a CSV file. It uses specific verbs and resources ('Download ... results as a CSV file') and distinguishes from the sibling `pull_monitor_results` by explicitly mentioning CSV format for offline analysis or export.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'Use when' section with explicit guidelines: want the most recent run output as CSV, and prefer over `pull_monitor_results` for spreadsheet/CSV needs. It names an alternative tool, providing clear context for when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pull_monitor_resultsAInspect
Retrieve the latest results from a monitor.
Returns the most recent run's results including run_info, records, and all_records.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| monitor_id | Yes | The monitor ID to pull results from |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'retrieve' suggests a read-only operation, the description does not explicitly confirm it is non-destructive, mention authentication requirements, error handling, or what happens if no runs exist. This lack of context is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains no extraneous words. It efficiently conveys the tool's purpose and return structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description adequately complements it by listing high-level return elements. However, it lacks mention of edge cases (e.g., non-existent monitor) and does not leverage sibling tool context to clarify its specific niche. Still, it is fairly complete for a simple data retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters, so the schema already provides clear meaning. The tool description adds minimal value beyond stating that 'monitor_id' is used to pull results. Thus, baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Retrieve' and clearly identifies the resource as 'the latest results from a monitor'. It distinguishes from siblings like pull_monitor_csv (which returns CSV) and pull_results (which may be more general). The return fields are listed, providing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining the most recent run's results but does not explicitly state when to use this tool versus alternatives like pull_monitor_csv or pull_results. No guidance on prerequisites or when not to use it is provided, leading to an implied rather than explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pull_resultsAInspect
Retrieve the results of a job.
Can be called before completion for partial results, or after completion for the full set. Returns clustered, validated, and enriched web results. While job status is active, call this repeatedly (typically page=1) to refresh partial output. When job reaches completed, iterate all pages. If job fails, call once more to capture any partial output.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1). Use total_pages from the response to iterate through all results. | |
| job_id | Yes | The job ID returned from submit_query | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| page_size | No | Number of records returned per page (default: 100, max: 1000). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers behavioral traits: results are clustered, validated, enriched; behavior during different job statuses; and pagination. Missing details on authentication or response format, but adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five sentences, front-loaded with main purpose, then usage scenarios. No wasted words; every sentence provides essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists and schema covers all parameters, the description fully explains return values (clustered, validated, enriched) and pagination behavior. No missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining pagination context (use total_pages) and api_key alternatives, going beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves job results, specifying it can be used for partial or full results. It distinguishes from sibling tools like pull_job_csv by focusing on general job results rather than CSV output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance on when to call: before completion for partial results, after completion for full results, repeatedly while active, and on failure. Provides clear context for pagination and iteration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_dataset_entitiesAInspect
Remove entities from a dataset (the entities themselves are not deleted).
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| dataset_id | Yes | The dataset ID to remove entities from. | |
| entity_ids | Yes | List of entity IDs to remove (required). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral information. It discloses that entities are only removed from the dataset and not deleted, which is useful. However, it lacks details on side effects, permissions, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys all essential information without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple operation with a clear input schema and an existing output schema, the description is sufficiently complete. It could mention prerequisites like entity existence in the dataset, but the schema covers required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are documented in the input schema. The description does not add any additional semantic meaning beyond what the schema already provides, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'remove' and resource 'entities from a dataset', and clarifies that entities themselves are not deleted, distinguishing it from delete_entity. It is specific and non-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for removing entity associations without deletion, but does not explicitly state when to use versus alternatives like delete_entity or add_dataset_entities. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_project_resourceCInspect
Remove a single resource from a project.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| project_id | Yes | The project ID to remove the resource from. | |
| resource_id | Yes | The ID of the resource to remove. | |
| resource_type | Yes | Resource type: 'job', 'monitor', 'dataset', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'Remove', implying mutation, but does not mention side effects, permissions, reversibility, or response behavior. The output schema exists but is not referenced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) and front-loaded. It efficiently conveys the core action without fluff, though more detail could be added without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters and no annotations, the description is too minimal. It does not provide usage context, behavioral details, or return value information, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions, which are already clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Remove) and the object (a single resource from a project). It distinguishes from siblings like add_project_resources (add vs remove) and remove_dataset_entities (different target). However, it does not explicitly list allowed resource types, which are in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like remove_dataset_entities or remove_webhook_resource. The description lacks context on scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_webhook_resourceAInspect
Unmap a resource from a webhook.
Use when:
You want to stop a webhook from firing for a specific job or monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| webhook_id | Yes | The webhook ID to detach the resource from. | |
| resource_id | Yes | The ID of the mapped job/monitor/monitor_group. | |
| resource_type | Yes | Resource type: 'job', 'monitor', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the action ('unmap', 'stop') but lacks details on side effects, permissions, reversibility, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus a usage clause. No unnecessary words, front-loads the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, presence of output schema, and full parameter descriptions, the description covers purpose and usage adequately. Lacks some behavioral details but not critical for a removal operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema describes all parameters thoroughly (100% coverage). Description adds minimal extra context beyond schema, aligning with baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Unmap' and resource 'resource from a webhook', clearly distinguishing from sibling tools like 'assign_webhook_resource' and 'delete_webhook'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear 'Use when' clause specifying the context: stop a webhook from firing for a specific job or monitor. Does not explicitly exclude alternatives but context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_queryAInspect
Create a new CatchAll processing job from a natural-language query.
Use when:
You want to start a new CatchAll web research run from a user query.
You want the API to fetch/process sources and then return structured results.
Do not use when:
You want status for an existing job (use
get_job_status).You want records for an existing job (use
pull_results).
Key rules:
queryis 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
validatorsbut noenrichments), and omitted fields are still auto-selected/generated.When
connected_dataset_idsis set, thequerymust 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_idsis set, entity-relevance validators (e.g.company_is_primary_subject) are generated automatically by the API. Do NOT add them manually tovalidators— they are redundant and may conflict with the auto-generated ones. Only pass validators that describe the event or topic, not entity filtering.start_dateandend_datefilter 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_datein pulled results.end_datemust be afterstart_date.Dates outside your plan lookback limits return API 400.
limitcontrols processed record count (cost-affecting). Omit it to retrieve everything up to your plan's maximum. If provided, must be >= 10.validators/enrichmentsmay be passed either as arrays or as JSON-string arrays (for client compatibility).validators[].typemust beboolean(if omitted, it defaults toboolean).enrichments[].typesupported 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_statusand callpull_results(partial results can appear before completion).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Optional job processing mode: `"lite"` (faster, lower cost, less detail) or `"base"` (default, full extraction). If omitted, the API defaults to `"base"`. | |
| limit | No | Optional processing cap (minimum 10); affects cost. Omit to retrieve everything up to your plan's maximum. | |
| query | Yes | Plain text search intent (required). | |
| schema | No | Optional advanced custom JSON schema string that overrides the default extraction schema. Use `initialize_query` to discover a suitable schema. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| context | No | Optional 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_date | No | Optional ISO 8601 UTC end of search window. | |
| project_id | No | Optional project ID to associate this job with. | |
| start_date | No | Optional ISO 8601 UTC start of search window. | |
| validators | No | Optional 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`). | |
| enrichments | No | Optional custom enrichments (`name`, `description`, `type`), as array or JSON-string array. | |
| webhook_ids | No | Optional list of webhook IDs to notify when the job completes (max 5 per job). Use `list_webhooks` / `create_webhook` to get IDs. | |
| ed_score_min | No | Optional minimum entity-domain relevance score (1-10). Only relevant when `connected_dataset_ids` is set. | |
| ed_association_type | No | Optional 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_ids | No | Optional 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_news | No | When `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
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral transparency. It discloses numerous traits: auto-generation of omitted fields, effect of connected_dataset_ids on query and validators, date filter semantics, cost impact of limit, and formatting options. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections (use when, do not use, key rules, examples, next step). Every sentence adds value given the complexity, though minor redundancy could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete coverage for a complex tool with 16 params. Addresses usage rules, constraints, edge cases (dates outside plan), and job lifecycle. Output schema exists so return values are not needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, the description adds extensive additional meaning beyond the schema. It explains rules for connected datasets, when to omit certain validators, formatting validators/enrichments as arrays or JSON strings, and the interplay between dates and plan limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new CatchAll processing job from a natural-language query. It uses a specific verb and resource, and distinguishes from sibling tools like get_job_status and pull_results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use and when-not-to-use sections, referencing sibling tools. Also includes key rules for using connected datasets, dates, limits, and validators/enrichments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_webhookAInspect
Send a test delivery to a webhook endpoint.
Use when:
You want to verify a webhook URL is reachable and correctly configured before attaching it to a monitor or job.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| payload | No | Optional custom JSON object to send as the test body. If omitted, the API sends a default sample payload. | |
| webhook_id | Yes | The webhook ID to test. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It states 'send a test delivery' but omits behavioral details like side effects (e.g., whether a real delivery is attempted), idempotency, restrictions, or error behavior. This leaves the agent uncertain about impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a bulleted 'Use when' section. Action verb first. Every sentence adds value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (3 params, 1 required, no nested objects) and existence of output schema (not shown but indicated), description explains the tool's primary function and use case. Lacks mention of response structure or error cases, but output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no extra meaning beyond what schema already provides (e.g., 'optional custom JSON object' repeats schema). No enrichment for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states action and resource ('Send a test delivery to a webhook endpoint'). Use-case section hints at differentiation from trigger_webhook by focusing on verification before attaching, but does not explicitly contrast with sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'Use when' guidance specifies verifying webhook URL reachability and configuration before attaching to monitor/job. Does not mention when not to use, but the positive guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trigger_webhookAInspect
Manually trigger webhook delivery for a resource (job/monitor/monitor_group).
Use when:
You want to (re-)send a webhook delivery on demand instead of waiting for the automatic dispatch — e.g. to replay a missed or failed delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | No | Optional 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_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| webhook_id | Yes | The webhook ID to deliver through. | |
| resource_id | Yes | The ID of the job/monitor/monitor_group to trigger delivery for. | |
| resource_type | Yes | Resource type: 'job', 'monitor', or 'monitor_group'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool triggers a manual delivery, which implies a non-destructive action. However, it does not disclose any potential side effects, rate limits, or authentication requirements beyond the optional api_key parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences plus a 'Use when' bullet. Every part is meaningful and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, output schema exists), the description adequately covers its purpose and core use case. It could mention what to expect on success/failure, but the output schema likely covers return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-level details beyond what the schema already provides, but the 'Use when' section gives context for why one might use the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Manually trigger webhook delivery for a resource') and specifies the resource types (job/monitor/monitor_group). This distinguishes it from sibling tools like 'test_webhook' and 'delete_webhook'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides a 'Use when' section with a concrete scenario: re-sending a missed or failed delivery instead of waiting for automatic dispatch. It does not mention when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_datasetBInspect
Update a dataset's name and/or description.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional new dataset name. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| dataset_id | Yes | The dataset ID to update. | |
| description | No | Optional new dataset description. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but fails to disclose important behavioral traits such as idempotency, potential side effects, permission requirements, or whether it performs a partial or full update. The brief description does not add meaningful transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one sentence that conveys the core functionality without waste. It is front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (indicated in context), the description does not need to cover return values. However, for a 4-parameter update tool, the description lacks guidance on usage and behavioral nuance, making it adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema's parameter names and types. It does not explain constraints, formats, or relationships among parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (update), resource (dataset), and specific fields (name/description). It effectively distinguishes from sibling tools like create_dataset, delete_dataset, and get_dataset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent without strategic direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_entityBInspect
Update an entity's name, description, external_entity_id, and/or attributes.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional new entity name. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| entity_id | Yes | The entity ID to update. | |
| description | No | Optional new description. | |
| external_entity_id | No | Optional customer-supplied identifier linking this entity to an external system's record (new in 1.6.3). | |
| additional_attributes | No | Optional updated structured attributes (see `create_entity` for the company_attributes shape). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only states 'Update' but does not clarify whether updates are partial or full, what side effects occur, or whether permissions are needed. No mention of idempotency or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no redundancy. Every word is necessary and adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks context about partial update behavior, the expected shape of 'attributes', and what the response contains (though output schema exists). It is insufficient for a 6-parameter modification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes each parameter. The description lists the updatable fields but adds no new meaning beyond the schema. It meets the baseline but does not compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update') and the resource ('an entity'), listing the specific fields that can be updated (name, description, external_entity_id, attributes). This distinguishes it from sibling tools like create_entity (create) and get_entity (read).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives, such as create_entity for new entities or get_entity for retrieval. It does not mention prerequisites, constraints, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_monitorAInspect
Update a monitor's webhook assignments and per-run limit.
Note: schedule and reference_job_id cannot be modified through this endpoint.
Webhooks are centralized — pass webhook IDs (from create_webhook/list_webhooks).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional updated maximum records per run (minimum 10). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| monitor_id | Yes | The monitor ID to update | |
| webhook_ids | No | Optional list of webhook IDs to assign to this monitor. Pass an empty list `[]` to clear all webhook assignments. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that schedule and reference_job_id cannot be modified, and implies that webhook assignments are replaced (from schema: empty list clears). However, it does not mention permissions, idempotency, error behaviors, or whether the limit update is additive. With no annotations, more detail is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a note: the first sentence immediately states the purpose, and the note adds critical constraints (non-modifiable fields) and guidance (webhook ID source). No superfluous words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, no annotations, and an output schema (so returns not needed), the description covers core functionality and constraints. However, it omits details like whether the limit update replaces or merges, and what happens to existing webhook assignments when a new list is provided. It is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (baseline 3). The description adds value by clarifying that webhook IDs come from create_webhook/list_webhooks, which aids parameter selection. For other parameters like limit and api_key, the description adds no extra meaning. Overall, it provides more than the schema alone for webhook_ids.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it updates 'webhook assignments and per-run limit', naming the specific fields. It distinguishes from sibling tools like create_monitor (creates) and delete_monitor (deletes) by focusing on modification. The note about non-modifiable fields further clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states what can be updated (webhook assignments and limit) and what cannot (schedule, reference_job_id). It provides guidance on sourcing webhook IDs from create_webhook/list_webhooks. It does not explicitly contrast with sibling tools like enable_monitor/disable_monitor, but the context is sufficient for an agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_projectAInspect
Update a project's name and/or description.
Only the fields you provide are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional new project name. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| project_id | Yes | The project ID to update. | |
| description | No | Optional new project description. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states what fields are updated and that only provided fields change, but does not disclose side effects, authorization needs, idempotency, or response format. Adequate but not comprehensive for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, clear sentences. Front-loaded with purpose, no redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has 4 parameters, output schema exists, and siblings include many updates on other resources. Description covers the core function but lacks context about return values, required permissions, or edge cases. Acceptable but could be more helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description adds 'Only the fields you provide are changed' which reinforces optionality, but does not add significant meaning beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool name is 'update_project' and description clearly states it updates a project's name and/or description. Verb and resource are explicit, and it differentiates from sibling tools like 'create_project' and 'delete_project'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description mentions 'Only the fields you provide are changed' which implies partial update behavior, but lacks explicit guidance on when to use this tool versus alternatives (e.g., creating a new project or deleting one). No context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webhookAInspect
Update an existing webhook's configuration.
Use when:
You want to change a webhook's URL, method, headers, or other settings.
You want to enable or disable a webhook (set
is_active).Only the fields you provide are updated; omitted fields remain unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Updated target URL. | |
| auth | No | Updated auth object. One of: - {"type": "bearer", "token": "..."} - {"type": "api_key", "header": "X-API-Key", "value": "..."} - {"type": "basic", "username": "...", "password": "..."} | |
| name | No | Updated webhook name. | |
| type | No | Updated webhook type: 'generic', 'slack', 'teams', or 'custom'. | |
| method | No | Updated HTTP method: one of GET, POST, PUT, PATCH, DELETE. | |
| params | No | Updated dict of query string parameters. | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. | |
| headers | No | Updated dict of custom HTTP headers. | |
| is_active | No | Set to false to disable the webhook (stop deliveries), true to re-enable it. | |
| webhook_id | Yes | The webhook ID to update. | |
| delivery_mode | No | Updated delivery mode: 'full' or 'per_record'. | |
| formatter_config | No | Updated formatter configuration dict. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses partial update ('only the fields you provide are updated; omitted fields remain unchanged'), which is key behavioral info beyond schema. No annotations provided, so description carries the burden; lacks details on error handling or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: three sentences covering purpose, use cases, and behavior. Front-loaded with main action. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core use cases and partial update behavior. Output schema exists, so return values need not be explained. Could benefit from mentioning required webhook_id or potential errors, but overall sufficient for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage, so baseline is 3. Description adds little beyond listing example fields; does not explain syntax or constraints beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Update an existing webhook's configuration' with specific verb and resource. Distinguishes from sibling tools like create_webhook and delete_webhook by focusing on modification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists use cases (changing URL, method, headers, enabling/disabling) and notes partial update behavior. Does not explicitly mention when not to use, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_queryAInspect
Check the quality of a query before submitting a job ("Check Query Quality").
Use when:
You want quick feedback on whether a query is well-formed for CatchAll before spending credits on a job.
You want concrete suggestions to improve a vague or overly broad query.
Do not use when:
You want to preview auto-generated validators/enrichments (use
initialize_query).You want to actually run a search (use
submit_query).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The natural-language query to assess (required). | |
| api_key | No | CatchAll API key. Optional if provided via x-api-key header or CATCHALL_API_KEY env var. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description implies read-only analysis. Does not explicitly state no side effects, but overall clear. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise with clear sections. Two sentences plus bulleted use-cases. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for the tool's complexity. Covers purpose, usage, and alternatives. Return values are handled by output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds context about query assessment but no additional parameter details beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'check' and resource 'query quality', clearly stating the purpose. It distinguishes from siblings like initialize_query and submit_query.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists when to use (quick feedback, improve queries) and when not to use (preview validators, run search), with alternative tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
AlicenseAqualityBmaintenanceMonitors brand mentions, citations, sentiment, competitor share of voice, and GEO performance across AI search engines.Last updated1MIT- Alicense-qualityAmaintenanceProvides regulatory and compliance intelligence from free government sources, including rules, recalls, enforcement actions, and comment deadlines, classified by industry and severity.Last updatedMIT
- AlicenseAqualityAmaintenanceCompetitive intelligence platform with 24 tools. Monitor competitor pricing, content, positioning, tech stacks, and AI visibility — track how ChatGPT, Claude, and Gemini rank your brand.Last updated332MIT
- Flicense-qualityCmaintenanceEnables users to monitor and analyze competitor LinkedIn posts, extract insights, generate original post concepts, and create graphics-ready content with metadata.Last updated