Kagi Search

आधिकारिक

वेब पर Kagi के सर्च API का उपयोग करके खोजें।

Kagi Search MCP के साथ आप क्या कर सकते हैं?

  • वेब खोज — अपने सहायक से kagi_search_fetch के ज़रिए वेब, समाचार, वीडियो, पॉडकास्ट या छवियाँ खोजने के लिए कहें।
  • फ़िल्टर की गई खोज — kagi_search_fetch के ज़रिए डोमेन शामिल या बाहर करके, तारीख की सीमाएँ, फ़ाइल प्रकार या Kagi लेंस चुनकर परिणाम सीमित करें।
  • पृष्ठ अंश — kagi_search_fetch का उपयोग करके खोज परिणामों के साथ वैकल्पिक पृष्ठ अंश माँगें।
  • पूरे पृष्ठ का निष्कर्षण — अपने सहायक से kagi_extract के ज़रिए किसी पृष्ठ की पूरी सामग्री को मार्कडाउन के रूप में प्राप्त करने के लिए कहें।
  • होस्ट किया गया एंडपॉइंट — किसी भी HTTP-सक्षम MCP क्लाइंट को https://mcp.kagi.com/mcp से जोड़ें और Bearer प्रमाणीकरण के ज़रिए अपनी Kagi API कुंजी से प्रमाणित करें।

दस्तावेज़

Kagi MCP Server

Kagi API द्वारा संचालित एक MCP सर्वर। यह MCP-संगत क्लाइंट को खोज और निष्कर्षण टूल उपलब्ध कराता है।

Tools

  • kagi_search_fetch - वैकल्पिक पेज निष्कर्षों, फ़िल्टर और Kagi lenses के साथ वेब, समाचार, वीडियो, पॉडकास्ट और छवि खोज।
  • kagi_extract - किसी पेज की पूरी सामग्री को markdown के रूप में प्राप्त करें।

Note: पिछले kagi_fastgpt और kagi_summarizer टूल हटा दिए गए हैं। इन्हें भविष्य की रिलीज़ में वापस लाने की योजना है।

Hosted Server

हम https://mcp.kagi.com/mcp पर एक होस्टेड MCP सर्वर चलाते हैं — इंस्टॉल करने की ज़रूरत नहीं। किसी भी HTTP-सक्षम MCP क्लाइंट को इससे कनेक्ट करें और अपनी Kagi API key से प्रमाणित करें।

OAuth2 अभी समर्थित नहीं है (यह हमारी रोडमैप में है), इसलिए फ़िलहाल डैशबोर्ड से अपनी API key प्राप्त करें और इसे Bearer HTTP authentication के ज़रिए भेजें।

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

इसे स्वयं चलाना पसंद करेंगे? स्थानीय uvx इंस्टॉल के लिए Client Setup देखें, या अपने इंफ़्रास्ट्रक्चर पर HTTP सर्वर होस्ट करने के लिए Self-Hosting देखें।

Requirements

  • KAGI_API_KEY में Kagi API key।
  • अनुशंसित uvx इंस्टॉल प्रक्रिया के लिए uv।

uv इंस्टॉल करें:

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 MCP कॉन्फ़िगरेशन को ~/.codex/config.toml में लिखता है।

Claude Desktop

पहले 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"

फिर अपने Claude Desktop कॉन्फ़िगरेशन में (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

अपनी Kiro MCP कॉन्फ़िगरेशन फ़ाइल (~/.kiro/settings/mcp.json वैश्विक के लिए, या .kiro/settings/mcp.json प्रोजेक्ट-स्कोप्ड के लिए) में Claude Desktop वाला ही mcpServers JSON जोड़ें। अधिक जानकारी के लिए Kiro MCP documentation देखें।

OpenCode

~/.config/opencode/opencode.json में OpenCode कॉन्फ़िगरेशन फ़ाइल संपादित करें और निम्नलिखित जोड़ें:

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

Usage Examples

  • खोज: Who was Time's 2024 person of the year?
  • निष्कर्षण: extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol

Configuration

Environment variableDescription
KAGI_API_KEYआवश्यक Kagi API key।
FASTMCP_LOG_LEVELलॉगिंग स्तर, उदाहरण के लिए ERROR।
KAGI_SEARCH_TIMEOUTसेकंड में खोज टाइमआउट। डिफ़ॉल्ट 10 है।
KAGI_EXTRACT_TIMEOUTसेकंड में निष्कर्षण टाइमआउट। डिफ़ॉल्ट 30 है।
KAGI_MAX_RETRIESपहले अनुरोध के बाद अधिकतम पुनः प्रयास। डिफ़ॉल्ट 2 है; पुनः प्रयास बंद करने के लिए 0 सेट करें।
KAGI_HIDDEN_PARAMSLLM-सामना करने वाले स्कीमा से छिपाने के लिए कॉमा से अलग किए गए खोज पैरामीटर।
KAGI_SEARCH_FORMATखोज परिणाम फ़ॉर्मैट: json (डिफ़ॉल्ट) या markdown (Search API का अपना markdown, बिना बदलाव के आगे भेजा जाता है)।

छिपाए जा सकने वाले खोज पैरामीटर:

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

उदाहरण:

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

Local Development

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

stdio पर स्थानीय रूप से चलाएँ:

KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp

streamable HTTP transport के साथ चलाएँ:

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

Self-Hosting

HTTP मोड multi-tenant है: हर अनुरोध सर्वर-व्यापी env var के बजाय Authorization: Bearer <key> header के ज़रिए अपनी API key भेजता है, इसलिए एक इंस्टेंस कई उपयोगकर्ताओं को सेवा दे सकता है। repo में एक Dockerfile शामिल है, जो PyPI से पिन किया हुआ kagimcp इंस्टॉल करता है और इसे HTTP मोड में चलाता है। कंटेनर $PORT का सम्मान करता है, इसलिए यह किसी भी ऐसे प्लेटफ़ॉर्म पर काम करता है जो इसे उपलब्ध कराता है (Railway, Render, Cloud Run, Fly.io आदि)।

स्थानीय रूप से बिल्ड और रन करें:

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

प्रोडक्शन में संस्करण अपडेट करने के लिए, Dockerfile में पिन संपादित करें और फिर से डिप्लॉय करें।

Debugging

प्रकाशित पैकेज की जाँच करें:

npx @modelcontextprotocol/inspector uvx kagimcp

स्थानीय checkout की जाँच करें:

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

Inspector आमतौर पर http://localhost:5173 पर उपलब्ध होता है।

Prerelease Instructions

यदि prerelease build का उपयोग कर रहे हैं, तो इंस्टॉलेशन के वही निर्देश लागू होते हैं, लेकिन uvx kagimcp के बजाय uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp का उपयोग करें ( 1.0.0rc2 को उस संस्करण से बदलें जिसे आप इंस्टॉल करना चाहते हैं)।