AnySearch
Habilidade unificada de busca em tempo real para agentes de IA.
Documentação
Servidor MCP AnySearch
English | 简体中文
Servidor MCP de busca unificada em tempo real que suporta busca web geral, busca por domínio vertical, busca em lote paralela e extração de conteúdo completo de URLs.
Recursos
- Busca Web Geral — consultas em linguagem natural abertas
- Busca por Domínio Vertical — consultas estruturadas em finanças, acadêmico, segurança, jurídico, código e mais
- Busca em Lote Paralela — execute múltiplas consultas independentes em uma única chamada
- Extração de Conteúdo de URL — busque e extraia o conteúdo completo da página como Markdown
- Acesso Anônimo — funciona sem chave de API (com limites de taxa menores)
Configuração da Chave de API
Uma chave de API é opcional, mas recomendada. Sem uma chave, todos os recursos ainda funcionam via acesso anônimo com limites de taxa menores.
Registrar para uma Chave de API (Recomendado)
O agente pode registrar o usuário e obter uma chave de API em uma única chamada — sem código de verificação, sem cadastro manual. Peça ao usuário um endereço de e-mail real: ele se torna o nome de usuário da conta.
curl -s -X POST "https://api.anysearch.com/v1/auth/email/register" \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
Resposta de sucesso (code: 0) retorna as informações da conta e uma chave de API em texto puro de uso único:
{
"code": 0,
"message": "success",
"data": {
"username": "you@example.com",
"email": "you@example.com",
"login_url": "https://www.anysearch.com/login",
"api_key": {
"id": "key_xxxxxxxx",
"key": "as_sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"key_prefix": "as_sk_xxxxxx...",
"name": "default",
"rate_limit": 100,
"quota_limit": 0,
"expires_at": null,
"created_at": "2026-06-23T10:23:00Z"
}
}
}
Em caso de sucesso, o agente DEVE:
- Colocar
data.api_key.keyna configuração do servidor MCP como o valor deAuthorization: Bearer <key>(e/ou definirANYSEARCH_API_KEY) — ela é exibida apenas uma vez (também pode ser recuperada posteriormente no painel). - Informar ao usuário seu nome de usuário (= e-mail) e o
login_url.
Tratamento de erros (sempre code: -1 em caso de erro; ramifique na string message):
| mensagem | o que fazer |
|---|---|
Invalid email address. | peça ao usuário para reinserir o e-mail |
email_already_registered | e-mail já está em uso — informe ao usuário para entrar em login_url; não tente novamente |
contém Rate limited | leia os segundos de espera da mensagem (ex.: "Rate limited, retry after 300 seconds."), aguarde e tente novamente |
começa com Key creation failed. | conta criada, mas a chave falhou — extraia o e-mail e a URL da mensagem ("Key creation failed. Your account <email> was created; sign in at <url>.") e informe ao usuário para entrar lá e criar uma chave manualmente |
Internal server error. | tente novamente mais tarde ou use acesso anônimo |
O e-mail deve ser real e acessível.
Obter uma Chave de API
Alternativamente, visite https://anysearch.com/console/api-keys para criar uma chave de API gratuita.
Prioridade da Chave
| Prioridade | Origem |
|---|---|
| 1 (mais alta) | Flag de CLI --api_key / cabeçalho Authorization |
| 2 | Variável de ambiente ANYSEARCH_API_KEY |
| 3 | Arquivo .env (ANYSEARCH_API_KEY=<key>) |
| 4 | Acesso anônimo (limites de taxa menores) |
Comportamento da Chave
| Cenário | Comportamento |
|---|---|
| Sem chave | Prosseguir com acesso anônimo (limites de taxa menores) |
| Com chave | Enviada via cabeçalho Authorization: Bearer <key>, limites de taxa maiores |
| Chave esgotada, chave registrada automaticamente retornada | O agente deve pedir confirmação ao usuário e então persistir a nova chave |
| Chave esgotada, sem nova chave | Informar o usuário e sugerir configurar uma nova chave de API |
Transporte MCP
O endpoint de produção é:
https://api.anysearch.com/mcp
Ele usa nativamente Streamable HTTP. As versões atuais de OpenCode, Claude Code, Cursor, VS Code, Windsurf e Cline podem se conectar diretamente a ele; nenhum proxy SSE ou stdio é necessário. As configurações abaixo seguem a documentação oficial atual de cada cliente.
Instalação
A chave de API é opcional. Em clientes que suportam cabeçalhos personalizados, os exemplos usam a configuração autenticada recomendada. Para usar acesso anônimo, remova apenas a entrada Authorization e mantenha X-Anysearch-Client.
OpenCode
Documentação oficial: Servidores MCP e locais de configuração.
Use ~/.config/opencode/opencode.json para uma configuração global ou opencode.json na raiz do projeto. No Windows, o caminho global é %USERPROFILE%\.config\opencode\opencode.json.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"anysearch": {
"type": "remote",
"url": "https://api.anysearch.com/mcp",
"enabled": true,
"oauth": false,
"headers": {
"Authorization": "Bearer {env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
OpenCode usa {env:NAME} para substituição de variáveis de ambiente. "oauth": false evita um fluxo desnecessário de descoberta OAuth para este servidor autenticado por chave de API.
Claude Code
Documentação oficial: Conecte o Claude Code a ferramentas via MCP.
Para uma instalação privada, em todo o sistema do usuário, execute:
claude mcp add --transport http anysearch https://api.anysearch.com/mcp --scope user --header "Authorization: Bearer <your_api_key>" --header "X-Anysearch-Client: mcp/1.0.0"
O escopo user armazena o servidor em ~/.claude.json e o disponibiliza em todos os projetos da máquina. Para acesso anônimo, omita a opção Authorization --header.
Para uma configuração de projeto compartilhável, crie .mcp.json na raiz do projeto:
{
"mcpServers": {
"anysearch": {
"type": "http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
O Claude Code expande ${VAR} e ${VAR:-default} em .mcp.json, inclusive dentro de url e headers. Defina ANYSEARCH_API_KEY antes de iniciar o Claude Code. Servidores com escopo de projeto exigem aprovação na primeira abertura interativa.
Verifique a conexão com:
claude mcp get anysearch
claude mcp list
Dentro do Claude Code, /mcp mostra o status do servidor e as ferramentas disponíveis.
Cursor
Documentação oficial: Model Context Protocol.
Use .cursor/mcp.json para um projeto ou ~/.cursor/mcp.json globalmente:
{
"mcpServers": {
"anysearch": {
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
O Cursor reconhece automaticamente o endpoint HTTP remoto e suporta interpolação de ${env:NAME} em url e headers.
VS Code
Documentação oficial: Referência de configuração MCP.
Execute MCP: Open User Configuration para um servidor em todo o sistema do usuário, ou crie .vscode/mcp.json em um workspace. Este exemplo usa uma entrada de senha para que a chave seja solicitada e armazenada com segurança em vez de ser commitada:
{
"inputs": [
{
"type": "promptString",
"id": "anysearch-api-key",
"description": "AnySearch API key",
"password": true
}
],
"servers": {
"anysearch": {
"type": "http",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${input:anysearch-api-key}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
Para acesso anônimo, remova a entrada Authorization e todo o array inputs.
Windsurf
Documentação oficial: Integração Cascade MCP.
Abra Settings > Tools > Windsurf Settings > Add Server, ou edite ~/.codeium/mcp_config.json via View Raw Config:
{
"mcpServers": {
"anysearch": {
"serverUrl": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer ${env:ANYSEARCH_API_KEY}",
"X-Anysearch-Client": "mcp/1.0.0"
}
}
}
}
O Windsurf suporta interpolação de variáveis de ambiente em serverUrl, url e headers. Atualize a lista de servidores MCP após salvar.
Cline
Documentação oficial: MCP.
No painel do Cline, abra MCP Servers > Configure > Configure MCP Servers, ou adicione um endpoint hospedado na aba Remote Servers. Use o tipo explícito streamableHttp; omiti-lo faz o fallback para o comportamento legado de SSE.
{
"mcpServers": {
"anysearch": {
"type": "streamableHttp",
"url": "https://api.anysearch.com/mcp",
"headers": {
"Authorization": "Bearer <your_api_key>",
"X-Anysearch-Client": "mcp/1.0.0"
},
"disabled": false,
"autoApprove": []
}
}
}
Para a CLI do Cline, o arquivo de configuração é ~/.cline/mcp.json; cline mcp abre o assistente MCP interativo.
Referência Rápida do Cliente
| Cliente | Conexão oficial | Local de configuração | Streamable HTTP direto? |
|---|---|---|---|
| OpenCode | Config MCP remota | ~/.config/opencode/opencode.json ou projeto opencode.json | Sim |
| Claude Code | MCP HTTP remoto | Usuário ~/.claude.json ou projeto .mcp.json | Sim |
| Cursor | Config MCP remota | .cursor/mcp.json ou ~/.cursor/mcp.json | Sim |
| VS Code | Config MCP HTTP | Config MCP do usuário ou .vscode/mcp.json | Sim |
| Windsurf | MCP HTTP remoto | ~/.codeium/mcp_config.json | Sim |
| Cline | Streamable HTTP remoto | Configurações MCP do Cline ou ~/.cline/mcp.json | Sim |
Ferramentas Disponíveis
search
Execute uma consulta de busca — geral ou por domínio vertical.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
query | string | Sim | Consulta de busca em linguagem natural. UMA intenção por chamada |
domain | string | Não | Domínio vertical (ex.: finance, academic, security). Deve vir do enum get_sub_domains |
sub_domain | string | Não | Chave de roteamento de subdomínio (ex.: finance.us_stock). Deve vir da saída de get_sub_domains |
sub_domain_params | objeto | Não | Parâmetros estruturados da coluna de parâmetros de get_sub_domains. NUNCA invente valores |
max_results | inteiro | Não | 1–10, padrão 10 |
get_sub_domains
Consulte o diretório de domínios verticais. Obrigatório antes de qualquer busca que use um domínio — retorna sub_domains válidos e seus esquemas de parâmetros.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
domain | string | Um de | Domínio único para consultar |
domains | string[] | Um de | Lote de até 5 domínios (preferido — cobre mais terreno) |
Retorna uma tabela Markdown: sub_domain | description | params
batch_search
Execute de 1 a 5 consultas de busca independentes em paralelo. Uma falha única não bloqueia as demais.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
queries | objeto[] | Sim | 1–5 objetos de consulta, cada um com os mesmos campos de search |
extract
Busque o conteúdo completo de uma página a partir de uma URL e retorne como Markdown. Truncado em 50.000 caracteres. Apenas páginas HTML.
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
url | string | Sim | URL de destino (http:// ou https://) |