Tavily Search

Pesquisa web otimizada para LLMs usando a API Tavily Search.

Documentação

Tavily Search MCP Server

smithery badge Uma implementação de servidor MCP que integra a API Tavily Search, fornecendo capacidades de busca otimizadas para LLMs.

tavily-search-mcp-server MCP server

Recursos

  • Busca na Web: Realize buscas na web otimizadas para LLMs, com controle sobre profundidade da busca, tópico e intervalo de tempo.
  • Extração de Conteúdo: Extrai o conteúdo mais relevante dos resultados de busca, otimizando qualidade e tamanho.
  • Recursos Opcionais: Inclua imagens, descrições de imagens, respostas curtas geradas por LLM e conteúdo HTML bruto.
  • Filtragem de Domínios: Inclua ou exclua domínios específicos nos resultados de busca.

Ferramentas

  • tavily_search
    • Execute buscas na web usando a API Tavily Search.
    • Entradas:
      • query (string, obrigatório): A consulta de busca.
      • search_depth (string, opcional): "basic" ou "advanced" (padrão: "basic").
      • topic (string, opcional): "general" ou "news" (padrão: "general").
      • days (number, opcional): Número de dias retroativos para busca de notícias (padrão: 3).
      • time_range (string, opcional): Filtro de intervalo de tempo ("day", "week", "month", "year" ou "d", "w", "m", "y").
      • max_results (number, opcional): Número máximo de resultados (padrão: 5).
      • include_images (boolean, opcional): Incluir imagens relacionadas (padrão: false).
      • include_image_descriptions (boolean, opcional): Incluir descrições para imagens (padrão: false).
      • include_answer (boolean, opcional): Incluir uma resposta curta gerada por LLM (padrão: false).
      • include_raw_content (boolean, opcional): Incluir conteúdo HTML bruto (padrão: false).
      • include_domains (string[], opcional): Domínios a incluir.
      • exclude_domains (string[], opcional): Domínios a excluir.

Guia de Configuração 🚀

1. Pré-requisitos

  • Claude Desktop instalado no seu computador.
  • Uma chave de API Tavily: a. Crie uma conta na API Tavily. b. Escolha um plano (nível gratuito disponível). c. Gere sua chave de API no painel da Tavily.

2. Instalação

  1. Clone este repositório em algum lugar do seu computador:

    git clone https://github.com/apappascs/tavily-search-mcp-server.git 
    
  2. Instale as dependências e compile o projeto:

    cd tavily-search-mcp-server
    
    npm install
    
    npm run build
    

3. Integração com o Claude Desktop

  1. Abra o arquivo de configuração do Claude Desktop:

    # On Mac:
    ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # On Windows:
    %APPDATA%\Claude\claude_desktop_config.json
    
  2. Adicione um dos seguintes ao objeto mcpServers na sua configuração, dependendo se você deseja executar o servidor usando npm ou docker:

    Opção A: Usando NPM (transporte stdio)

    {
        "mcpServers": {
            "tavily-search-server": {
                "command": "node",
                "args": [
                    "/Users/<username>/<FULL_PATH...>/tavily-search-mcp-server/dist/index.js"
                ],
                "env": {
                    "TAVILY_API_KEY": "your_api_key_here"
                }
            }
        }
    }
    

    Opção B: Usando NPM (transporte SSE)

    {
        "mcpServers": {
            "tavily-search-server": {
                "command": "node",
                "args": [
                    "/Users/<username>/<FULL_PATH...>/tavily-search-mcp-server/dist/sse.js"
                ],
                "env": {
                    "TAVILY_API_KEY": "your_api_key_here"
                },
                "port": 3001
            }
        }
    }
    

    Opção C: Usando Docker

    {
        "mcpServers": {
            "tavily-search-server": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "-e",
                    "TAVILY_API_KEY",
                    "-v",
                    "/Users/<username>/<FULL_PATH...>/tavily-search-mcp-server:/app",
                    "tavily-search-mcp-server"
                ],
                "env": {
                    "TAVILY_API_KEY": "your_api_key_here"
                }
            }
        }
    }
    
  3. Passos Importantes:

    • Substitua /Users/<username>/<FULL_PATH...>/tavily-search-mcp-server pelo caminho completo real de onde você clonou o repositório.
    • Adicione sua chave de API Tavily na seção env. É sempre melhor ter segredos como chaves de API como variáveis de ambiente.
    • Certifique-se de usar barras normais (/) no caminho, mesmo no Windows.
    • Se você estiver usando Docker, certifique-se de compilar a imagem primeiro usando docker build -t tavily-search-mcp-server:latest .
  4. Reinicie o Claude Desktop para que as alterações tenham efeito.

Instalação via Smithery

Para instalar o Tavily Search para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @apappascs/tavily-search-mcp-server --client claude

Configuração de Ambiente (para npm)

  1. Copie .env.example para .env:

    cp .env.example .env
    
  2. Atualize o arquivo .env com sua chave de API Tavily real:

    TAVILY_API_KEY=your_api_key_here
    

    Nota: Nunca envie sua chave de API real para o controle de versão. O arquivo .env é ignorado pelo git por motivos de segurança.

Executando com NPM

Inicie o servidor usando Node.js:

node dist/index.js

Para transporte sse:

node dist/sse.js

Executando com Docker

  1. Compile a imagem Docker (se ainda não o fez):

    docker build -t tavily-search-mcp-server:latest .
    
  2. Execute o contêiner Docker com:

    Para transporte stdio:

    docker run -it --rm -e TAVILY_API_KEY="your_api_key_here" tavily-search-mcp-server:latest
    

    Para transporte sse:

    docker run -it --rm -p 3001:3001 -e TAVILY_API_KEY="your_api_key_here" -e TRANSPORT="sse" tavily-search-mcp-server:latest
    

    Você também pode aproveitar as variáveis de ambiente do seu shell diretamente, o que é uma prática mais segura:

     docker run -it --rm -p 3001:3001 -e TAVILY_API_KEY=$TAVILY_API_KEY -e TRANSPORT="sse" tavily-search-mcp-server:latest
    

    Nota: O segundo comando demonstra a abordagem recomendada de usar -e TAVILY_API_KEY=$TAVILY_API_KEY para passar o valor da sua variável de ambiente TAVILY_API_KEY para o contêiner Docker. Isso mantém sua chave de API fora do histórico de comandos e é geralmente preferível a codificar segredos diretamente nos comandos.

  3. Usando docker compose

    Execute:

    docker compose up -d
    

    Para parar o servidor:

    docker compose down
    

Licença

Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.