CatchAll (by NewsCatcher)
CatchAll es una API de búsqueda web diseñada para la recuperación exhaustiva de eventos — no resultados clasificados, sino todos los registros coincidentes.
Documentación
Servidor MCP CatchAll
Conecta CatchAll a cualquier cliente compatible con MCP para investigación web estructurada.
El servidor MCP expone las herramientas de la API de CatchAll a cualquier cliente compatible con MCP. Maneja la autenticación, el enrutamiento de herramientas y el formato de respuestas para que el cliente pueda enviar trabajos, consultar estados, recuperar resultados, gestionar monitores, configurar webhooks, crear listas de seguimiento de empresas con conjuntos de datos y entidades, y organizar el trabajo en proyectos.
Antes de comenzar
- Clave de API de CatchAll desde platform.newscatcherapi.com
- Cliente compatible con MCP (Claude, Cursor, VS Code, Windsurf, Zed, Warp, Gemini CLI, Roo Code, o cualquier cliente que admita MCP remoto)
Autenticación
El servidor MCP resuelve tu clave de API desde múltiples fuentes:
x-api-keycabecera de solicitud HTTP — recomendada para todas las configuraciones de cliente?apiKey=YOUR_KEYparámetro de consulta en la URL — utilizado por Claude.ai porque su interfaz de conectores no admite cabeceras de solicitud personalizadasAuthorization: Bearer <key>cabecera de solicitud HTTPCATCHALL_API_KEYvariable de entorno en el servidor host
La mayoría de las configuraciones de cliente usan la opción 1 (la cabecera x-api-key). Claude.ai usa la opción 2 (el parámetro de consulta apiKey) automáticamente. Las herramientas check_health y get_version no requieren autenticación.
Para rotar tu clave, actualiza la configuración de tu cliente con la nueva clave y reinicia el cliente.
Nota
Cuando pasas la clave mediante un indicador
--header(Claude Code,mcp-remote), usa el formatoheader-name:valuesin espacio después de los dos puntos — por ejemplox-api-key:YOUR_CATCHALL_API_KEY. Un espacio o un signo de dos puntos faltante es la razón más común por la que una conexión falla silenciosamente al autenticarse.
Advertencia
Tu archivo de configuración contiene tu clave de API en texto plano. Trátalo como un secreto y no lo compartas ni lo confirmes en el control de versiones.
Conectar con Claude
Ve a [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Haz clic en **+** y selecciona **Agregar conector personalizado**. <Step title="Configure connection">
Completa el diálogo **Agregar conector personalizado**:
* **Nombre**: `CatchAll`
* **URL del servidor MCP remoto**:
```
https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY
```
</Step>
<Step title="Add and verify">
Haz clic en **Agregar**. Verifica que CatchAll aparezca bajo **Web** en tu lista de conectores.
</Step>
<Step title="Test connection">
Abre un nuevo chat y pide a Claude que ejecute `check_health`. Esta herramienta no necesita clave de API, por lo que una respuesta exitosa confirma que la conexión en sí funciona — aislando los problemas de conexión de los problemas de clave. Luego prueba una consulta real, por ejemplo: "Encuentra adquisiciones de empresas de IA en los últimos 7 días, límite 10". Claude debería llamar a las herramientas de CatchAll y devolver resultados estructurados.
</Step>
</Steps>
Claude Desktop admite servidores MCP remotos a través de la interfaz de Conectores (**Configuración > Personalizar > Conectores**) — el mismo flujo que Claude.ai.Consejo
Para funciones específicas de Claude como el archivo SKILL y los agentes de Python, consulta Integración con Claude.
Alternativamente, puedes configurarlo mediante un archivo de configuración JSON. Este enfoque no admite MCP remoto nativo, por lo que requiere `mcp-remote` como proxy.
<Steps>
<Step title="Install Node.js">
Ejecuta `node --version` para verificar si Node.js está instalado. Si el comando falla, descárgalo e instálalo desde [nodejs.org](https://nodejs.org) antes de continuar.
</Step>
<Step title="Fix npm permissions (once)">
Ejecuta esto una vez para evitar errores de permisos al usar `npx`:
```bash theme={null}
sudo chown -R $(whoami) ~/.npm
```
</Step>
<Step title="Install mcp-remote">
```bash theme={null}
npm install -g mcp-remote
```
</Step>
<Step title="Open configuration file">
<Tabs>
<Tab title="macOS">
```txt theme={null}
~/Library/Application Support/Claude/claude_desktop_config.json
```
</Tab>
<Tab title="Windows">
```txt theme={null}
%APPDATA%\Claude\claude_desktop_config.json
```
</Tab>
</Tabs>
O ábrelo desde Claude Desktop: **Configuración > Desarrollador > Editar configuración**.
</Step>
<Step title="Add CatchAll entry">
Pega lo siguiente en el archivo:
```json theme={null}
{
"mcpServers": {
"catchall": {
"command": "npx",
"args": [
"mcp-remote",
"https://catchall-mcp.newscatcherapi.com/mcp",
"--header",
"x-api-key:YOUR_CATCHALL_API_KEY"
]
}
}
}
```
Escribe el valor de la cabecera como `x-api-key:YOUR_CATCHALL_API_KEY` sin espacio después de los dos puntos (consulta [Autenticación](#authentication)).
Nota
En Windows,
npxa menudo no se puede iniciar directamente desde esta configuración. Si el servidor falla al iniciar, envuélvelo concmd: establece"command": "cmd"and prepend"/c", "npx"to theargsarray.
<Step title="Restart Claude Desktop">
Guarda el archivo y cierra Claude Desktop por completo, luego relánzalo. Claude Desktop carga las herramientas MCP al iniciar.
</Step>
<Step title="Verify connection">
Ve a **Configuración > Desarrollador**. Junto a **catchall**, el estado debería mostrar **en ejecución**. Para confirmar de extremo a extremo, abre un nuevo chat y pide a Claude que ejecute `check_health` — no necesita clave de API, por lo que una respuesta limpia demuestra que la conexión funciona.
</Step>
</Steps>
Ejecuta en tu terminal:Consejo
Para funciones específicas de Claude como el archivo SKILL y los agentes de Python, consulta Integración con Claude.
```bash theme={null}
claude mcp add --transport http catchall \
"https://catchall-mcp.newscatcherapi.com/mcp" \
--header "x-api-key:YOUR_CATCHALL_API_KEY"
```
Mantén los dos puntos juntos: `x-api-key:YOUR_CATCHALL_API_KEY` sin espacio después de los dos puntos, o la cabecera se envía malformada (consulta [Autenticación](#authentication)).
</Step>
<Step title="Verify connection">
Ejecuta `claude mcp list` y confirma que `catchall` está listado, o escribe `/mcp` dentro de una sesión de Claude Code para verlo marcado como conectado.
</Step>
<Step title="Test connection">
En una sesión, pide a Claude que ejecute `check_health`. Esta herramienta no necesita clave de API, por lo que una respuesta exitosa confirma que la conexión funciona antes de gastar créditos en una consulta real. Luego prueba: "Encuentra adquisiciones de empresas de IA en los últimos 7 días, límite 10".
</Step>
</Steps>
Consejo
Para funciones específicas de Claude como el archivo SKILL y los agentes de Python, consulta Integración con Claude.
Conectar con otros clientes
[](https://cursor.com/en/install-mcp?name=catchall\&config=eyJuYW1lIjoiY2F0Y2hhbGwiLCJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY2F0Y2hhbGwtbWNwLm5ld3NjYXRjaGVyYXBpLmNvbS9tY3A/YXBpS2V5PVlPVVJfQ0FUQ0hBTExfQVBJX0tFWSJ9)O agrégalo a `~/.cursor/mcp.json` manualmente:
```json theme={null}
{
"mcpServers": {
"catchall": {
"type": "http",
"url": "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"
}
}
}
```
Reinicia Cursor después de guardar.
[](https://vscode.dev/redirect/mcp/install?name=catchall\&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fcatchall-mcp.newscatcherapi.com%2Fmcp%22%7D)
O agrégalo a `.vscode/mcp.json` en la raíz de tu proyecto manualmente:
```json theme={null}
{
"servers": {
"catchall": {
"type": "http",
"url": "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"
}
}
}
```
Reinicia VS Code después de guardar.
Agrégalo a `~/.codeium/windsurf/mcp_config.json`:
```json theme={null}
{
"mcpServers": {
"catchall": {
"serverUrl": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "YOUR_CATCHALL_API_KEY"
}
}
}
}
```
Reinicia Windsurf después de guardar.
Agrégalo a tu configuración de Zed (`~/.config/zed/settings.json`):
```json theme={null}
{
"context_servers": {
"catchall": {
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "YOUR_CATCHALL_API_KEY"
}
}
}
}
```
Reinicia Zed después de guardar.
Ve a **Configuración > Servidores MCP > Agregar servidor MCP** y agrega:
```json theme={null}
{
"catchall": {
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "YOUR_CATCHALL_API_KEY"
}
}
}
```
Agrégalo a `~/.gemini/settings.json`:
```json theme={null}
{
"mcpServers": {
"catchall": {
"httpUrl": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "YOUR_CATCHALL_API_KEY"
}
}
}
}
```
Reinicia Gemini CLI después de guardar.
Agrégalo a tu configuración MCP de Roo Code:
```json theme={null}
{
"mcpServers": {
"catchall": {
"type": "streamable-http",
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "YOUR_CATCHALL_API_KEY"
}
}
}
}
```
Reinicia Roo Code después de guardar.
Para clientes que admiten MCP HTTP nativo con cabeceras:
```json theme={null}
{
"mcpServers": {
"catchall": {
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "YOUR_CATCHALL_API_KEY"
}
}
}
}
```
Si tu cliente no admite servidores MCP remotos de forma nativa, usa `mcp-remote` como proxy:
```json theme={null}
{
"mcpServers": {
"catchall": {
"command": "npx",
"args": [
"mcp-remote",
"https://catchall-mcp.newscatcherapi.com/mcp",
"--header",
"x-api-key:YOUR_CATCHALL_API_KEY"
]
}
}
}
```
Escribe el valor de la cabecera como `x-api-key:YOUR_CATCHALL_API_KEY` sin espacio después de los dos puntos (consulta [Autenticación](#authentication)).
Reinicia tu cliente después de guardar la configuración.
Nota
Reemplaza
YOUR_CATCHALL_API_KEYcon tu clave. No la compartas ni la confirmes en el control de versiones.
Herramientas disponibles
Cada herramienta se asigna a un endpoint de la API de CatchAll. Para los esquemas de solicitud y respuesta, consulta la referencia de la API.
El servidor envía guías de uso al cliente automáticamente, por lo que Claude ya
conoce el ciclo de vida de los trabajos — submit_query crea un trabajo, get_job_status consulta
su estado, y pull_results recupera registros una vez que se completa. No necesitas
explicar este flujo tú mismo.
| Herramienta | Descripción | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | | `validate_query` | Verifica la calidad de la consulta antes del envío — devuelve `good`, `needs_work`, o `critical` con sugerencias | | `initialize_query` | Previsualiza validadores sugeridos, enriquecimientos y rangos de fechas antes de enviar un trabajo. | | `submit_query` | Envía una consulta en lenguaje natural y crea un trabajo. | | `get_job_status` | Verifica el progreso del trabajo a través del pipeline de procesamiento | | `pull_results` | Recupera registros validados y enriquecidos de un trabajo completado o en progreso | | `pull_job_csv` | Descarga los resultados de un trabajo completado como archivo CSV — prefiérelo sobre `pull_results` cuando se necesite un formato de hoja de cálculo | | `continue_job` | Expande un trabajo para procesar registros adicionales más allá del límite inicial | | `list_user_jobs` | Lista todos los trabajos enviados por el usuario autenticado — admite filtros `search`, `ownership`, `project_id`, y `mode` (`base` o `lite`) | | `delete_job` | Elimina un trabajo y sus resultados | | Herramienta | Descripción | | ---------------------- | -------------------------------------------------------------------- | | `create_monitor` | Crea un monitor recurrente a partir de un trabajo de referencia completado | | `update_monitor` | Actualiza la configuración (IDs de webhook, límite por ejecución) de un monitor existente | | `list_monitors` | Lista todos los monitores del usuario autenticado | | `list_monitor_jobs` | Lista todos los trabajos producidos por un monitor específico | | `pull_monitor_results` | Recupera los últimos resultados agregados de un monitor | | `pull_monitor_csv` | Descarga los resultados de la ejecución más reciente del monitor como archivo CSV | | `get_monitor_status` | Obtén el historial completo de ejecuciones y cambios de estado de un monitor | | `enable_monitor` | Vuelve a habilitar un monitor previamente deshabilitado | | `disable_monitor` | Pausa un monitor sin eliminarlo | | `delete_monitor` | Elimina permanentemente un monitor | | Herramienta | Descripción | | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `create_webhook` | Registra un endpoint de webhook con nombre, modo de entrega y configuración de autenticación — pasa un `project_id` opcional para adjuntar el webhook a un proyecto inmediatamente al crearlo | | `list_webhooks` | Lista todos los endpoints de webhook para el usuario autenticado — pasa un `project_id` opcional para filtrar a webhooks que pertenecen a un proyecto específico | | `get_webhook` | Obtén los detalles completos de configuración de un webhook | | `update_webhook` | Actualiza la URL del webhook, el modo de entrega o la configuración de autenticación | | `test_webhook` | Envía un payload de prueba para verificar la accesibilidad del endpoint antes de adjuntarlo a un recurso | | `assign_webhook_resource` | Adjunta un webhook a un trabajo o monitor | | `list_webhook_resources` | Lista todos los recursos (trabajos y monitores) asignados a un webhook | | `remove_webhook_resource` | Desadjunta un webhook de un recurso específico | | `list_resource_webhooks` | Lista todos los webhooks adjuntos a un trabajo o monitor específico | | `get_webhook_history` | Recupera el historial de entregas en uno de dos modos: pasa `resource_type` + `resource_id` para ver entregas de un trabajo/monitor/monitor_group específico, o pasa `webhook_id` para ver todas las entregas a través de un webhook (exactamente un modo por llamada). Las entregas de prueba manuales de `test_webhook` solo aparecen en modo webhook y se registran con `resource_type: "test"` | | `trigger_webhook` | Activa manualmente la entrega del webhook para un trabajo, monitor o monitor_group — el envío es asíncrono; usa `get_webhook_history` para ver el resultado | | `delete_webhook` | Elimina un endpoint de webhook | Los datasets son colecciones nombradas de entidades (empresas o personas) que se utilizan para acotar los resultados de trabajos a una lista de seguimiento predefinida. Pasa `connected_dataset_ids` en `submit_query` para activar el modo de búsqueda de empresas.Nota
Los trabajos consumen créditos de API en proporción a cuántos registros procesan. Al probar una nueva consulta, pasa un
limitpequeño (por ejemplo, "límite 10") para mantener el costo bajo, luego auméntalo o usacontinue_jobuna vez que los resultados se vean correctos.
**Datasets**
| Herramienta | Descripción |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `create_dataset` | Crea un nuevo dataset a partir de una lista de IDs de entidades |
| `list_datasets` | Lista todos los datasets para el usuario autenticado |
| `get_dataset` | Obtén los detalles y metadatos del dataset |
| `update_dataset` | Actualiza el nombre o la descripción del dataset |
| `add_dataset_entities` | Agrega entidades a un dataset existente |
| `remove_dataset_entities` | Elimina entidades de un dataset |
| `list_dataset_entities` | Lista todas las entidades en un dataset |
| `get_dataset_status` | Verifica el progreso de enriquecimiento del dataset y la puntuación de salud |
| `create_dataset_from_csv` | Crea un nuevo dataset subiendo contenido CSV — pasa texto CSV crudo o base64 en el parámetro `file` (solo contenido en línea, límite de 10 MB; no se aceptan rutas de archivo del servidor) |
| `append_csv_to_dataset` | Agrega entidades a un dataset existente desde contenido CSV — mismo formato `file` que `create_dataset_from_csv` |
| `delete_dataset` | Elimina un dataset (las entidades se conservan) |
**Entidades**
| Herramienta | Descripción |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `create_entity` | Crea una entidad individual de empresa o persona. |
| `create_entities_batch` | Crea en masa múltiples entidades en una sola llamada |
| `list_entities` | Lista todas las entidades para el usuario autenticado — pasa un `project_id` opcional para filtrar a entidades que pertenecen a un proyecto específico |
| `get_entity` | Obtén los detalles de una entidad específica |
| `update_entity` | Actualiza el nombre, dominio o metadatos de la entidad. |
| `delete_entity` | Elimina una entidad |
Los proyectos agrupan trabajos, monitores, datasets y webhooks relacionados en contenedores
nombrados que se pueden compartir con compañeros de equipo y filtrar en todos los endpoints
de listado.
El campo `resource_type` aceptado por las herramientas de recursos de proyecto es uno de:
`job`, `monitor`, `dataset`, `monitor_group` o `webhook`. Un webhook puede
pertenecer a varios proyectos a la vez. Eliminar un proyecto desadjunta sus webhooks
pero nunca los elimina — el mapa `deleted_resources` de la respuesta incluye un
recuento `webhook_unlinked` para los webhooks que fueron desadjuntados.
| Herramienta | Descripción |
|---|---|
create_project | Crear un nuevo contenedor de proyecto |
list_projects | Listar todos los proyectos del usuario autenticado |
get_project | Obtener detalles y metadatos del proyecto |
update_project | Actualizar el nombre o la descripción del proyecto |
get_project_overview | Obtener un desglose del recuento de recursos por tipo y estado |
add_project_resources | Agregar trabajos, monitores, conjuntos de datos, grupos de monitores o webhooks a un proyecto |
list_project_resources | Listar todos los recursos dentro de un proyecto — opcionalmente filtrar por resource_type (job, monitor, dataset, monitor_group o webhook) |
remove_project_resource | Eliminar un recurso de un proyecto sin borrarlo (los webhooks solo se desvinculan — siguen existiendo y permanecen adjuntos a cualquier otro proyecto) |
delete_project | Eliminar un proyecto — los trabajos, monitores, conjuntos de datos y grupos de monitores contenidos se eliminan cuando delete_resources=true; los webhooks siempre solo se desvinculan, nunca se eliminan |
| Herramienta | Descripción |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_source_groups` | Listar todos los grupos de fuentes disponibles — devuelve el `slug`, `name` y `description` de cada grupo; admite parámetros opcionales `page` y `page_size` |
| Herramienta | Descripción |
| ----------------- | ------------------------------------------------------------ |
| `check_health` | Verificar el estado de salud de la API (no requiere autenticación) |
| `get_version` | Obtener la versión actual de la API (no requiere autenticación) |
| `get_user_limits` | Recuperar las características del plan y el uso actual en comparación con los límites del plan |
Solución de problemas
Reinicia tu cliente MCP después de actualizar la configuración. La mayoría de los clientes cargan las herramientas MCP al iniciar y no detectan los cambios hasta que se reinician. Verifica que tu clave de API sea válida llamando a un endpoint autenticado:curl -X POST "https://catchall.newscatcherapi.com/catchAll/initialize" \
-H "x-api-key: YOUR_CATCHALL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "test"}'
Si esto devuelve un error 403, tu clave no es válida. Verifícala en
platform.newscatcherapi.com.