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:
- Cabeçalho de requisição HTTP
x-api-key— recomendado para todas as configurações de cliente - 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 - Cabeçalho de requisição HTTP
Authorization: Bearer <key> - Variável de ambiente
CATCHALL_API_KEYno 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 formatoheader-name:valuesem 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>
O Claude Desktop suporta servidores MCP remotos por meio da interface de Conectores (**Configurações > Personalizar > Conectores**) — o mesmo fluxo do Claude.ai.Dica
Para recursos específicos do Claude, como o arquivo SKILL e agentes Python, consulte Integração com Claude.
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
npxmuitas vezes não pode ser iniciado diretamente a partir desta configuração. Se o servidor falhar ao iniciar, envolva-o comcmd: defina"command": "cmd"and prepend"/c", "npx"to the `` no arrayargs.
<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>
Execute no seu terminal:Dica
Para recursos específicos do Claude, como o arquivo SKILL e agentes Python, consulte Integração com Claude.
```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
[](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.
[](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_KEYpela 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.
| 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.Nota
Os jobs consomem créditos da API proporcionalmente à quantidade de registros que processam. Ao testar uma nova consulta, passe um
limitpequeno (por exemplo, "limite 10") para manter o custo baixo, depois aumente-o ou usecontinue_jobquando os resultados parecerem corretos.
**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.
| Ferramenta | Descrição |
|---|---|
create_project | Criar um novo contêiner de projeto |
list_projects | Listar todos os projetos do usuário autenticado |
get_project | Obter detalhes e metadados do projeto |
update_project | Atualizar nome ou descrição do projeto |
get_project_overview | Obter uma divisão da contagem de recursos por tipo e status |
add_project_resources | Adicionar jobs, monitores, conjuntos de dados, grupos de monitores ou webhooks a um projeto |
list_project_resources | Listar todos os recursos dentro de um projeto — opcionalmente filtrar por resource_type (job, monitor, dataset, monitor_group ou webhook) |
remove_project_resource | Remover um recurso de um projeto sem excluí-lo (webhooks são apenas desanexados — eles continuam existindo e permanecem anexados a quaisquer outros projetos) |
delete_project | Excluir 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 |
| 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.