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 into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
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} |
| 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} |
| 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} |
| 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.
| 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.
initialize_query to preview validators/enrichments/date window.initialize_query is preview-only (it does not create a job) and suggestions are non-deterministic.submit_query (query required). You can send only query; omitted optional fields are auto-selected/generated.validators only), omitted ones are still auto-generated.start_date/end_date filter web page discovery dates, not event dates in extracted content.event_date in pulled results.get_job_status: first check after ~1-2 minutes, then every 30-60 seconds, stop on completed or failed.pull_results; partial data appears during enriching.page < total_pages to retrieve all available records.continue_job only to process more records (cost-affecting). It applies only to jobs originally submitted with limit.continue_job.new_limit is optional; if omitted, API defaults to your plan maximum.page/page_size/total_pages represent already-available records; use progress_validated < candidate_records to detect if more records may still appear.limit (submit_query, continue_job) controls how many records are processed and therefore affects cost. If provided, must be >= 10. Omit to retrieve everything up to your plan's maximum.page_size (pull_results, list_user_jobs) controls pagination only and does not affect processing cost.pull_results.page_size default is 100.page_size range is 1..1000.pull_results response includes error (failed jobs) and limit (applied job limit).create_monitor.backfill=true: reference job end_date must be within the last 7 days.create_monitor.backfill=false: reference job age constraint does not apply.create_monitor supports optional limit (minimum 10), backfill (default true), timezone, webhook_ids, and project_id.create_webhook, then attach by ID via create_monitor.webhook_ids / update_monitor.webhook_ids (no inline webhook config).base jobs (not lite).enable_monitor supports optional backfill.update_monitor updates webhook_ids and/or run limit (pass webhook_ids=[] to clear assignments).list_monitors supports pagination via page and page_size plus search, ownership, and project_id filters; it returns total, page, page_size, total_pages, monitors.enrichment.enrichment_confidence is always present.source_textconfidencemetadata.namemetadata.domain_urlmetadata.domain_url_confidenceTools return:
"Error: ..." for validation/API errors."Unexpected error: ..." for unhandled exceptions.Install dependencies:
Run over stdio:
Run over HTTP (if fastmcp CLI is available):
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>