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. Gestiona 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 de eventos, configurar webhooks, crear monitores 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 la falta de dos puntos 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 subas a control de versiones.
Conectar con Claude
Ve a [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Haz clic en **+** y selecciona **Añadir conector personalizado**. <Step title="Configure connection">
Rellena el diálogo **Añadir 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 **Añadir**. 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 comprobar 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 theargs.
<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 pegados: `x-api-key:YOUR_CATCHALL_API_KEY` sin espacio después de los dos puntos, o la cabecera se enviará malformada (consulta [Autenticación](#authentication)).
</Step>
<Step title="Verify connection">
Ejecuta `claude mcp list` y confirma que `catchall` aparece en la lista, 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 añádelo 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 añádelo 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.
Añádelo 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.
Añádelo a la 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 > Añadir servidor MCP** y añade:
```json theme={null}
{
"catchall": {
"url": "https://catchall-mcp.newscatcherapi.com/mcp",
"headers": {
"x-api-key": "YOUR_CATCHALL_API_KEY"
}
}
}
```
Añádelo 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.
Añádelo a la 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 subas a control de versiones.
Herramientas disponibles
Cada herramienta se corresponde con 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 los registros una vez que se completa. No necesitas explicar este flujo tú mismo.
| Herramienta | Descripción | | - | - | | `validate_query` | Comprueba la calidad de la consulta antes de enviarla — 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` | Comprueba el progreso del trabajo a través del pipeline de procesamiento | | `pull_results` | Recupera registros validados y enriquecidos de un trabajo completado o en curso | | `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 de eventos 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 de eventos existente | | `list_monitors` | Lista todos los monitores de eventos del usuario autenticado | | `list_monitor_jobs` | Lista todos los trabajos producidos por un monitor de eventos específico | | `pull_monitor_results` | Recupera los últimos resultados agregados de un monitor de eventos | | `pull_monitor_csv` | Descarga los resultados de la ejecución más reciente del monitor de eventos como archivo CSV | | `get_monitor_status` | Obtén el historial completo de ejecución y los cambios de estado de un monitor de eventos | | `enable_monitor` | Vuelve a habilitar un monitor de eventos previamente deshabilitado | | `disable_monitor` | Pausa un monitor de eventos sin eliminarlo | | `delete_monitor` | Elimina permanentemente un monitor de eventos | | Herramienta | Descripción | | - | - | | `create_webhook` | Registrar 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` | Listar 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` | Obtener detalles completos de configuración de un webhook | | `update_webhook` | Actualizar la URL del webhook, el modo de entrega o la configuración de autenticación | | `test_webhook` | Enviar un payload de prueba para verificar la accesibilidad del endpoint antes de adjuntarlo a un recurso | | `assign_webhook_resource` | Adjuntar un webhook a un job o monitor de eventos | | `list_webhook_resources` | Listar todos los recursos (jobs y monitores de eventos) asignados a un webhook | | `remove_webhook_resource` | Desadjuntar un webhook de un recurso específico | | `list_resource_webhooks` | Listar todos los webhooks adjuntos a un job o monitor de eventos específico | | `get_webhook_history` | Recuperar el historial de entregas en uno de dos modos: pasa `resource_type` + `resource_id` para ver entregas de un job/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` | Activar manualmente la entrega de un webhook para un job, monitor o monitor_group: el envío es asíncrono; usa `get_webhook_history` para ver el resultado | | `delete_webhook` | Eliminar un endpoint de webhook | Los datasets son colecciones nombradas de entidades (empresas o personas) que se usan para limitar los resultados de jobs 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` | Crear un nuevo dataset a partir de una lista de IDs de entidades |
| `list_datasets` | Listar todos los datasets para el usuario autenticado |
| `get_dataset` | Obtener detalles y metadatos de un dataset |
| `update_dataset` | Actualizar el nombre o la descripción de un dataset |
| `add_dataset_entities` | Añadir entidades a un dataset existente |
| `remove_dataset_entities` | Eliminar entidades de un dataset |
| `list_dataset_entities` | Listar todas las entidades en un dataset |
| `get_dataset_status` | Comprobar el progreso de enriquecimiento y la puntuación de salud de un dataset |
| `create_dataset_from_csv` | Crear 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` | Añadir entidades a un dataset existente desde contenido CSV: mismo formato `file` que `create_dataset_from_csv` |
| `delete_dataset` | Eliminar un dataset (las entidades se conservan) |
**Entidades**
| Herramienta | Descripción |
| - | - |
| `create_entity` | Crear una sola entidad de empresa o persona. |
| `create_entities_batch` | Crear múltiples entidades en una sola llamada |
| `list_entities` | Listar 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` | Obtener detalles de una entidad específica |
| `update_entity` | Actualizar el nombre, dominio o metadatos de una entidad. |
| `delete_entity` | Eliminar una entidad |
Los proyectos agrupan jobs, monitores de eventos, 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 para el usuario autenticado |
| `get_project` | Obtener detalles y metadatos de un proyecto |
| `update_project` | Actualizar el nombre o la descripción de un proyecto |
| `get_project_overview` | Obtener un desglose del recuento de recursos por tipo y estado |
| `add_project_resources` | Añadir jobs, monitores de eventos, datasets, grupos de monitores de eventos 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 desadjuntan: siguen existiendo y permanecen adjuntos a cualquier otro proyecto) |
| `delete_project` | Eliminar un proyecto: los jobs, monitores de eventos, datasets y grupos de monitores de eventos contenidos se eliminan cuando `delete_resources=true`; los webhooks siempre solo se desadjuntan, nunca se eliminan |
Los grupos de fuentes son listas de permitidos de dominios nombradas y reutilizables: grupos públicos más
cualquier grupo de visibilidad de organización al que tu organización pueda acceder. Usa el `slug` de un grupo
para limitar la obtención de un job a esa lista de permitidos de dominios.
| 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` | Comprobar 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 frente a 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 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.
Ver también
Configuración completa de Claude con MCP y Skills Habilidades de agente especializadas para inteligencia competitiva, financiación, fusiones y adquisiciones y más Documentación completa de endpoints y esquemas Obtén mejores resultados de los jobs de CatchAllEsta documentación está creada y alojada en Mintlify, una plataforma de documentación para desarrolladores.