Kagi Search MCP Server
offiziellDurchsuchen Sie das Web mit der Kagi-Such-API
Dokumentation
Kagi MCP Server
Ein MCP-Server, der auf der Kagi API basiert. Er stellt Such- und Extraktionswerkzeuge für MCP-kompatible Clients bereit.
Werkzeuge
kagi_search_fetch– Web-, Nachrichten-, Video-, Podcast- und Bildersuche mit optionalen Seitenauszügen, Filtern und Kagi-Lenses.kagi_extract– den vollständigen Inhalt einer Seite als Markdown abrufen.
Hinweis: Die bisherigen Werkzeuge
kagi_fastgptundkagi_summarizerwurden entfernt. Beide sollen in einem zukünftigen Release wieder zurückkehren.
Gehosteter Server
Wir betreiben einen gehosteten MCP-Server unter https://mcp.kagi.com/mcp – keine Installation erforderlich. Verbinden Sie einen beliebigen HTTP-fähigen MCP-Client damit und authentifizieren Sie sich mit Ihrem Kagi-API-Schlüssel.
OAuth2 wird noch nicht unterstützt (steht auf unserer Roadmap), daher holen Sie sich vorerst Ihren API-Schlüssel aus dem Dashboard und übergeben Sie ihn per Bearer HTTP-Authentifizierung.
Beispiel mit 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
Möchten Sie den Server lieber selbst betreiben? Siehe Client-Setup für die lokale uvx-Installation oder Self-Hosting, um den HTTP-Server auf Ihrer eigenen Infrastruktur zu hosten.
Voraussetzungen
- Ein Kagi-API-Schlüssel in
KAGI_API_KEY. uvfür den empfohlenenuvx-Installationspfad.
uv installieren:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Client-Setup
Codex CLI
codex mcp add kagi --env KAGI_API_KEY=<YOUR_API_KEY_HERE> -- uvx kagimcp
Codex schreibt die MCP-Konfiguration nach ~/.codex/config.toml.
Claude Desktop
Installieren Sie zuerst uv.
MacOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Dann in Ihrer Claude-Desktop-Konfiguration (zu finden unter Einstellungen -> Entwickler -> Konfiguration bearbeiten):
{
"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
Fügen Sie zu Ihrer Kiro-MCP-Konfigurationsdatei (~/.kiro/settings/mcp.json für global oder .kiro/settings/mcp.json für projektbezogen) dieselbe mcpServers-JSON wie bei Claude Desktop hinzu. Weitere Details finden Sie in der Kiro-MCP-Dokumentation.
OpenCode
Bearbeiten Sie die OpenCode-Konfigurationsdatei in ~/.config/opencode/opencode.json und fügen Sie Folgendes hinzu:
{
"mcp": {
"kagi": {
"type": "local",
"command": ["uvx", "kagimcp"],
"enabled": true,
"environment": {
"KAGI_API_KEY": "<YOUR_API_KEY_HERE>"
}
}
}
}
Anwendungsbeispiele
- Suche:
Who was Time's 2024 person of the year? - Extrahieren:
extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol
Konfiguration
| Umgebungsvariable | Beschreibung |
|---|---|
KAGI_API_KEY | Erforderlicher Kagi-API-Schlüssel. |
FASTMCP_LOG_LEVEL | Protokollierungsstufe, zum Beispiel ERROR. |
KAGI_SEARCH_TIMEOUT | Such-Timeout in Sekunden. Standard ist 10. |
KAGI_EXTRACT_TIMEOUT | Extraktions-Timeout in Sekunden. Standard ist 30. |
KAGI_MAX_RETRIES | Maximale Wiederholungsversuche nach der ersten Anfrage. Standard ist 2; setzen Sie 0, um Wiederholungen zu deaktivieren. |
KAGI_HIDDEN_PARAMS | Kommagetrennte Suchparameter, die vor dem LLM-sichtbaren Schema verborgen werden. |
Verbergbare Suchparameter:
workflow, extract_count, limit, include_domains, exclude_domains, time_relative, after, before, file_type, lens_id
Beispiel:
KAGI_HIDDEN_PARAMS="extract_count,after,before,time_relative,include_domains,exclude_domains"
Lokale Entwicklung
git clone https://github.com/kagisearch/kagimcp.git
cd kagimcp
uv sync
Lokal über stdio ausführen:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp
Mit streamfähigem HTTP-Transport ausführen:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000
Self-Hosting
Der HTTP-Modus ist mandantenfähig: Jede Anfrage liefert ihren API-Schlüssel über den
Authorization: Bearer <key>-Header anstelle einer serverweiten Umgebungsvariablen, sodass eine
Instanz mehrere Benutzer bedienen kann. Das Repository enthält eine Dockerfile, die eine festgelegte kagimcp von PyPI installiert und
im HTTP-Modus ausführt. Der Container berücksichtigt $PORT, sodass er auf jeder
Plattform funktioniert, die eine solche einspeist (Railway, Render, Cloud Run, Fly.io usw.).
Lokal bauen und ausführen:
docker build -t kagimcp-hosted .
docker run --rm -p 8000:8000 kagimcp-hosted
Smoke-Test:
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"}'
Um die Version in der Produktion zu aktualisieren, bearbeiten Sie die Festlegung in der Dockerfile und stellen Sie erneut bereit.
Debugging
Das veröffentlichte Paket untersuchen:
npx @modelcontextprotocol/inspector uvx kagimcp
Einen lokalen Checkout untersuchen:
npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp
Der Inspector ist normalerweise unter http://localhost:5173 verfügbar.
Anleitung für Vorabversionen
Wenn Sie einen Vorab-Build verwenden, gelten dieselben Installationsanweisungen, aber verwenden Sie uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp anstelle von uvx kagimcp (ersetzen Sie 1.0.0rc2 durch die Version, die Sie installieren möchten).