Kagi Search

chính thức

Tìm kiếm trên web bằng API tìm kiếm của Kagi

Bạn có thể làm gì với Kagi Search MCP?

  • Tìm kiếm trên web — Yêu cầu trợ lý tìm kiếm trên web, tin tức, video, podcast hoặc hình ảnh thông qua kagi_search_fetch.
  • Tìm kiếm có bộ lọc — Thu hẹp kết quả bằng cách bao gồm/loại trừ tên miền, chọn khoảng thời gian, loại tệp hoặc sử dụng các bộ lọc Kagi thông qua kagi_search_fetch.
  • Trích xuất nội dung trang — Yêu cầu trích xuất nội dung trang tùy chọn cùng với kết quả tìm kiếm bằng kagi_search_fetch.
  • Trích xuất toàn bộ trang — Yêu cầu trợ lý tải toàn bộ nội dung của một trang dưới dạng markdown bằng kagi_extract.
  • Điểm cuối được lưu trữ — Kết nối mọi ứng dụng khách MCP hỗ trợ HTTP với https://mcp.kagi.com/mcp và xác thực bằng khóa API Kagi của bạn thông qua xác thực Bearer.

Tài liệu

Kagi MCP Server

Một MCP server được hỗ trợ bởi Kagi API. Server cung cấp các công cụ tìm kiếm và trích xuất cho những client tương thích với MCP.

Công cụ

  • kagi_search_fetch - tìm kiếm web, tin tức, video, podcast và hình ảnh, với tùy chọn trích xuất nội dung trang, bộ lọc và Kagi lenses.
  • kagi_extract - lấy toàn bộ nội dung của một trang dưới dạng markdown.

Lưu ý: Các công cụ kagi_fastgpt và kagi_summarizer trước đây đã bị gỡ bỏ. Cả hai dự kiến sẽ được đưa trở lại trong một bản phát hành tương lai.

Server được lưu trữ

Chúng tôi vận hành một MCP server được lưu trữ tại https://mcp.kagi.com/mcp — không cần cài đặt. Kết nối bất kỳ MCP client nào hỗ trợ HTTP với server này và xác thực bằng Kagi API key của bạn.

OAuth2 hiện chưa được hỗ trợ (tính năng này nằm trong lộ trình của chúng tôi), vì vậy hiện tại, hãy lấy API key từ dashboard và gửi qua phương thức xác thực HTTP Bearer.

Ví dụ với 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

Bạn muốn tự chạy server? Xem Client Setup để cài đặt uvx cục bộ, hoặc Self-Hosting để lưu trữ HTTP server trên hạ tầng của riêng bạn.

Yêu cầu

  • Kagi API key trong KAGI_API_KEY.
  • uv cho phương thức cài đặt uvx được khuyến nghị.

Cài đặt uv:

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

Windows:

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

Thiết lập client

Codex CLI

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

Codex ghi cấu hình MCP vào ~/.codex/config.toml.

Claude Desktop

Trước tiên, hãy cài đặt 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"

Sau đó, trong cấu hình Claude Desktop (mở qua 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

Thêm vào tệp cấu hình MCP của Kiro (~/.kiro/settings/mcp.json cho cấu hình toàn cục hoặc .kiro/settings/mcp.json cho cấu hình theo dự án), sử dụng cùng JSON mcpServers như Claude Desktop. Xem tài liệu MCP của Kiro để biết thêm chi tiết.

OpenCode

Chỉnh sửa tệp cấu hình OpenCode trong ~/.config/opencode/opencode.json và thêm nội dung sau:

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

Ví dụ sử dụng

  • Tìm kiếm: Who was Time's 2024 person of the year?
  • Trích xuất: extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol

Cấu hình

Biến môi trườngMô tả
KAGI_API_KEYKagi API key bắt buộc.
FASTMCP_LOG_LEVELCấp độ ghi nhật ký, ví dụ ERROR.
KAGI_SEARCH_TIMEOUTThời gian chờ tìm kiếm tính bằng giây. Mặc định là 10.
KAGI_EXTRACT_TIMEOUTThời gian chờ trích xuất tính bằng giây. Mặc định là 30.
KAGI_MAX_RETRIESSố lần thử lại tối đa sau yêu cầu đầu tiên. Mặc định là 2; đặt thành 0 để tắt thử lại.
KAGI_HIDDEN_PARAMSCác tham số tìm kiếm được phân tách bằng dấu phẩy cần ẩn khỏi schema hiển thị cho LLM.
KAGI_SEARCH_FORMATĐịnh dạng kết quả tìm kiếm: json (mặc định) hoặc markdown (markdown riêng của Search API, được chuyển tiếp nguyên trạng).

Các tham số tìm kiếm có thể ẩn:

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

Ví dụ:

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

Phát triển cục bộ

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

Chạy cục bộ qua stdio:

KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp

Chạy với phương thức truyền tải HTTP có thể truyền luồng:

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

Tự lưu trữ

Chế độ HTTP hỗ trợ nhiều tenant: mỗi yêu cầu gửi API key qua header Authorization: Bearer <key> thay vì dùng biến môi trường chung cho toàn server, nhờ đó một instance có thể phục vụ nhiều người dùng. Repo cung cấp một Dockerfile để cài đặt kagimcp đã ghim phiên bản từ PyPI và chạy ở chế độ HTTP. Container tuân theo $PORT, vì vậy hoạt động trên mọi nền tảng có cung cấp biến này (Railway, Render, Cloud Run, Fly.io, v.v.).

Build và chạy cục bộ:

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

Kiểm tra nhanh:

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

Để nâng phiên bản trong môi trường production, hãy chỉnh sửa phiên bản được ghim trong Dockerfile rồi triển khai lại.

Gỡ lỗi

Kiểm tra package đã phát hành:

npx @modelcontextprotocol/inspector uvx kagimcp

Kiểm tra bản checkout cục bộ:

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

Inspector thường có tại http://localhost:5173.

Hướng dẫn bản phát hành trước

Nếu sử dụng bản dựng prerelease, hãy làm theo cùng hướng dẫn cài đặt, nhưng dùng uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp thay cho uvx kagimcp (thay 1.0.0rc2 bằng phiên bản bạn muốn cài đặt).