agent search mcp

Sobre servidor MCP de busca gratuito com múltiplos mecanismos — 8 mecanismos gratuitos (DDG, Sogou, Bing, Baidu, Wikipedia, Startpage, Yandex, Mojeek), busca progressiva em cascata, verificação multi-fonte, enriquecimento de conteúdo, busca de notícias, detecção automática de idioma, exposição de limite de taxa. Nenhuma chave de API necessária. Auto-hospedável.

Documentação

Agent Search MCP: Busca web gratuita em primeiro lugar com evidências inspecionáveis

Um servidor MCP Node.js e CLI para busca web em inglês e chinês.

O Agent Search MCP inicia sem uma chave de API. Ele retorna evidências compactas de múltiplas fontes, registra falhas de provedores e limita o trabalho com orçamentos de solicitação e evidência. Provedores pagos são executados apenas quando a política e as credenciais permitem.

npm version npm downloads GitHub stars CI License Glama

Documentação em chinês · Página do produto · Benchmarks · Arquitetura · CHANGELOG


Instalação

npx -y agent-search-mcp

Requer Node.js >= 18.17. O runtime padrão não requer navegador, banco de dados, Python ou conta de API de busca.

Conecte um cliente MCP

Use esta configuração stdio em clientes MCP que aceitam JSON mcpServers, incluindo Claude Desktop, Cursor, VS Code e Windsurf:

{
  "mcpServers": {
    "agent-search": {
      "command": "npx",
      "args": ["-y", "agent-search-mcp"]
    }
  }
}

Claude Code e Codex podem registrar o mesmo comando stdio npx -y agent-search-mcp por meio das configurações de MCP.

Adicione a Skill de Agente opcional

Após conectar o servidor MCP, clientes compatíveis com Agent Skills podem instalar o guia de roteamento do repositório:

npx skills add lennney/agent-search-mcp --skill agent-search

Invoque-a com uma solicitação como Use $agent-search to verify this claim with official sources. A Agent Search Skill escolhe um de quatro caminhos limitados: descoberta rápida, verificação mais rigorosa, busca em fontes chinesas ou extração de uma URL selecionada. Ela verifica se a ferramenta MCP necessária existe e pergunta antes de qualquer alteração de instalação ou configuração. Instalar a Skill não inicia nem configura o servidor MCP.

Exemplo: inspecione um resultado de busca limitado

Após compilar o pacote local, execute uma consulta CLI sem adicionar uma chave de provedor:

npm run build
fasm search "MCP server without an API key" --json

O contrato de resposta mantém evidências de resultado, meta.execution e partialFailures separados. Um timeout ou desafio de provedor permanece visível para o agente em vez de ser convertido em um resultado vazio inexplicável. Este é um exemplo de contrato, não um benchmark de disponibilidade ou qualidade de busca em tempo real.

Após uma instalação global, verifique o runtime local sem fazer uma solicitação de busca:

npm install -g agent-search-mcp
fasm doctor

Por que o Agent Search MCP

NecessidadeComportamento do produto
Busca web gratuitaFontes sem chave funcionam sem conta de API
Controle de custo do provedorProvedores pagos são executados apenas sob uma política de roteamento explícita
Controle de custo de tokensSaída compacta e um orçamento de evidência limitam o tamanho da resposta
Evidência de múltiplas fontesResultados retêm proveniência, relevância, contagem de famílias de provedores e falhas parciais
Busca web em chinêsSogou e Baidu lidam com consultas em chinês sem camada de tradução
Autohospedagem leveRuntime Node.js puro com acesso stdio, Streamable HTTP e CLI

A diferença de um wrapper simples de múltiplos mecanismos

Agregação simples de múltiplos mecanismosAgent Search MCP
Retorna N resultados deduplicadosRetorna resultados mais o número de fontes independentes (famílias de provedores, não nomes de adaptadores)
Uma falha de provedor descarta silenciosamente alguns resultadosCada falha permanece em partialFailures (timeout, limite de taxa, desafio, permissão, orçamento)
Para quando a contagem de resultados parece suficientePara somente após um portão de qualidade (contagem, relevância, confiança, cobertura de fontes) e retorna o stop_reason
Saída de tamanho fixoUm orçamento de evidência compartilhado limita os tokens da resposta; texto compacto mantém a proveniência
Um adaptador conta como uma fonteO mesmo upstream por vários adaptadores nunca infla source_count

A demonstração offline de um minuto reproduz essas diferenças por meio do avaliador e formatador de evidências de produção:

Inspecione a evidência de busca

Cada resposta JSON inclui um Pacote de Evidência de Busca. Ele responde às perguntas de roteamento que um agente precisa antes de usar um resultado:

PerguntaCampo da resposta
Quais adaptadores foram executados?meta.execution.searched_engines
Por que o roteador parou?meta.execution.stop_reason e meta.execution.quality_gate
A solicitação atingiu um limite de trabalho?meta.execution.budget
A evidência foi truncada?meta.evidence_budget
Um provedor upstream falhou?partialFailures
Vários adaptadores representam fontes independentes?results[].source_count conta famílias de provedores, não nomes de adaptadores

Execute a demonstração offline de contrato de um minuto:

npm run demo:evidence
npm run demo:evidence -- --json

Ela reproduz três cenários sintéticos por meio do avaliador de evidências, formatador e auxiliar de saída MCP de produção: sobreposição de adaptadores da mesma família, falha de fallback visível e parada limitada por portão de qualidade. Ela não faz nenhuma afirmação de disponibilidade ou qualidade de busca em tempo real e não realiza nenhuma solicitação de rede.

A política padrão free_first nunca gasta uma credencial de API configurada. free_only bloqueia provedores pagos. quality_escalation pode chamar um provedor pago configurado depois que a evidência gratuita não atinge o portão de qualidade, enquanto paid_first tenta esse provedor antes do fallback gratuito.

Os orçamentos de solicitação limitam as tentativas de adaptadores, o tempo decorrido e os resultados admitidos. O orçamento de evidência limita as passagens relevantes à consulta em toda a resposta completa. O modo compacto mantém detalhes completos para os primeiros resultados e reduz as entradas posteriores a referências que preservam a fonte.

Redução de tokens medida

O fixture bilíngue versionado mede a formatação com um tokenizador fixo:

SaídaMédia de tokens por consultaEconomia vs. normal
Normal2396.0
Compact1650.131.1%
Compact+1633.031.8%

Este fixture verifica a formatação da saída e o comportamento do pacote de evidências. Ele não mede a disponibilidade dos mecanismos em tempo real nem a qualidade da busca. Consulte o método e as limitações do benchmark.

Como funciona o roteador de busca

flowchart LR
    A["AI agent"] --> M["MCP search tools"]
    M --> P["Provider and request policy"]
    P --> F["Zero-key sources"]
    P --> O["Optional paid provider"]
    F --> E["Deduplicate, rank, and preserve failures"]
    O --> E
    E --> B["Evidence and token budget"]
    B --> R["Compact multi-source result"]

O roteador avalia cada lote de busca contra portões separados de resultado, relevância, confiança e família de provedores. Ele para depois que a evidência passa por esses portões e expõe a decisão em meta.execution. As falhas de provedores permanecem visíveis em partialFailures, para que um resultado vazio não possa ocultar um erro upstream.

O panorama competitivo (2026-08-07) mapeia a linha de base concorrida e as lacunas do produto. Ele registra datas de fontes e commits fixos para fatos que podem mudar. A atualização de 2026-08-10 adiciona a atividade dos concorrentes desde então: concorrentes locais diretos estão inativos, e evidências eficientes em tokens estão se tornando uma alavanca explícita do setor. A comparação de produtos em nível de fonte anterior contém as evidências específicas da arquitetura.


Mecanismos

O runtime registra 16 adaptadores: 9 adaptadores sem chave e 7 adaptadores opcionais de API.

MecanismoAcessoIdiomasFunção
DuckDuckGoSem chaveenBusca web geral
Sogou SearchSem chavezhBusca web em chinês
BingSem chaveen, zhBusca web multilíngue
BaiduSem chavezhBusca web em chinês
WikipediaSem chaveen, zh, ja, de, fr, es, autoReferências enciclopédicas
StartpageSem chaveen, autoBusca web focada em privacidade
YandexSem chaveru, en, autoBusca web russa e internacional
MojeekSem chaveen, autoÍndice independente focado em privacidade
WibySem chaveenÍndice independente da web pequena
Brave SearchBRAVE_API_KEYen, zhBusca web comercial opcional
Tavily SearchTAVILY_API_KEYen, zhBusca opcional orientada a agentes
Exa SearchEXA_API_KEYen, zhBusca neural opcional
You.com SearchYDC_API_KEYen, zhBusca web comercial opcional
Tencent Web Search APITENCENT_WSA_API_KEYzhBusca web chinesa oficial opcional
Bocha Web SearchBOCHA_API_KEYzh, enBusca de IA opcional com foco em chinês
Serper Google SearchSERPER_API_KEYen, zh, autoBusca SERP do Google opcional

Ferramentas

FerramentaDescriçãoMelhor para
free_searchBusca web multi-mecanismo com fallback limitadoFatos rápidos e descoberta geral
free_search_advancedBusca em cascata filtrada e enriquecimento opcionalPolítica de domínio e verificação progressiva
free_extractExtrai uma URL como Markdown limpoLeitura de páginas de origem completas
fetch_github_readmeBusca o README de um repositório público do GitHubDocumentação de projetos
fetch_csdn_articleBusca um artigo do CSDNArtigos técnicos em chinês
fetch_juejin_articleBusca um artigo do JuejinArtigos de desenvolvedores chineses
search_with_synthesisEvidência de busca com dica de síntese de LLMRespostas escritas por agentes a partir de evidências citadas

Controles de capacidade

AmbientePadrãoFinalidade
ENABLED_TOOLS / DISABLED_TOOLSall / noneLista de permissão e bloqueio de registro de ferramentas; bloqueio vence
ALLOWED_ENGINES / DENIED_ENGINESall / noneLista de permissão e bloqueio de execução de mecanismos; bloqueio vence
SEARCH_PROVIDER_MODEfree_firstRoteamento padrão: free_first, quality_escalation, paid_first ou free_only
PAID_ENGINE_ORDERbrave,exa,tavily,youcom,tencent_wsa,bocha,serperSeleciona o primeiro provedor opcional configurado; não é uma afirmação de qualidade
SEARCH_BUDGET_MAX_CALLS16Orçamento de tentativas de adaptadores
SEARCH_BUDGET_MAX_ELAPSED_MS30000Orçamento de tempo decorrido de ponta a ponta
SEARCH_BUDGET_MAX_RESULTS100Orçamento de resultados brutos admitidos
EVIDENCE_BUDGET_CHARS1200Orçamento de caracteres de evidência

search_with_synthesis usa o mesmo pacote de evidências canônico structuredContent das ferramentas de busca primárias e adiciona prompt_hint; seu conteúdo de texto é apenas uma visão compacta de compatibilidade. Os metadados de execução distinguem adaptadores agendados de tentativas de adaptadores com repetição. http_requests é null até que todos os transportes de adaptadores possam relatá-lo sem precisão falsa.

O Wiby é uma fonte genuína sem chave apoiada por sua API JSON oficial e é usado no final da cascata gratuita como um suplemento independente da web pequena. Provedores opcionais exigem credenciais do usuário; qualquer crédito de inscrição ou cota de teste é controlado pelo provedor e não é tratado como acesso gratuito permanente.

Todas as ferramentas são somente leitura e idempotentes. O cancelamento da busca alcança esperas de limite de taxa, repetições, solicitações de provedores e enriquecimento opcional. O enriquecimento pode melhorar um trecho, mas não pode aumentar a confiança da fonte nem a contagem de fontes independentes.

free_search_advanced.time_range permanece no esquema de compatibilidade. O servidor retorna UNSUPPORTED_FILTER antes de buscar porque os provedores web gerais não compartilham um contrato de atualidade aplicável.


Configuração

A tabela de capacidades gerada acima lista os orçamentos de solicitação padrão. Essas configurações cobrem as escolhas comuns de implantação:

ObjetivoVariáveis de ambiente
Adicionar um provedor opcionalBRAVE_API_KEY, TAVILY_API_KEY, EXA_API_KEY, YDC_API_KEY, TENCENT_WSA_API_KEY, BOCHA_API_KEY ou SERPER_API_KEY
Escolher política de gastosSEARCH_PROVIDER_MODE, PAID_ENGINE_ORDER
Reduzir tokens de respostaOUTPUT_STYLE=compact, MAX_FULL_RESULTS, SNIPPET_LENGTH, EVIDENCE_BUDGET_CHARS
Restringir ferramentas ou mecanismosENABLED_TOOLS, DISABLED_TOOLS, ALLOWED_ENGINES, DENIED_ENGINES
Usar um proxy explícitoDUCKDUCKGO_PROXY_URL, SOGOU_PROXY_URL, MOJEEK_PROXY_URL, WIBY_PROXY_URL ou USE_PROXY=true com PROXY_URL
Usar um pool de proxies de propriedade do usuárioDUCKDUCKGO_PROXY_URLS, SOGOU_PROXY_URLS, MOJEEK_PROXY_URLS ou WIBY_PROXY_URLS como uma matriz JSON de 2 a 16 URLs de proxy HTTP(S)
Persistir o cache de resultados exatosSEARCH_CACHE_DIRECTORY, SEARCH_CACHE_TTL_MS, SEARCH_CACHE_MAX_ENTRIES
Habilitar processamento semântico opcionalSEMANTIC_DEDUP, SEMANTIC_RERANK, DEDUP_THRESHOLD, RERANK_TOP_K

Adicionar uma chave de API não autoriza tráfego pago. A política de roteamento controla o uso de provedores. O cache de resultados exatos padrão permanece em memória; definir SEARCH_CACHE_DIRECTORY opta pela persistência local. O processamento semântico é o único recurso opcional que usa Python e Model2Vec. Os pools de proxy selecionam uma primeira saída determinística da consulta lógica e mantêm as solicitações de várias etapas do provedor fixas. Somente uma falha de transporte pode mover para a próxima saída configurada; um transporte com falha é resfriado por 60 segundos. Respostas HTTP, incluindo 403, 429 e páginas de desafio, nunca acionam a troca de proxy e continuam pelo contrato de resfriamento existente do provedor. Variáveis de proxy único específicas do mecanismo têm precedência sobre o pool. Credenciais de proxy nunca são impressas por fasm doctor.

Implantação HTTP

O modo HTTP requer HTTP_AUTH_TOKEN a menos que você defina HTTP_ALLOW_UNAUTHENTICATED=true. Solicitações de navegador com um cabeçalho Origin devem corresponder a ALLOWED_ORIGINS. Consulte o guia de implantação HTTP para terminação TLS, rotação de tokens e exemplos de proxy reverso.


CLI

O pacote inclui o CLI fasm:

fasm search "TypeScript MCP server"
fasm search "query" --count 5 --engines bing,baidu,youcom --json
fasm extract "https://example.com"
fasm extract "https://example.com" --json
fasm doctor
fasm doctor --json
HTTP_AUTH_TOKEN=change-me MODE=http npx agent-search-mcp

fasm doctor lê a configuração local sem sondagens de rede e nunca imprime valores de credenciais ou proxy.


Documentação e evidências

DocumentoConteúdo
Arquitetura do sistemaRoteamento, evidências, famílias de provedores e configuração
Panorama competitivo (2026-08-10)Atividade de concorrentes até 2026-08-10, posicionamento e prioridades de melhoria
Panorama competitivo (2026-08-07)Concorrentes de base, expectativas e instantâneo de lacunas de produto
Comparação de produtosRevisão em nível de código-fonte dos produtos Agent Search
BenchmarksFixture de tokens, escopo de execução ao vivo e método de avaliação de qualidade
Notas de versão v3.2.0Política de provedores, orçamentos e notas de migração
Evidências anteriores de candidato a versãoMatriz de instalação empacotada pré-expansão e limitações
Prontidão MCP 2026Experimento de protocolo isolado e portões restantes

Complemento: Slim Guard

O Agent Search controla o trabalho de recuperação e comprime as evidências de busca. O mcp-slim-guard fica entre um agente e os servidores MCP para lidar com a compressão de esquemas de ferramentas e a política de segurança.

npm install -g mcp-slim-guard

Desenvolvimento

git clone https://github.com/lennney/agent-search-mcp.git
cd agent-search-mcp
npm install
npm run build
npm test
npm run dev        # stdio mode
npm run dev:http   # HTTP mode (port 3000)

O pacote estável suporta Node.js 18, 20 e 22. O experimento isolado MCP 2026 requer Node.js 20 ou mais recente.


Licença

Apache 2.0

Baseado em open-websearch por Aas-ee.

Se o Agent Search MCP ajuda o seu agente, marque o repositório com estrela para que outros desenvolvedores possam encontrar o projeto.