CatchAll (by NewsCatcher)

CatchAll é uma API de busca na web projetada para recuperação abrangente de eventos — não resultados ranqueados, mas todos os registros correspondentes.

Documentação

Servidor MCP CatchAll

Conecte o CatchAll a qualquer cliente compatível com MCP para pesquisa web estruturada.

O servidor MCP expõe as ferramentas da API CatchAll para qualquer cliente compatível com MCP. Ele gerencia autenticação, roteamento de ferramentas e formatação de respostas para que o cliente possa enviar jobs, consultar status, recuperar resultados, gerenciar monitores, configurar webhooks, criar listas de acompanhamento de empresas com conjuntos de dados e entidades, e organizar o trabalho em projetos.

Antes de começar

  • Chave da API CatchAll em platform.newscatcherapi.com
  • Cliente compatível com MCP (Claude, Cursor, VS Code, Windsurf, Zed, Warp, Gemini CLI, Roo Code ou qualquer cliente que suporte MCP remoto)

Autenticação

O servidor MCP resolve sua chave de API de várias fontes:

  1. Cabeçalho de requisição HTTP x-api-keyrecomendado para todas as configurações de cliente
  2. Parâmetro de consulta de URL ?apiKey=YOUR_KEY — usado pelo Claude.ai porque sua interface de conectores não suporta cabeçalhos de requisição personalizados
  3. Cabeçalho de requisição HTTP Authorization: Bearer <key>
  4. Variável de ambiente CATCHALL_API_KEY no host do servidor

A maioria das configurações de cliente usa a opção 1 (o cabeçalho x-api-key). O Claude.ai usa a opção 2 (o parâmetro de consulta apiKey) automaticamente. As ferramentas check_health e get_version não exigem autenticação.

Para rotacionar sua chave, atualize a configuração do cliente com a nova chave e reinicie o cliente.

Nota

Ao passar a chave por meio de um sinalizador --header (Claude Code, mcp-remote), use o formato header-name:value sem espaço após os dois pontos — por exemplo, x-api-key:YOUR_CATCHALL_API_KEY. Um espaço ou dois pontos ausentes é o motivo mais comum para uma conexão falhar silenciosamente na autenticação.

Aviso

Seu arquivo de configuração contém sua chave de API em texto simples. Trate-o como um segredo e não o compartilhe nem o envie para o controle de versão.

Conectar ao Claude

Vá para [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Clique em **+** e selecione **Adicionar conector personalizado**.
  <Step title="Configure connection">
    Preencha a caixa de diálogo **Adicionar conector personalizado**:

    * **Nome**: `CatchAll`
    * **URL do servidor MCP remoto**:

    ```
    https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY
    ```
  </Step>

  <Step title="Add and verify">
    Clique em **Adicionar**. Verifique se o CatchAll aparece em **Web** na sua lista de conectores.
  </Step>

  <Step title="Test connection">
    Abra um novo chat e peça ao Claude para executar `check_health`. Esta ferramenta não precisa de chave de API, então uma resposta bem-sucedida confirma que a conexão em si funciona — isolando problemas de conexão de problemas de chave. Em seguida, tente uma consulta real, por exemplo: "Encontre aquisições de empresas de IA nos últimos 7 dias, limite 10". O Claude deve chamar as ferramentas do CatchAll e retornar resultados estruturados.
  </Step>
</Steps>

Dica

Para recursos específicos do Claude, como o arquivo SKILL e agentes Python, consulte Integração com Claude.

O Claude Desktop suporta servidores MCP remotos por meio da interface de Conectores (**Configurações > Personalizar > Conectores**) — o mesmo fluxo do Claude.ai.
Alternativamente, você pode configurá-lo por meio de um arquivo de configuração JSON. Essa abordagem não suporta MCP remoto nativo, portanto exige `mcp-remote` como proxy.

<Steps>
  <Step title="Install Node.js">
    Execute `node --version` para verificar se o Node.js está instalado. Se o comando falhar, baixe e instale-o em [nodejs.org](https://nodejs.org) antes de continuar.
  </Step>

  <Step title="Fix npm permissions (once)">
    Execute isto uma vez para evitar erros de permissão ao 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>

    Ou abra-o pelo Claude Desktop: **Configurações > Desenvolvedor > Editar Configuração**.
  </Step>

  <Step title="Add CatchAll entry">
    Cole o seguinte no arquivo:

    ```json theme={null}
    {
      "mcpServers": {
        "catchall": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "https://catchall-mcp.newscatcherapi.com/mcp",
            "--header",
            "x-api-key:YOUR_CATCHALL_API_KEY"
          ]
        }
      }
    }
    ```

    Escreva o valor do cabeçalho como `x-api-key:YOUR_CATCHALL_API_KEY` sem espaço após os dois pontos (consulte [Autenticação](#authentication)).

Nota

No Windows, o npx muitas vezes não pode ser iniciado diretamente a partir desta configuração. Se o servidor falhar ao iniciar, envolva-o com cmd: defina "command": "cmd" and prepend "/c", "npx" to the `` no array args.

  <Step title="Restart Claude Desktop">
    Salve o arquivo e saia completamente do Claude Desktop, depois reabra-o. O Claude Desktop carrega as ferramentas MCP na inicialização.
  </Step>

  <Step title="Verify connection">
    Vá para **Configurações > Desenvolvedor**. Ao lado de **catchall**, o status deve mostrar **em execução**. Para confirmar de ponta a ponta, abra um novo chat e peça ao Claude para executar `check_health` — ele não precisa de chave de API, então uma resposta limpa prova que a conexão funciona.
  </Step>
</Steps>

Dica

Para recursos específicos do Claude, como o arquivo SKILL e agentes Python, consulte Integração com Claude.

Execute no seu terminal:
    ```bash theme={null}
    claude mcp add --transport http catchall \
      "https://catchall-mcp.newscatcherapi.com/mcp" \
      --header "x-api-key:YOUR_CATCHALL_API_KEY"
    ```

    Mantenha os dois pontos juntos: `x-api-key:YOUR_CATCHALL_API_KEY` sem espaço após os dois pontos, ou o cabeçalho será enviado malformado (consulte [Autenticação](#authentication)).
  </Step>

  <Step title="Verify connection">
    Execute `claude mcp list` e confirme se `catchall` está listado, ou digite `/mcp` dentro de uma sessão do Claude Code para vê-lo marcado como conectado.
  </Step>

  <Step title="Test connection">
    Em uma sessão, peça ao Claude para executar `check_health`. Esta ferramenta não precisa de chave de API, então uma resposta bem-sucedida confirma que a conexão funciona antes de você gastar créditos em uma consulta real. Em seguida, tente: "Encontre aquisições de empresas de IA nos últimos 7 dias, limite 10".
  </Step>
</Steps>

Dica

Para recursos específicos do Claude, como o arquivo SKILL e agentes Python, consulte Integração com Claude.

Conectar a outros clientes

[![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=catchall\&config=eyJuYW1lIjoiY2F0Y2hhbGwiLCJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY2F0Y2hhbGwtbWNwLm5ld3NjYXRjaGVyYXBpLmNvbS9tY3A/YXBpS2V5PVlPVVJfQ0FUQ0hBTExfQVBJX0tFWSJ9)
Ou adicione ao `~/.cursor/mcp.json` manualmente:

```json theme={null}
{
  "mcpServers": {
    "catchall": {
      "type": "http",
      "url": "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"
    }
  }
}
```

Reinicie o Cursor após salvar.
[![Install in VS Code](https://img.shields.io/badge/Install_in-VS_Code-0098FF?style=flat-square\&logo=visualstudiocode\&logoColor=white)](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)
Ou adicione ao `.vscode/mcp.json` na raiz do seu projeto manualmente:

```json theme={null}
{
  "servers": {
    "catchall": {
      "type": "http",
      "url": "https://catchall-mcp.newscatcherapi.com/mcp?apiKey=YOUR_CATCHALL_API_KEY"
    }
  }
}
```

Reinicie o VS Code após salvar.
Adicione ao `~/.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"
      }
    }
  }
}
```

Reinicie o Windsurf após salvar.
Adicione às configurações do seu 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"
      }
    }
  }
}
```

Reinicie o Zed após salvar.
Vá para **Configurações > Servidores MCP > Adicionar Servidor MCP** e adicione:
```json theme={null}
{
  "catchall": {
    "url": "https://catchall-mcp.newscatcherapi.com/mcp",
    "headers": {
      "x-api-key": "YOUR_CATCHALL_API_KEY"
    }
  }
}
```
Adicione ao `~/.gemini/settings.json`:
```json theme={null}
{
  "mcpServers": {
    "catchall": {
      "httpUrl": "https://catchall-mcp.newscatcherapi.com/mcp",
      "headers": {
        "x-api-key": "YOUR_CATCHALL_API_KEY"
      }
    }
  }
}
```

Reinicie o Gemini CLI após salvar.
Adicione à configuração MCP do seu 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"
      }
    }
  }
}
```

Reinicie o Roo Code após salvar.
Para clientes que suportam MCP HTTP nativo com cabeçalhos:
```json theme={null}
{
  "mcpServers": {
    "catchall": {
      "url": "https://catchall-mcp.newscatcherapi.com/mcp",
      "headers": {
        "x-api-key": "YOUR_CATCHALL_API_KEY"
      }
    }
  }
}
```

Se o seu cliente não suportar servidores MCP remotos nativamente, use `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"
      ]
    }
  }
}
```

Escreva o valor do cabeçalho como `x-api-key:YOUR_CATCHALL_API_KEY` sem espaço após os dois pontos (consulte [Autenticação](#authentication)).

Reinicie o seu cliente após salvar a configuração.

Nota

Substitua YOUR_CATCHALL_API_KEY pela sua chave. Não a compartilhe nem a envie para o controle de versão.

Ferramentas disponíveis

Cada ferramenta mapeia para um endpoint da API CatchAll. Para esquemas de requisição e resposta, consulte a referência da API.

O servidor envia orientações de uso ao cliente automaticamente, então o Claude já conhece o ciclo de vida do job — submit_query cria um job, get_job_status consulta o status e pull_results recupera registros quando ele é concluído. Você não precisa explicar esse fluxo por conta própria.

Nota

Os jobs consomem créditos da API proporcionalmente à quantidade de registros que processam. Ao testar uma nova consulta, passe um limit pequeno (por exemplo, "limite 10") para manter o custo baixo, depois aumente-o ou use continue_job quando os resultados parecerem corretos.

| Ferramenta | Descrição | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- | | `validate_query` | Verifique a qualidade da consulta antes do envio — retorna `good`, `needs_work` ou `critical` com sugestões | | `initialize_query` | Visualize validadores, enriquecimentos e intervalos de datas sugeridos antes de enviar um job. | | `submit_query` | Envie uma consulta em linguagem natural e crie um job. | | `get_job_status` | Verifique o progresso do job pelo pipeline de processamento | | `pull_results` | Recupere registros validados e enriquecidos de um job concluído ou em andamento | | `pull_job_csv` | Baixe os resultados de um job concluído como arquivo CSV — prefira em vez de `pull_results` quando um formato de planilha for necessário | | `continue_job` | Expanda um job para processar registros adicionais além do limite inicial | | `list_user_jobs` | Liste todos os jobs enviados pelo usuário autenticado — suporta filtros `search`, `ownership`, `project_id` e `mode` (`base` ou `lite`) | | `delete_job` | Exclua um job e seus resultados | | Ferramenta | Descrição | | ---------------------- | -------------------------------------------------------------------- | | `create_monitor` | Crie um monitor recorrente a partir de um job de referência concluído | | `update_monitor` | Atualize configurações (IDs de webhook, limite por execução) de um monitor existente | | `list_monitors` | Liste todos os monitores do usuário autenticado | | `list_monitor_jobs` | Liste todos os jobs produzidos por um monitor específico | | `pull_monitor_results` | Recupere os resultados agregados mais recentes de um monitor | | `pull_monitor_csv` | Baixe os resultados da execução mais recente do monitor como arquivo CSV | | `get_monitor_status` | Obtenha o histórico completo de execução e mudanças de estado de um monitor | | `enable_monitor` | Reative um monitor anteriormente desativado | | `disable_monitor` | Pause um monitor sem excluí-lo | | `delete_monitor` | Exclua permanentemente um monitor | | Ferramenta | Descrição | | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `create_webhook` | Registra um endpoint de webhook nomeado com modo de entrega e configuração de autenticação — passe um `project_id` opcional para anexar o webhook a um projeto imediatamente na criação | | `list_webhooks` | Lista todos os endpoints de webhook do usuário autenticado — passe um `project_id` opcional para filtrar webhooks pertencentes a um projeto específico | | `get_webhook` | Obtém detalhes completos da configuração de um webhook | | `update_webhook` | Atualiza a URL do webhook, o modo de entrega ou as configurações de autenticação | | `test_webhook` | Envia um payload de teste para verificar a acessibilidade do endpoint antes de anexá-lo a um recurso | | `assign_webhook_resource` | Anexa um webhook a um job ou monitor | | `list_webhook_resources` | Lista todos os recursos (jobs e monitores) atribuídos a um webhook | | `remove_webhook_resource` | Desanexa um webhook de um recurso específico | | `list_resource_webhooks` | Lista todos os webhooks anexados a um job ou monitor específico | | `get_webhook_history` | Recupera o histórico de entregas em um de dois modos: passe `resource_type` + `resource_id` para ver entregas de um job/monitor/monitor_group específico, ou passe `webhook_id` para ver todas as entregas por meio de um webhook (exatamente um modo por chamada). Entregas de teste manuais de `test_webhook` só aparecem no modo webhook e são registradas com `resource_type: "test"` | | `trigger_webhook` | Dispara manualmente a entrega de webhook para um job, monitor ou monitor_group — o envio é assíncrono; use `get_webhook_history` para ver o resultado | | `delete_webhook` | Exclui um endpoint de webhook | Datasets são coleções nomeadas de entidades (empresas ou pessoas) usadas para limitar os resultados de jobs a uma lista de observação predefinida. Passe `connected_dataset_ids` em `submit_query` para ativar o modo de busca de empresas.
**Datasets**

| Ferramenta                 | Descrição                                                                                                                                                                   |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `create_dataset`          | Cria um novo dataset a partir de uma lista de IDs de entidades                                                                                                                                |
| `list_datasets`           | Lista todos os datasets do usuário autenticado                                                                                                                                  |
| `get_dataset`             | Obtém detalhes e metadados do dataset                                                                                                                                              |
| `update_dataset`          | Atualiza o nome ou a descrição do dataset                                                                                                                                            |
| `add_dataset_entities`    | Adiciona entidades a um dataset existente                                                                                                                                           |
| `remove_dataset_entities` | Remove entidades de um dataset                                                                                                                                                |
| `list_dataset_entities`   | Lista todas as entidades em um dataset                                                                                                                                                |
| `get_dataset_status`      | Verifica o progresso de enriquecimento do dataset e a pontuação de integridade                                                                                                                            |
| `create_dataset_from_csv` | Cria um novo dataset enviando conteúdo CSV — passe texto CSV bruto ou base64 no parâmetro `file` (somente conteúdo inline, limite de 10 MB; caminhos de arquivo no servidor não são aceitos) |
| `append_csv_to_dataset`   | Acrescenta entidades a um dataset existente a partir de conteúdo CSV — mesmo formato `file` que `create_dataset_from_csv`                                                                     |
| `delete_dataset`          | Exclui um dataset (as entidades são preservadas)                                                                                                                                     |

**Entidades**

| Ferramenta               | Descrição                                                                                                                        |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| `create_entity`         | Cria uma entidade de empresa ou pessoa individual.                                                                                          |
| `create_entities_batch` | Cria várias entidades em massa em uma única chamada                                                                                          |
| `list_entities`         | Lista todas as entidades do usuário autenticado — passe um `project_id` opcional para filtrar entidades pertencentes a um projeto específico |
| `get_entity`            | Obtém detalhes de uma entidade específica                                                                                                  |
| `update_entity`         | Atualiza nome, domínio ou metadados da entidade.                                                                                           |
| `delete_entity`         | Exclui uma entidade                                                                                                                   |
Projetos agrupam jobs, monitores, datasets e webhooks relacionados em contêineres nomeados que podem ser compartilhados com colegas de equipe e filtrados em todos os endpoints de listagem.
O campo `resource_type` aceito pelas ferramentas de recursos de projeto é um de:
`job`, `monitor`, `dataset`, `monitor_group` ou `webhook`. Um webhook pode
pertencer a vários projetos ao mesmo tempo. Excluir um projeto desanexa seus webhooks,
mas nunca os exclui — o mapa `deleted_resources` da resposta inclui uma
contagem `webhook_unlinked` para os webhooks que foram desanexados.
FerramentaDescrição
create_projectCriar um novo contêiner de projeto
list_projectsListar todos os projetos do usuário autenticado
get_projectObter detalhes e metadados do projeto
update_projectAtualizar nome ou descrição do projeto
get_project_overviewObter uma divisão da contagem de recursos por tipo e status
add_project_resourcesAdicionar jobs, monitores, conjuntos de dados, grupos de monitores ou webhooks a um projeto
list_project_resourcesListar todos os recursos dentro de um projeto — opcionalmente filtrar por resource_type (job, monitor, dataset, monitor_group ou webhook)
remove_project_resourceRemover um recurso de um projeto sem excluí-lo (webhooks são apenas desanexados — eles continuam existindo e permanecem anexados a quaisquer outros projetos)
delete_projectExcluir um projeto — jobs, monitores, conjuntos de dados e grupos de monitores contidos são excluídos quando delete_resources=true; webhooks são sempre apenas desanexados, nunca excluídos
Grupos de origem são listas de permissão de domínio nomeadas e reutilizáveis — grupos públicos mais quaisquer grupos de visibilidade da organização aos quais sua organização pode acessar. Use o `slug` de um grupo para escopar a busca de um job a essa lista de permissão de domínio.
| Ferramenta            | Descrição                                                                                                                                    |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `list_source_groups` | Listar todos os grupos de origem disponíveis — retorna o `slug`, `name` e `description` de cada grupo; suporta parâmetros opcionais `page` e `page_size` |
| Ferramenta | Descrição | | ----------------- | ------------------------------------------------------------ | | `check_health` | Verificar o status de saúde da API (nenhuma autenticação necessária) | | `get_version` | Obter a versão atual da API (nenhuma autenticação necessária) | | `get_user_limits` | Recuperar recursos do plano e uso atual em relação aos limites do plano |

Solução de problemas

Reinicie seu cliente MCP após atualizar a configuração. A maioria dos clientes carrega ferramentas MCP na inicialização e não detecta alterações até ser reiniciado. Verifique se sua chave de API é válida chamando um 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"}'

Se isso retornar um erro 403, sua chave é inválida. Verifique-a em platform.newscatcherapi.com.

Quando uma chamada de ferramenta falha, o servidor MCP relata um erro real de ferramenta (`isError=True`) carregando o código de status e a mensagem upstream — por exemplo, `API Error (401): Api key not found`. Verifique a mensagem de erro retornada pelo seu cliente para o código de status e o motivo específicos. Use `mcp-remote` para fazer proxy da conexão. Instale o Node.js e use a configuração `npx` mostrada na aba **Outros clientes**.

Veja também

Configuração completa do Claude com MCP e Skills Habilidades de agente especializadas para inteligência competitiva, financiamento, M\&A e mais Documentação completa de endpoints e esquemas Obtenha melhores resultados de jobs do CatchAll