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 替换为你想安装的版本)。