Web search API for comprehensive event retrieval: all matching records, not just ranked results.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server for the NewsCatcher CatchAll Web Search API.
You don't need to clone or run this repo to use the MCP β NewsCatcher runs a hosted instance:
Get a CatchAll API key at platform.newscatcherapi.com, then connect:
Or via Claude Code CLI:
Full integration docs: https://www.newscatcherapi.com/docs/web-search-api/integrations/mcp
Prefer to run the server yourself (locally or self-hosted)? See Running below.
| MCP Tool | Method | Endpoint |
|---|---|---|
initialize_query | POST | /catchAll/initialize |
submit_query | POST | /catchAll/submit |
validate_query | POST | /catchAll/validate |
continue_job | POST | /catchAll/continue |
list_user_jobs | GET | /catchAll/jobs/user |
get_job_status | GET | /catchAll/status/{job_id} |
pull_results | GET | /catchAll/pull/{job_id} |
pull_job_csv | GET | /catchAll/pull/{job_id}/csv |
delete_job | DELETE | /catchAll/jobs/{job_id} |
Job listing filters:
list_user_jobssupportssearch,ownership,project_id, andmode(baseorlite) filters in addition topage/page_size.
| MCP Tool | Method | Endpoint |
|---|---|---|
create_monitor | POST | /catchAll/monitors/create |
update_monitor | PATCH | /catchAll/monitors/{monitor_id} |
delete_monitor | DELETE | /catchAll/monitors/{monitor_id} |
list_monitors | GET | /catchAll/monitors/ |
list_monitor_jobs | GET | /catchAll/monitors/{monitor_id}/jobs |
get_monitor_status | GET | /catchAll/monitors/{monitor_id}/status |
pull_monitor_results | GET | /catchAll/monitors/pull/{monitor_id} |
pull_monitor_csv | GET | /catchAll/monitors/pull/{monitor_id}/csv |
enable_monitor | POST | /catchAll/monitors/{monitor_id}/enable |
disable_monitor | POST | /catchAll/monitors/{monitor_id}/disable |
| MCP Tool | Method | Endpoint |
|---|---|---|
list_webhooks | GET | /catchAll/webhooks |
create_webhook | POST | /catchAll/webhooks |
get_webhook | GET | /catchAll/webhooks/{webhook_id} |
update_webhook | PATCH | /catchAll/webhooks/{webhook_id} |
delete_webhook | DELETE | /catchAll/webhooks/{webhook_id} |
test_webhook | POST | /catchAll/webhooks/{webhook_id}/test |
assign_webhook_resource | POST | /catchAll/webhooks/{webhook_id}/resources |
list_webhook_resources | GET | /catchAll/webhooks/{webhook_id}/resources |
remove_webhook_resource | DELETE | /catchAll/webhooks/{webhook_id}/resources/{resource_type}/{resource_id} |
list_resource_webhooks | GET | /catchAll/resources/{resource_type}/{resource_id}/webhooks |
get_webhook_history | GET | /catchAll/webhook-history |
trigger_webhook | POST | /catchAll/webhook/trigger/{resource_type}/{resource_id} |
Webhook notes:
create_webhookaccepts an optionalproject_idto attach the webhook to a project on creation.list_webhooksalso accepts an optionalproject_idto filter to webhooks belonging to a specific project.get_webhook_historyqueries in one of two modes β passresource_type+resource_idfor a job/monitor/monitor_group's deliveries, or passwebhook_idfor everything delivered through one webhook (exactly one mode per call). Manual test deliveries (test_webhook) only appear in webhook mode and are recorded withresource_type: "test".
| MCP Tool | Method | Endpoint |
|---|---|---|
create_project | POST | /catchAll/projects/ |
list_projects | GET | /catchAll/projects/ |
get_project | GET | /catchAll/projects/{project_id} |
update_project | PATCH | /catchAll/projects/{project_id} |
delete_project | DELETE | /catchAll/projects/{project_id} |
get_project_overview | GET | /catchAll/projects/{project_id}/overview |
add_project_resources | POST | /catchAll/projects/{project_id}/resources |
list_project_resources | GET | /catchAll/projects/{project_id}/resources |
remove_project_resource | DELETE | /catchAll/projects/{project_id}/resources/{resource_type}/{resource_id} |
Project resources:
resource_typeis one ofjob,monitor,dataset,monitor_group, orwebhook. A webhook can belong to several projects at once.delete_projectwithdelete_resources=truedeletes the contained jobs, monitors, datasets, and monitor groups, but webhooks are only detached β never deleted β and the response'sdeleted_resourcesreports them under awebhook_unlinkedcount.
| MCP Tool | Method | Endpoint |
|---|---|---|
create_dataset | POST | /catchAll/datasets/ |
list_datasets | GET | /catchAll/datasets/ |
get_dataset | GET | /catchAll/datasets/{dataset_id} |
update_dataset | PATCH | /catchAll/datasets/{dataset_id} |
delete_dataset | DELETE | /catchAll/datasets/{dataset_id} |
add_dataset_entities | POST | /catchAll/datasets/{dataset_id}/entities |
remove_dataset_entities | DELETE | /catchAll/datasets/{dataset_id}/entities |
list_dataset_entities | POST | /catchAll/datasets/{dataset_id}/entities/list |
get_dataset_status | GET | /catchAll/datasets/{dataset_id}/status |
create_dataset_from_csv | POST | /catchAll/datasets/upload |
append_csv_to_dataset | POST | /catchAll/datasets/{dataset_id}/upload |
CSV uploads (v1.6.1):
create_dataset_from_csvandappend_csv_to_datasettake the CSV content in thefileparameter β raw CSV text or standard base64. They never read a path from the server's filesystem, so they stay safe on a remote/hosted MCP. Inline CSV content is capped at a hard 10 MB (after base64 decoding).create_dataset_from_csvalso accepts the new optionalproject_idfield.
| MCP Tool | Method | Endpoint |
|---|---|---|
create_entity | POST | /catchAll/entities/ |
list_entities | GET | /catchAll/entities/ |
create_entities_batch | POST | /catchAll/entities/batch |
get_entity | GET | /catchAll/entities/{entity_id} |
update_entity | PATCH | /catchAll/entities/{entity_id} |
delete_entity | DELETE | /catchAll/entities/{entity_id} |
external_entity_id(v1.6.3):create_entityandupdate_entityaccept an optionalexternal_entity_idstring β a customer-supplied identifier that links the entity to a record in an external system.project_id(v1.8.0):list_entitiesaccepts an optionalproject_idto filter to entities belonging to a specific project.
| MCP Tool | Method | Endpoint |
|---|---|---|
list_source_groups | GET | /catchAll/source-groups |
Source groups (v1.8.0): named, reusable domain allowlists (public groups plus any organization-visibility groups your organization can access).
list_source_groupsreturns each group'sslug,name, anddescription. The direct API'sPOST /catchAll/submitnow accepts asource_groupsfield of slugs to scope fetching to a domain allowlist;submit_querydoes not yet expose this parameter β use the direct API for that until a future release adds it here.
| MCP Tool | Method | Endpoint |
|---|---|---|
get_user_limits | POST | /catchAll/user/limits |
check_health | GET | /health |
get_version | GET | /version |
API key precedence (highest to lowest):
api_key tool parameterx-api-key request headerAuthorization: Bearer <key> request header?apiKey=...CATCHALL_API_KEY environment variablecheck_health and get_version do not require API key auth.
When deployed via fastmcp.app, a stateless gateway sits in front of the server. The gateway
forwards HTTP headers to the backend but not URL query parameters. Use the x-api-key
header or CATCHALL_API_KEY environment variable instead of ?apiKey=.
Claude Code / Cursor:
Or via CLI:
Direct server access (no gateway): ?apiKey=YOUR_KEY in the URL still works.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/catchall)<a href="https://allmcps.com/mcp/catchall"><img src="https://allmcps.com/api/badge/catchall?style=directory" alt="CatchAll on AllMCPs" /></a>