CatchAll (by NewsCatcher)
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| submit_queryA | Create a new CatchAll processing job from a natural-language query. Use when:
Do not use when:
Key rules:
Basic examples:
Next step:
|
| initialize_queryA | Preview suggested validators, enrichments, and date ranges before submitting. Use when:
Do not use when:
Key behavior:
|
| get_job_statusA | 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 You don't need to wait for completion to pull results. Partial results are
available during |
| pull_resultsA | 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. |
| pull_job_csvA | Download a job's results as a CSV file. Use when:
|
| continue_jobA | 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 |
| list_user_jobsA | List all jobs submitted by you. Returns your job history with IDs, queries, statuses, and timestamps. |
| delete_jobA | Permanently delete a job and its results. Use when:
|
| validate_queryA | Check the quality of a query before submitting a job ("Check Query Quality"). Use when:
Do not use when:
|
| create_monitorA | 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
Webhooks are now centralized: register them with |
| list_monitorsA | List all your monitors. Returns all monitors with their schedule, status, reference query, and webhook config. |
| pull_monitor_resultsA | Retrieve the latest results from a monitor. Returns the most recent run's results including run_info, records, and all_records. |
| pull_monitor_csvA | Download the latest monitor run's results as a CSV file. Use when:
|
| list_monitor_jobsA | List all jobs spawned by a monitor. Returns the history of scheduled runs for a monitor. |
| disable_monitorA | Disable a monitor to stop its scheduled runs. The monitor can be re-enabled later with enable_monitor. |
| enable_monitorA | Enable a previously disabled monitor to resume its scheduled runs. |
| update_monitorA | 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 |
| delete_monitorA | Permanently delete a monitor and stop its scheduled runs. Use when:
|
| get_monitor_statusA | Get the status history of a monitor. Use when:
|
| list_webhooksA | List all your webhooks. Use when:
|
| create_webhookA | Create a new webhook endpoint. Use when:
|
| get_webhookA | Retrieve the full configuration of a specific webhook. Use when:
|
| update_webhookA | Update an existing webhook's configuration. Use when:
|
| delete_webhookA | Permanently delete a webhook endpoint. Use when:
|
| test_webhookA | Send a test delivery to a webhook endpoint. Use when:
|
| assign_webhook_resourceA | Map a resource (job, monitor, or monitor_group) to a webhook. Use when:
|
| list_webhook_resourcesA | List the resources mapped to a webhook. Use when:
|
| remove_webhook_resourceA | Unmap a resource from a webhook. Use when:
|
| list_resource_webhooksA | List the webhooks mapped to a specific resource (job/monitor/monitor_group). Use when:
|
| get_webhook_historyA | Get the webhook delivery history for a resource (job/monitor/monitor_group). Use when:
|
| trigger_webhookA | Manually trigger webhook delivery for a resource (job/monitor/monitor_group). Use when:
|
| create_datasetA | Create a new dataset. Datasets are collections of entities (companies/people). Connect a dataset to
a job via |
| list_datasetsC | List your datasets. |
| get_datasetB | Get a single dataset's details. |
| update_datasetB | Update a dataset's name and/or description. |
| delete_datasetA | Permanently delete a dataset. The entities the dataset referenced are not deleted; only the dataset and its entity associations are removed. |
| add_dataset_entitiesC | Add existing entities to a dataset. |
| remove_dataset_entitiesA | Remove entities from a dataset (the entities themselves are not deleted). |
| list_dataset_entitiesB | List the entities contained in a dataset. |
| get_dataset_statusA | Get the status history of a dataset (e.g. its enrichment progress over time). |
| create_dataset_from_csvA | Create a new dataset by uploading a CSV file. The CSV must have at least a |
| append_csv_to_datasetA | 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 |
| create_entityA | Create a single entity (a company or person).
|
| list_entitiesC | List your entities. |
| create_entities_batchB | Create multiple entities in one call. |
| get_entityA | Get a single entity's details. |
| update_entityB | Update an entity's name, description, external_entity_id, and/or attributes. |
| delete_entityB | Permanently delete an entity. |
| create_projectA | Create a new project. Projects group related resources (jobs, monitors, datasets, monitor_groups)
so you can organize work and filter listings by |
| list_projectsC | List your projects. |
| get_projectB | Get a single project's details. |
| update_projectA | Update a project's name and/or description. Only the fields you provide are changed. |
| delete_projectA | Delete a project. By default the project's resources (jobs, monitors, etc.) are detached but
kept. Set |
| get_project_overviewA | Get a project's resource overview (counts grouped by resource type and status). |
| add_project_resourcesC | Add one or more resources to a project. |
| list_project_resourcesA | List the resources contained in a project. |
| remove_project_resourceB | Remove a single resource from a project. |
| get_user_limitsA | Retrieve plan features and current usage limits for your API key. Use when:
|
| check_healthA | Check API health status. This tool maps to GET /health and does not require an API key. |
| get_versionA | Get current API version. This tool maps to GET /version and does not require an API key. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 60 tools
Most tools have distinct purposes, and descriptions clearly differentiate similar ones (e.g., initialize_query vs submit_query, pull_results vs pull_monitor_results). However, the high number of tools (60) may cause some confusion, especially for webhook and resource mapping tools.
Tool names generally follow a verb_noun pattern, but the verbs are inconsistent (pull, get, list, check) and there is a mix of 'list' and 'get' for similar retrieval operations. While readable, the pattern is not uniform.
With 60 tools, the surface is very large for an MCP server. Although the domain (news monitoring with datasets, entities, projects, monitors, webhooks) might justify the number, many CRUD operations could be consolidated to reduce cognitive load.
The tool set covers the full lifecycle: job submission, monitoring, webhooks, datasets, entities, projects, and health. All major CRUD operations are present, and there are no obvious gaps for the stated purpose.