Kagi Search MCP Server
oficialPesquise na web usando a API de busca do Kagi
Documentação
Servidor MCP Kagi
Um servidor MCP respaldado pela API Kagi. Ele expõe ferramentas de busca e extração para clientes compatíveis com MCP.
Ferramentas
kagi_search_fetch- busca na web, notícias, vídeos, podcasts e imagens com extratos de página, filtros e lentes Kagi opcionais.kagi_extract- obtém o conteúdo completo de uma página como markdown.
Nota: As ferramentas anteriores
kagi_fastgptekagi_summarizerforam removidas. Ambas estão planejadas para retornar em uma versão futura.
Servidor Hospedado
Nós executamos um servidor MCP hospedado em https://mcp.kagi.com/mcp — sem necessidade de instalação. Aponte qualquer cliente MCP compatível com HTTP para ele e autentique-se com sua chave de API Kagi.
OAuth2 ainda não é suportado (está no nosso roadmap), então, por enquanto, obtenha sua chave de API no painel e passe-a via 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 você mesmo? Consulte Configuração do Cliente para a instalação local do uvx, ou Auto-hospedagem para hospedar o servidor HTTP em sua própria infraestrutura.
Requisitos
- Uma chave de API Kagi em
KAGI_API_KEY. uvpara o caminho de instalação recomendado douvx.
Instale o 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 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, na configuração do Claude Desktop (encontrada em Configurações -> Desenvolvedor -> Editar Configuração):
{
"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 seu arquivo de configuração MCP do Kiro (~/.kiro/settings/mcp.json para global, ou .kiro/settings/mcp.json para escopo de projeto) usando o mesmo JSON mcpServers do Claude Desktop. Consulte a documentação 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
- Buscar:
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 ambiente | Descrição |
|---|---|
KAGI_API_KEY | Chave de API Kagi obrigatória. |
FASTMCP_LOG_LEVEL | Nível de log, por exemplo ERROR. |
KAGI_SEARCH_TIMEOUT | Tempo limite de busca em segundos. O padrão é 10. |
KAGI_EXTRACT_TIMEOUT | Tempo limite de extração em segundos. O padrão é 30. |
KAGI_MAX_RETRIES | Número máximo de tentativas de repetição após a primeira requisição. O padrão é 2; defina 0 para desabilitar repetições. |
KAGI_HIDDEN_PARAMS | Parâmetros de busca separados por vírgula a serem ocultados do esquema voltado para LLMs. |
Parâmetros de busca ocultáveis:
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 transmissível:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000
Auto-hospedagem
O modo HTTP é multi-inquilino: cada requisição fornece sua chave de API através do
cabeçalho Authorization: Bearer <key> em vez de uma variável de ambiente do servidor, então uma
instância pode atender múltiplos usuários. O repositório inclui um Dockerfile que instala uma versão fixa do kagimcp do PyPI e
o executa em modo HTTP. O contêiner respeita $PORT, então funciona em qualquer
plataforma que injete uma (Railway, Render, Cloud Run, Fly.io, etc.).
Construa 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 fixação no Dockerfile e reimplante.
Depuração
Inspecione o pacote publicado:
npx @modelcontextprotocol/inspector uvx kagimcp
Inspecione um checkout local:
npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp
O inspetor geralmente está disponível em http://localhost:5173.
Instruções para Pré-lançamento
Se estiver usando uma compilaçã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 você deseja instalar).