Connect CatchAll to any MCP-compatible client for structured web research.
The MCP server exposes CatchAll API tools to any MCP-compatible client. It
handles authentication, tool routing, and response formatting so the client can
submit jobs, poll status, retrieve results, manage monitors, configure webhooks,
build company watchlists with datasets and entities, and organize work into
projects.
The MCP server resolves your API key from multiple sources:
x-api-key HTTP request header — recommended for all client
configurations
?apiKey=YOUR_KEY URL query parameter — used by Claude.ai because its
connector UI does not support custom request headers
Authorization: Bearer <key> HTTP request header
CATCHALL_API_KEY environment variable on the server host
Most client configurations use option 1 (the x-api-key header). Claude.ai
uses option 2 (the apiKey query parameter) automatically. The tools
check_health and get_version do not require authentication.To rotate your key, update your client configuration with the new key and
restart the client.
Your configuration file contains your API key in plain text. Treat it as a
secret and do not share it or commit it to version control.
Click Add. Verify that CatchAll appears under Web in your connectors list.
4
Test connection
Open a new chat and type a CatchAll query, for example: “Find AI company acquisitions in the last 7 days, limit 5”. Claude should call the CatchAll tools and return structured results.
For Claude-specific features like the SKILL file and Python agents, see Claude integration.
Claude Desktop supports remote MCP servers through the Connectors UI (Settings > Customize > Connectors) — the same flow as Claude.ai.Alternatively, you can configure it via a JSON config file. This approach does not support native remote MCP, so it requires mcp-remote as a proxy.
1
Install Node.js
Run node --version to check if Node.js is installed. If the command fails, download and install it from nodejs.org before continuing.
2
Fix npm permissions (once)
Run this once to avoid permission errors when using npx:
Each tool maps to a CatchAll API endpoint. For request and response schemas, see
the API reference.
Jobs
Monitors
Webhooks
Datasets & Entities
Projects
Meta
Tool
Description
validate_query
Check query quality before submission — returns good, needs_work, or critical with suggestions
initialize_query
Preview suggested validators, enrichments, and date ranges before submitting a job
submit_query
Submit a natural language query and create a job
get_job_status
Check job progress through the processing pipeline
pull_results
Retrieve validated, enriched records from a completed or in-progress job
continue_job
Expand a job to process additional records beyond the initial limit
list_user_jobs
List all jobs submitted by the authenticated user
delete_job
Delete a job and its results
Tool
Description
create_monitor
Create a recurring monitor from a completed reference job
update_monitor
Update settings (webhook IDs, per-run limit) for an existing monitor
list_monitors
List all monitors for the authenticated user
list_monitor_jobs
List all jobs produced by a specific monitor
pull_monitor_results
Retrieve latest aggregated results from a monitor
get_monitor_status
Get the full execution history and state changes for a monitor
enable_monitor
Re-enable a previously disabled monitor
disable_monitor
Pause a monitor without deleting it
delete_monitor
Permanently delete a monitor
Tool
Description
create_webhook
Register a named webhook endpoint with delivery mode and auth configuration
list_webhooks
List all webhook endpoints for the authenticated user
get_webhook
Get full configuration details for a webhook
update_webhook
Update webhook URL, delivery mode, or auth settings
test_webhook
Send a test payload to verify endpoint reachability before attaching to a resource
assign_webhook_resource
Attach a webhook to a job or monitor
list_webhook_resources
List all resources (jobs and monitors) assigned to a webhook
remove_webhook_resource
Detach a webhook from a specific resource
list_resource_webhooks
List all webhooks attached to a specific job or monitor
get_webhook_history
Retrieve per-dispatch delivery outcomes and HTTP status codes
delete_webhook
Delete a webhook endpoint
Datasets are named collections of entities (companies or people) used to
scope job results to a predefined watchlist. Pass connected_dataset_ids
in submit_query to activate company search mode.Datasets
Tool
Description
create_dataset
Create a new dataset from a list of entity IDs
list_datasets
List all datasets for the authenticated user
get_dataset
Get dataset details and metadata
update_dataset
Update dataset name or description
add_dataset_entities
Add entities to an existing dataset
remove_dataset_entities
Remove entities from a dataset
list_dataset_entities
List all entities in a dataset
get_dataset_status
Check dataset enrichment progress and health score
delete_dataset
Delete a dataset (entities are preserved)
Entities
Tool
Description
create_entity
Create a single company or person entity
create_entities_batch
Bulk-create multiple entities in one call
list_entities
List all entities for the authenticated user
get_entity
Get details for a specific entity
update_entity
Update entity name, domain, or metadata
delete_entity
Delete an entity
Projects group related jobs, monitors, and datasets into named containers
that can be shared with teammates and filtered across all list endpoints.
Tool
Description
create_project
Create a new project container
list_projects
List all projects for the authenticated user
get_project
Get project details and metadata
update_project
Update project name or description
get_project_overview
Get a resource count breakdown by type and status
add_project_resources
Add jobs, monitors, or datasets to a project
list_project_resources
List all resources inside a project
remove_project_resource
Remove a resource from a project without deleting it
delete_project
Delete a project (resources are preserved by default)
Tool
Description
check_health
Check API health status (no authentication required)
get_version
Get the current API version (no authentication required)
get_user_limits
Retrieve plan features and current usage against plan limits