Kagi Search
ทางการค้นหาเว็บโดยใช้ API การค้นหาของ Kagi
คุณทำอะไรได้บ้างด้วย Kagi Search MCP?
- Search the web with Kagi — ขอผลลัพธ์จากเว็บ ข่าว วิดีโอ พอดแคสต์ หรือรูปภาพ พร้อมตัวเลือกในการดึงเนื้อหาหน้าเว็บและตัวกรองผ่าน
kagi_search_fetch - Extract page content as markdown — รับเนื้อหาที่ทำความสะอาดแล้วแบบเต็มของ URL ใดๆ โดยใช้
kagi_extract - Apply Kagi lenses to searches — จำกัดผลลัพธ์ตามโดเมน ประเภทไฟล์ หรือช่วงเวลา โดยใช้พารามิเตอร์ lens และ filter บน
kagi_search_fetch
เอกสาร
Kagi MCP Server
เซิร์ฟเวอร์ MCP ที่ขับเคลื่อนโดย Kagi API ซึ่งเปิดเผยเครื่องมือค้นหาและดึงข้อมูลให้กับไคลเอนต์ที่เข้ากันได้กับ MCP
เครื่องมือ
kagi_search_fetch- ค้นหาเว็บ ข่าวสาร วิดีโอ พอดแคสต์ และรูปภาพ พร้อมตัวเลือกการดึงเนื้อหาบางส่วนจากหน้าเว็บ ตัวกรอง และเลนส์ Kagikagi_extract- ดึงเนื้อหาทั้งหมดของหน้าเว็บในรูปแบบมาร์กดาวน์
หมายเหตุ: เครื่องมือ
kagi_fastgptและkagi_summarizerก่อนหน้านี้ได้ถูกลบออกแล้ว ทั้งสองมีแผนจะกลับมาในรุ่นถัดไป
เซิร์ฟเวอร์ที่โฮสต์ให้
เราให้บริการเซิร์ฟเวอร์ MCP แบบโฮสต์ที่ https://mcp.kagi.com/mcp — ไม่ต้องติดตั้งใดๆ เพียงชี้ไคลเอนต์ MCP ที่รองรับ HTTP ไปที่นั่นและยืนยันตัวตนด้วยคีย์ Kagi API ของคุณ
ยังไม่รองรับ OAuth2 (อยู่ในแผนงานของเรา) ดังนั้นในตอนนี้ให้ไปรับ คีย์ API จากแดชบอร์ด และส่งผ่านการยืนยันตัวตนแบบ 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 ใน
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
เพิ่มลงในไฟล์การกำหนดค่า Kiro MCP ของคุณ (~/.kiro/settings/mcp.json สำหรับแบบ global หรือ .kiro/settings/mcp.json สำหรับแบบ project-scoped) โดยใช้ 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 ที่จำเป็น |
FASTMCP_LOG_LEVEL | ระดับการบันทึกข้อมูล เช่น ERROR |
KAGI_SEARCH_TIMEOUT | ระยะหมดเวลาการค้นหาเป็นวินาที ค่าเริ่มต้นคือ 10 |
KAGI_EXTRACT_TIMEOUT | ระยะหมดเวลาการดึงข้อมูลเป็นวินาที ค่าเริ่มต้นคือ 30 |
KAGI_MAX_RETRIES | จำนวนครั้งสูงสุดในการลองใหม่หลังจากคำขอแรก ค่าเริ่มต้นคือ 2; ตั้งเป็น 0 เพื่อปิดการลองใหม่ |
KAGI_HIDDEN_PARAMS | พารามิเตอร์การค้นหาที่คั่นด้วยเครื่องหมายจุลภาคเพื่อซ่อนจาก schema ที่หันหน้าเข้าหา LLM |
พารามิเตอร์การค้นหาที่ซ่อนได้:
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
รันด้วยการขนส่ง HTTP แบบสตรีมได้:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000
การโฮสต์ด้วยตนเอง
โหมด HTTP เป็นแบบ multi-tenant: แต่ละคำขอจะส่งคีย์ API ของตนผ่าน
ส่วนหัว Authorization: Bearer <key> แทนที่จะเป็นตัวแปรสภาพแวดล้อมระดับเซิร์ฟเวอร์ ดังนั้นหนึ่ง
อินสแตนซ์สามารถให้บริการผู้ใช้หลายคนได้ ที่เก็บมาพร้อมกับ 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 ด้วยเวอร์ชันใดก็ตามที่คุณต้องการติดตั้ง)