Kagi Search

oficial

Busca en la web usando la API de búsqueda de Kagi

¿Qué puedes hacer con Kagi Search MCP?

  • Búsqueda web — Pide a tu asistente que busque en la web, noticias, videos, podcasts o imágenes mediante kagi_search_fetch.
  • Búsqueda filtrada — Limita los resultados por dominios incluidos o excluidos, intervalos de fechas, tipos de archivo o lentes de Kagi mediante kagi_search_fetch.
  • Extractos de páginas — Solicita extractos opcionales de páginas junto con los resultados de búsqueda mediante kagi_search_fetch.
  • Extracción de páginas completas — Pide a tu asistente que obtenga todo el contenido de una página en formato markdown con kagi_extract.
  • Endpoint alojado — Conecta cualquier cliente MCP compatible con HTTP a https://mcp.kagi.com/mcp y autentícate con tu clave de API de Kagi mediante autenticación Bearer.

Documentación

Kagi MCP Server

Un servidor MCP respaldado por la API de Kagi. Ofrece herramientas de búsqueda y extracción a clientes compatibles con MCP.

Herramientas

  • kagi_search_fetch - búsqueda web, de noticias, vídeos, pódcasts e imágenes, con extractos de páginas, filtros y lentes de Kagi opcionales.
  • kagi_extract - obtiene el contenido completo de una página en formato markdown.

Nota: Las herramientas anteriores kagi_fastgpt y kagi_summarizer se han eliminado. Está previsto que ambas vuelvan en una versión futura.

Servidor alojado

Tenemos un servidor MCP alojado en https://mcp.kagi.com/mcp — no hace falta instalar nada. Conecta cualquier cliente MCP compatible con HTTP y autentícate con tu clave de API de Kagi.

OAuth2 aún no es compatible (está en nuestra hoja de ruta), así que, por ahora, obtén tu clave de API en el panel y pásala mediante la autenticación HTTP Bearer.

Ejemplo con 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

¿Prefieres ejecutarlo por tu cuenta? Consulta Configuración del cliente para la instalación local de uvx, o Alojamiento propio para alojar el servidor HTTP en tu propia infraestructura.

Requisitos

  • Una clave de API de Kagi en KAGI_API_KEY.
  • uv para la ruta de instalación recomendada de uvx.

Instala uv:

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

Windows:

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

Configuración del cliente

Codex CLI

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

Codex escribe la configuración de MCP en ~/.codex/config.toml.

Claude Desktop

Instala uv primero.

MacOS/Linux:

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

Windows:

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

A continuación, en la configuración de Claude Desktop (accesible desde 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

Añade lo siguiente al archivo de configuración MCP de Kiro (~/.kiro/settings/mcp.json para la configuración global o .kiro/settings/mcp.json para la configuración del proyecto), usando el mismo JSON de mcpServers que en Claude Desktop. Consulta la documentación de MCP de Kiro para obtener más información.

OpenCode

Edita el archivo de configuración de OpenCode en ~/.config/opencode/opencode.json y añade lo siguiente:

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

Ejemplos de uso

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

Configuración

Variable de entornoDescripción
KAGI_API_KEYClave de API de Kagi obligatoria.
FASTMCP_LOG_LEVELNivel de registro, por ejemplo, ERROR.
KAGI_SEARCH_TIMEOUTTiempo de espera de búsqueda en segundos. El valor predeterminado es 10.
KAGI_EXTRACT_TIMEOUTTiempo de espera de extracción en segundos. El valor predeterminado es 30.
KAGI_MAX_RETRIESNúmero máximo de reintentos después de la primera solicitud. El valor predeterminado es 2; establece 0 para desactivar los reintentos.
KAGI_HIDDEN_PARAMSParámetros de búsqueda separados por comas que se ocultarán del esquema visible para el LLM.
KAGI_SEARCH_FORMATFormato de los resultados de búsqueda: json (predeterminado) o markdown (el markdown propio de la API de búsqueda, que se transmite tal cual).

Parámetros de búsqueda que se pueden ocultar:

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

Ejemplo:

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

Desarrollo local

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

Ejecútalo localmente mediante stdio:

KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp

Ejecútalo con transporte HTTP transmitible:

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

Alojamiento propio

El modo HTTP admite varios inquilinos: cada solicitud proporciona su clave de API mediante el encabezado Authorization: Bearer <key> en lugar de una variable de entorno global del servidor, por lo que una instancia puede atender a varios usuarios. El repositorio incluye un Dockerfile que instala una versión fijada de kagimcp desde PyPI y la ejecuta en modo HTTP. El contenedor respeta $PORT, por lo que funciona en cualquier plataforma que proporcione una (Railway, Render, Cloud Run, Fly.io, etc.).

Compila y ejecútalo localmente:

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

Prueba rápida:

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 actualizar la versión en producción, modifica la versión fijada en Dockerfile y vuelve a desplegar.

Depuración

Inspecciona el paquete publicado:

npx @modelcontextprotocol/inspector uvx kagimcp

Inspecciona una copia local del repositorio:

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

El inspector suele estar disponible en http://localhost:5173.

Instrucciones para versiones preliminares

Si usas una versión preliminar, se aplican las mismas instrucciones de instalación, pero usa uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp en lugar de uvx kagimcp (sustituye 1.0.0rc2 por la versión que quieras instalar).