Kagi Search

oficial

Pesquise na web usando a API de busca do Kagi

O que você pode fazer com Kagi Search MCP?

  • Pesquisa na web — Peça ao seu assistente para pesquisar na web, em notícias, vídeos, podcasts ou imagens usando kagi_search_fetch.
  • Pesquisa filtrada — Refine os resultados com inclusões/exclusões de domínios, intervalos de datas, tipos de arquivo ou lentes do Kagi usando kagi_search_fetch.
  • Trechos de páginas — Solicite trechos opcionais das páginas junto com os resultados da pesquisa usando kagi_search_fetch.
  • Extração de página completa — Peça ao seu assistente para buscar o conteúdo completo de uma página em formato Markdown usando kagi_extract.
  • Endpoint hospedado — Conecte qualquer cliente MCP compatível com HTTP a https://mcp.kagi.com/mcp e autentique-se com sua chave de API do Kagi via autenticação Bearer.

Documentação

Kagi MCP Server

Um servidor MCP baseado na Kagi API. Ele disponibiliza ferramentas de pesquisa e extração para clientes compatíveis com MCP.

Ferramentas

  • kagi_search_fetch - pesquisa na web, em notícias, vídeos, podcasts e imagens, com extrações de páginas, filtros e lentes Kagi opcionais.
  • kagi_extract - busca o conteúdo completo de uma página em formato markdown.

Observação: As ferramentas anteriores kagi_fastgpt e kagi_summarizer foram removidas. Está previsto que ambas retornem em uma versão futura.

Servidor hospedado

Mantemos um servidor MCP hospedado em https://mcp.kagi.com/mcp — não é necessário instalar nada. Aponte qualquer cliente MCP compatível com HTTP para ele e autentique-se com sua chave da API Kagi.

O OAuth2 ainda não é compatível (está no nosso roteiro), então, por enquanto, obtenha sua chave da API no painel e passe-a pela autenticação HTTP Bearer.

Exemplo com Claude Code:

claude mcp add kagi https://mcp.kagi.com/mcp --transport http --header "Authorization: Bearer $(read -sp 'API key: ' k; echo $k)" --scope user

Prefere executá-lo por conta própria? Consulte Configuração do cliente para a instalação local de uvx ou Hospedagem própria para hospedar o servidor HTTP na sua própria infraestrutura.

Requisitos

  • Uma chave da API Kagi em KAGI_API_KEY.
  • uv para o caminho de instalação recomendado de uvx.

Instale uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Configuração do cliente

Codex CLI

codex mcp add kagi --env KAGI_API_KEY=<YOUR_API_KEY_HERE> -- uvx kagimcp

O Codex grava a configuração do MCP em ~/.codex/config.toml.

Claude Desktop

Instale o uv primeiro.

MacOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Em seguida, no arquivo de configuração do Claude Desktop (acessível em Settings -> Developer -> Edit Config):

{
  "mcpServers": {
    "kagi": {
      "command": "uvx",
      "args": ["kagimcp"],
      "env": {
        "KAGI_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Claude Code

claude mcp add kagi -e KAGI_API_KEY="YOUR_API_KEY_HERE" -- uvx kagimcp

Smithery

npx -y @smithery/cli install kagimcp --client claude

Kiro

Adicione ao arquivo de configuração do MCP do Kiro (~/.kiro/settings/mcp.json para configuração global ou .kiro/settings/mcp.json para configuração específica do projeto), usando o mesmo JSON mcpServers de Claude Desktop. Consulte a documentação do MCP do Kiro para mais detalhes.

OpenCode

Edite o arquivo de configuração do OpenCode em ~/.config/opencode/opencode.json e adicione o seguinte:

{
  "mcp": {
    "kagi": {
      "type": "local",
      "command": ["uvx", "kagimcp"],
      "enabled": true,
      "environment": {
        "KAGI_API_KEY": "<YOUR_API_KEY_HERE>"
      }
    }
  }
}

Exemplos de uso

  • Pesquisar: Who was Time's 2024 person of the year?
  • Extrair: extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol

Configuração

Variável de ambienteDescrição
KAGI_API_KEYChave da API Kagi obrigatória.
FASTMCP_LOG_LEVELNível de registro, por exemplo, ERROR.
KAGI_SEARCH_TIMEOUTTempo limite da pesquisa em segundos. O padrão é 10.
KAGI_EXTRACT_TIMEOUTTempo limite da extração em segundos. O padrão é 30.
KAGI_MAX_RETRIESNúmero máximo de tentativas adicionais após a primeira solicitação. O padrão é 2; defina 0 para desativar as tentativas.
KAGI_HIDDEN_PARAMSParâmetros de pesquisa separados por vírgulas a ocultar do esquema apresentado ao LLM.
KAGI_SEARCH_FORMATFormato dos resultados da pesquisa: json (padrão) ou markdown (o markdown da própria Search API, repassado sem alterações).

Parâmetros de pesquisa que podem ser ocultados:

workflow, extract_count, limit, include_domains, exclude_domains, time_relative, after, before, file_type, lens_id

Exemplo:

KAGI_HIDDEN_PARAMS="extract_count,after,before,time_relative,include_domains,exclude_domains"

Desenvolvimento local

git clone https://github.com/kagisearch/kagimcp.git
cd kagimcp
uv sync

Execute localmente via stdio:

KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp

Execute com transporte HTTP streamable:

KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000

Hospedagem própria

O modo HTTP é multi-inquilino: cada solicitação fornece sua chave da API pelo cabeçalho Authorization: Bearer <key>, em vez de usar uma variável de ambiente global do servidor, permitindo que uma única instância atenda vários usuários. O repositório inclui um Dockerfile que instala uma versão fixa de kagimcp do PyPI e a executa no modo HTTP. O contêiner respeita $PORT, portanto funciona em qualquer plataforma que forneça essa variável (Railway, Render, Cloud Run, Fly.io etc.).

Compile e execute localmente:

docker build -t kagimcp-hosted .
docker run --rm -p 8000:8000 kagimcp-hosted

Teste rápido:

curl -sL http://127.0.0.1:8000/mcp -X POST \
  -H "authorization: Bearer $KAGI_API_KEY" \
  -H "content-type: application/json" \
  -H "accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Para atualizar a versão em produção, edite a versão fixada em Dockerfile e faça a implantação novamente.

Depuração

Inspecione o pacote publicado:

npx @modelcontextprotocol/inspector uvx kagimcp

Inspecione uma cópia local do repositório:

npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp

Geralmente, o inspetor está disponível em http://localhost:5173.

Instruções para versões de pré-lançamento

Se estiver usando uma versão de pré-lançamento, as mesmas instruções de instalação se aplicam, mas use uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp em vez de uvx kagimcp (substitua 1.0.0rc2 pela versão que deseja instalar).