Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Web search API: find every relevant event across the open web, not just the top results.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
x-api-keyValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http catchall https://catchall-mcp.newscatcherapi.com/mcp --header 'x-api-key: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"catchall": {
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"catchall": {
"type": "http",
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
x-api-key secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The publisher (newscatcherapi.com) is not the repo owner (Newscatcher); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: x-api-key
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.6.5) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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:
https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY
Get a CatchAll API key at platform.newscatcherapi.com, then connect:
{
"mcpServers": { "catchall": { "type": "http", "url": "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY" } } }
Or via Claude Code CLI:
claude mcp add --transport http catchall "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"
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,
and
mode(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_id
to filter to webhooks belonging to a specific project.
get_webhook_historyqueries in
one of two modes — pass
resource_type+resource_idfor a job/monitor/monitor_group's
deliveries, or pass
webhook_idfor everything delivered through one webhook (exactly
one mode per call). Manual test deliveries (
test_webhook) only appear in webhook mode
and are recorded with
resource_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's
deleted_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 the
fileparameter — 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 optional
external_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
optional
project_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_groups
returns each group's
slug,name, anddescription.submit_queryaccepts an optional
source_groupslist of slugs (max 20 per job) that scopes fetching to those domain
allowlists. The attached groups are echoed back as
source_groupsin the job status and
results.
| 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 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:
{
"mcpServers": { "catchall": { "type": "http", "url": "https://YOUR-DEPLOYMENT.fastmcp.app/mcp", "headers": { "x-api-key": "YOUR_API_KEY" } } } }
Or via CLI:
claude mcp add --transport http catchall "https://YOUR-DEPLOYMENT.fastmcp.app/mcp" \
--header "x-api-key: YOUR_API_KEY"
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, run limit, schedule, and/or timezone (pass webhook_ids=[] to clear assignments; timezone is ignored unless schedule is also set).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.Only the beginning is shown; read the rest in the repo