Kagi Search

官方

使用Kagi的搜索API进行网络搜索

你可以用 Kagi Search MCP 做什么?

  • 网页搜索 — 让你的助手通过 kagi_search_fetch 搜索网页、新闻、视频、播客或图片。
  • 筛选搜索 — 通过 kagi_search_fetch 按域名包含/排除条件、日期范围、文件类型或 Kagi 镜头缩小搜索结果范围。
  • 页面摘录 — 使用 kagi_search_fetch 请求在搜索结果旁附带可选的页面摘录。
  • 整页提取 — 让你的助手通过 kagi_extract 获取页面的完整内容并以 Markdown 格式呈现。
  • 托管端点 — 将任何支持 HTTP 的 MCP 客户端连接到 https://mcp.kagi.com/mcp,并通过 Bearer 身份验证使用你的 Kagi API 密钥进行认证。

文档

Kagi MCP Server

由 Kagi API 提供支持的 MCP 服务器。它向兼容 MCP 的客户端提供搜索和内容提取工具。

工具

  • kagi_search_fetch - 网页、新闻、视频、播客和图片搜索,可选页面内容提取、筛选条件和 Kagi lenses。
  • kagi_extract - 获取页面的完整内容并以 markdown 格式返回。

注意: 之前的 kagi_fastgpt 和 kagi_summarizer 工具已移除。计划在未来版本中重新提供这两项工具。

托管服务器

我们运行着一个托管 MCP 服务器:https://mcp.kagi.com/mcp — 无需安装。将任何支持 HTTP 的 MCP 客户端指向该服务器,并使用你的 Kagi API 密钥进行身份验证。

目前尚不支持 OAuth2(已列入我们的路线图),因此请先从控制面板获取 API 密钥,并通过 Bearer HTTP 身份验证传递该密钥。

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 密钥。
  • 推荐的 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"

客户端设置

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 文档。

OpenCode

编辑 ~/.config/opencode/opencode.json 中的 OpenCode 配置文件,并添加以下内容:

{
  "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以逗号分隔的搜索参数列表,用于从面向 LLM 的架构中隐藏这些参数。
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"

本地开发

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 模式支持多租户:每个请求都通过 Authorization: Bearer <key> 标头提供 API 密钥,而不是使用服务器级环境变量,因此一个 实例可以为多个用户提供服务。仓库提供了一个 Dockerfile,用于从 PyPI 安装固定版本的 kagimcp,并以 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

检查器通常可在 http://localhost:5173 访问。

预发布版本说明

如果使用预发布版本,安装说明相同,但请使用 uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp,而不是 uvx kagimcp(将 1.0.0rc2 替换为你想安装的版本)。