Kagi Search
ทางการค้นหาเว็บโดยใช้ API การค้นหาของ Kagi
คุณทำอะไรได้บ้างด้วย Kagi Search MCP?
- ค้นหาเว็บ — ขอให้ผู้ช่วยค้นหาเว็บ ข่าว วิดีโอ พอดแคสต์ หรือรูปภาพผ่าน
kagi_search_fetch - ค้นหาแบบกรอง — จำกัดผลลัพธ์ด้วยการรวมหรือตัดโดเมน ช่วงวันที่ ประเภทไฟล์ หรือเลนส์ของ Kagi ผ่าน
kagi_search_fetch - ดึงเนื้อหาจากหน้าเว็บ — ขอให้ดึงเนื้อหาจากหน้าเว็บเพิ่มเติมควบคู่กับผลการค้นหาโดยใช้
kagi_search_fetch - ดึงเนื้อหาทั้งหน้า — ขอให้ผู้ช่วยดึงเนื้อหาทั้งหมดของหน้าเว็บในรูปแบบมาร์กดาวน์ด้วย
kagi_extract - เอนด์พอยต์ที่โฮสต์ไว้ — เชื่อมต่อไคลเอนต์ MCP ที่รองรับ HTTP กับ
https://mcp.kagi.com/mcpและยืนยันตัวตนด้วยคีย์ API ของ Kagi ผ่านการยืนยันตัวตนแบบBearer
เอกสาร
Kagi MCP Server
เซิร์ฟเวอร์ MCP ที่ขับเคลื่อนด้วย Kagi API โดยมีเครื่องมือค้นหาและดึงเนื้อหาให้ไคลเอ็นต์ที่รองรับ MCP ใช้งาน
เครื่องมือ
kagi_search_fetch- ค้นหาเว็บ ข่าว วิดีโอ พอดแคสต์ และรูปภาพ พร้อมตัวเลือกดึงเนื้อหาจากหน้า ตัวกรอง และ Kagi lenseskagi_extract- ดึงเนื้อหาทั้งหมดของหน้าในรูปแบบ markdown
หมายเหตุ: เครื่องมือ
kagi_fastgptและkagi_summarizerรุ่นก่อนถูกนำออกแล้ว โดยมีแผนจะนำทั้งสองกลับมาในรุ่นถัดไป
เซิร์ฟเวอร์ที่โฮสต์ไว้
เราให้บริการเซิร์ฟเวอร์ MCP ที่โฮสต์ไว้ที่ https://mcp.kagi.com/mcp — ไม่ต้องติดตั้ง เพียงกำหนดให้ไคลเอ็นต์ MCP ที่รองรับ HTTP เชื่อมต่อไปยังเซิร์ฟเวอร์นี้ แล้วตรวจสอบสิทธิ์ด้วย Kagi API key ของคุณ
ขณะนี้ยังไม่รองรับ OAuth2 (อยู่ในแผนงานของเรา) ดังนั้นในตอนนี้ ให้รับ API key จากแดชบอร์ด แล้วส่งผ่านการตรวจสอบสิทธิ์ HTTP แบบ Bearer
ตัวอย่างการใช้งานกับ 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 ในเครื่อง หรือ การโฮสต์ด้วยตนเอง เพื่อโฮสต์เซิร์ฟเวอร์ HTTP บนโครงสร้างพื้นฐานของคุณเอง
ข้อกำหนด
- Kagi API key ใน
KAGI_API_KEY uvสำหรับวิธีติดตั้งuvxที่แนะนำ
ติดตั้ง uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
การตั้งค่าไคลเอ็นต์
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
เพิ่มการกำหนดค่าลงในไฟล์กำหนดค่า MCP ของ Kiro (~/.kiro/settings/mcp.json สำหรับการตั้งค่าทั่วโลก หรือ .kiro/settings/mcp.json สำหรับการตั้งค่าเฉพาะโปรเจกต์) โดยใช้ JSON แบบ mcpServers เดียวกับ Claude Desktop ดูรายละเอียดเพิ่มเติมได้ที่ เอกสารประกอบ Kiro MCP
OpenCode
แก้ไขไฟล์การกำหนดค่า OpenCode ใน ~/.config/opencode/opencode.json แล้วเพิ่มรายการต่อไปนี้:
{
"mcp": {
"kagi": {
"type": "local",
"command": ["uvx", "kagimcp"],
"enabled": true,
"environment": {
"KAGI_API_KEY": "<YOUR_API_KEY_HERE>"
}
}
}
}
ตัวอย่างการใช้งาน
- ค้นหา:
Who was Time's 2024 person of the year? - ดึงเนื้อหา:
extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol
การกำหนดค่า
| ตัวแปรสภาพแวดล้อม | คำอธิบาย |
|---|---|
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_PARAMS | พารามิเตอร์การค้นหาที่คั่นด้วยจุลภาค ซึ่งจะซ่อนจากสคีมาที่ LLM มองเห็น |
KAGI_SEARCH_FORMAT | รูปแบบผลลัพธ์การค้นหา: json (ค่าเริ่มต้น) หรือ markdown (markdown จาก Search API โดยตรง ซึ่งส่งต่อโดยไม่เปลี่ยนแปลง) |
พารามิเตอร์การค้นหาที่ซ่อนได้:
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"
การพัฒนาในเครื่อง
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:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000
การโฮสต์ด้วยตนเอง
โหมด HTTP รองรับผู้ใช้หลายราย โดยแต่ละคำขอจะส่ง API key ผ่านส่วนหัว
Authorization: Bearer <key> แทนการใช้ตัวแปรสภาพแวดล้อมระดับเซิร์ฟเวอร์ ทำให้เซิร์ฟเวอร์
หนึ่งอินสแตนซ์ให้บริการผู้ใช้หลายรายได้ ใน repo มี Dockerfile ที่ติดตั้ง
kagimcp เวอร์ชันที่กำหนดไว้จาก PyPI และเรียกใช้ในโหมด HTTP คอนเทนเนอร์รองรับ
$PORT จึงทำงานได้บนทุกแพลตฟอร์มที่กำหนดค่านี้ให้ (Railway, Render, Cloud Run, Fly.io ฯลฯ)
สร้างและเรียกใช้ในเครื่อง:
docker build -t kagimcp-hosted .
docker run --rm -p 8000:8000 kagimcp-hosted
ทดสอบเบื้องต้น:
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 แล้วนำไปใช้งานอีกครั้ง
การแก้ไขข้อบกพร่อง
ตรวจสอบแพ็กเกจที่เผยแพร่แล้ว:
npx @modelcontextprotocol/inspector uvx kagimcp
ตรวจสอบสำเนาในเครื่อง:
npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp
โดยปกติจะเข้าถึง inspector ได้ที่ http://localhost:5173
คำแนะนำสำหรับรุ่นก่อนเผยแพร่
หากใช้บิลด์รุ่นก่อนเผยแพร่ ให้ทำตามคำแนะนำการติดตั้งเดิม แต่ใช้ uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp แทน uvx kagimcp (แทนที่ 1.0.0rc2 ด้วยเวอร์ชันที่ต้องการติดตั้ง)