Kagi Search MCP Server

resmi

Kagi'nin arama API'sini kullanarak web'de arama yapın.

Dokümantasyon

Kagi MCP Sunucusu

Kagi API tarafından desteklenen bir MCP sunucusu. MCP uyumlu istemcilere arama ve içerik çıkarma araçları sunar.

Araçlar

  • kagi_search_fetch - isteğe bağlı sayfa özetleri, filtreler ve Kagi lensleri ile web, haber, video, podcast ve görsel araması.
  • kagi_extract - bir sayfanın tam içeriğini markdown olarak getirir.

Not: Önceki kagi_fastgpt ve kagi_summarizer araçları kaldırılmıştır. Her ikisinin de gelecekteki bir sürümde geri dönmesi planlanmaktadır.

Barındırılan Sunucu

https://mcp.kagi.com/mcp adresinde barındırılan bir MCP sunucusu çalıştırıyoruz — kurulum gerektirmez. HTTP destekli herhangi bir MCP istemcisini buna yönlendirin ve Kagi API anahtarınızla kimlik doğrulaması yapın.

OAuth2 henüz desteklenmiyor (yol haritamızda var), bu yüzden şimdilik kontrol panelinden API anahtarınızı alın ve Bearer HTTP kimlik doğrulaması ile iletin.

Claude Code ile örnek:

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

Kendiniz çalıştırmayı mı tercih edersiniz? Yerel uvx kurulumu için İstemci Kurulumu bölümüne veya HTTP sunucusunu kendi altyapınızda barındırmak için Kendi Kendine Barındırma bölümüne bakın.

Gereksinimler

  • KAGI_API_KEY içinde bir Kagi API anahtarı.
  • Önerilen uvx kurulum yolu için uv.

uv kurulumu:

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

Windows:

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

İstemci Kurulumu

Codex CLI

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

Codex, MCP yapılandırmasını ~/.codex/config.toml dosyasına yazar.

Claude Desktop

Önce uv'yi kurun.

MacOS/Linux:

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

Windows:

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

Ardından Claude Desktop yapılandırmanızda (Ayarlar -> Geliştirici -> Yapılandırmayı Düzenle yoluyla bulunur):

{
  "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

Claude Desktop ile aynı mcpServers JSON'ını kullanarak Kiro MCP yapılandırma dosyanıza ekleyin (genel için ~/.kiro/settings/mcp.json veya proje kapsamlı için .kiro/settings/mcp.json). Daha fazla ayrıntı için Kiro MCP belgelerine bakın.

OpenCode

~/.config/opencode/opencode.json içindeki OpenCode yapılandırma dosyasını düzenleyin ve aşağıdakini ekleyin:

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

Kullanım Örnekleri

  • Arama: Who was Time's 2024 person of the year?
  • İçerik Çıkarma: extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol

Yapılandırma

Ortam değişkeniAçıklama
KAGI_API_KEYGerekli Kagi API anahtarı.
FASTMCP_LOG_LEVELGünlük seviyesi, örneğin ERROR.
KAGI_SEARCH_TIMEOUTSaniye cinsinden arama zaman aşımı. Varsayılan 10.
KAGI_EXTRACT_TIMEOUTSaniye cinsinden içerik çıkarma zaman aşımı. Varsayılan 30.
KAGI_MAX_RETRIESİlk istekten sonraki maksimum yeniden deneme sayısı. Varsayılan 2; yeniden denemeleri devre dışı bırakmak için 0 olarak ayarlayın.
KAGI_HIDDEN_PARAMSLLM'e sunulan şemadan gizlenecek, virgülle ayrılmış arama parametreleri.

Gizlenebilir arama parametreleri:

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

Örnek:

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

Yerel Geliştirme

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

Stdio üzerinden yerel olarak çalıştırın:

KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp

Akışlı HTTP aktarımı ile çalıştırın:

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

Kendi Kendine Barındırma

HTTP modu çok kiracılıdır: her istek, API anahtarını sunucu genelinde bir ortam değişkeni yerine Authorization: Bearer <key> başlığı aracılığıyla sağlar, böylece tek bir örnek birden fazla kullanıcıya hizmet verebilir. Depo, PyPI'den sabitlenmiş bir kagimcp kuran ve onu HTTP modunda çalıştıran bir Dockerfile ile birlikte gelir. Konteyner $PORT'e saygı duyar, bu nedenle bir tane enjekte eden herhangi bir platformda çalışır (Railway, Render, Cloud Run, Fly.io, vb.).

Yerel olarak oluşturun ve çalıştırın:

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

Duman testi:

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"}'

Üretimdeki sürümü yükseltmek için Dockerfile içindeki sabitlemeyi düzenleyin ve yeniden dağıtın.

Hata Ayıklama

Yayınlanan paketi inceleyin:

npx @modelcontextprotocol/inspector uvx kagimcp

Yerel bir kopyayı inceleyin:

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

Denetçi genellikle http://localhost:5173 adresinde kullanılabilir.

Ön Sürüm Talimatları

Bir ön sürüm yapısı kullanılıyorsa, aynı kurulum talimatları geçerlidir, ancak uvx kagimcp yerine uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp kullanın (1.0.0rc2 kısmını yüklemek istediğiniz sürümle değiştirin).