关于 kagi-ken-mcp
kagi-ken-mcp 是一个轻量的 Node MCP 服务,通过 Kagi 会话令牌而非官方 API 访问 Kagi 的搜索与摘要功能。适合已有 Kagi 订阅但没有 API 权限、希望在 Claude 等客户端中使用的用户。
主要功能
- 01基于 Kagi 会话令牌进行身份验证
- 02并发处理多个搜索查询
- 03支持对 URL 或文本内容生成摘要
- 04摘要可选段落或要点格式及目标语言
- 05会话令牌可通过环境变量或文件提供
适用场景
- 01在 Claude Desktop 或 Claude Code 中进行网页搜索
- 02对网页或视频链接生成摘要
- 03替代官方 Kagi API 的 LLM 或 Agent 集成
MCP 相关
该项目是 MCP 服务端,向 MCP 客户端暴露 kagi_search_fetch 搜索工具与 kagi_summarizer 摘要工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
kagi-ken-mcp
一个围绕 kagi-ken package 构建的轻量级 Node MCP 服务,可使用 Kagi 会话令牌访问 Kagi.com 服务:
- 搜索:搜索 Kagi
- 摘要器:使用 Kagi 的摘要器,根据 URL 或文本内容生成摘要
与需要 API 访问权限的官方 Kagi API 不同,此 MCP 服务使用你现有的 Kagi 会话来访问搜索和摘要功能。
“Kagi-ken” 是 “Kagi”(服务)和 “token” 的混成词。
为什么?
Kagi API 需要单独的 API 密钥,目前仅限受邀用户使用。如果你已有 Kagi 订阅,但没有 API 访问权限,却希望通过编程方式让 LLM 或 Claude 等 Agent 使用 Kagi 服务,此 MCP 服务提供了一种替代方案。
功能
- 搜索:使用 Kagi Search 获取网页结果,并发处理查询
- 摘要:总结 URL 中的内容,可自定义输出类型和语言
此服务支持以下两种方式使用 Kagi 会话令牌(参见安装),并按以下顺序尝试:
KAGI_SESSION_TOKEN环境变量- 包含令牌字符串的
~/.kagi_session_token文件
其中包含完善的错误处理:
- 连接超时(每次搜索 10 秒)
- 无效输入验证
- 环境变量验证
- 优雅的错误格式化
安装
需要 Node.js 22+。
1. 获取 Kagi 会话令牌
- 在浏览器中访问 Kagi Settings
- 复制 Session Link
- 从链接中提取
token值 - 将该值用作会话令牌:保存到
~/.kagi_session_token(推荐),或者将其作为KAGI_SESSION_TOKEN环境变量传入
服务会先尝试使用环境变量,然后自动回退到令牌文件。
警告
安全提示:请妥善保管会话令牌。它可以用于访问你的 Kagi 账户。
2.a. 将 MCP 服务添加到 Claude Desktop
将 kagi-ken-mcp 添加到 claude_desktop_config.json。你可以在 Claude Desktop 应用中通过“Settings → Developer → Local MCP Servers → Edit Config”打开该文件。
选项 1:使用令牌文件(推荐)
{
"mcpServers": {
"kagi-ken-mcp": {
"command": "npx",
"args": ["-y", "github:czottmann/kagi-ken-mcp"]
}
}
}
选项 2:使用环境变量
{
"mcpServers": {
"kagi-ken-mcp": {
"command": "npx",
"args": ["-y", "github:czottmann/kagi-ken-mcp"],
"env": {
"KAGI_SESSION_TOKEN": "YOUR_SESSION_TOKEN_HERE"
}
}
}
}
安装后
禁用 Claude Desktop 内置的网页搜索,以便使用此 MCP 服务。你也可以在“Settings”中的“Personal preferences”(即系统提示词)里添加以下内容:
For web searches, use kagi-ken-mcp MCP server's `kagi_search_fetch` tool.
For summarizing a URL, use the kagi-ken-mcp MCP server's `kagi_summarizer` tool.
2.b. 将 MCP 服务添加到 Claude Code
选项 1:使用令牌文件(推荐)
claude mcp add kagi-ken-mcp --scope user -- npx -y github:czottmann/kagi-ken-mcp
选项 2:使用环境变量
claude mcp add kagi-ken-mcp \
--scope user \
--env KAGI_SESSION_TOKEN="YOUR_SESSION_TOKEN_HERE" -- \
npx -y github:czottmann/kagi-ken-mcp
安装后
如需禁用 Claude Code 内置的网页搜索(可选),请在相关的 .claude/settings*.json 文件中设置权限:
{
"permissions": {
"deny": [
"WebSearch"
],
"allow": [
"mcp__kagi-ken-mcp__kagi_search_fetch",
"mcp__kagi-ken-mcp__kagi_summarizer"
]
}
}
用法:提出需要使用工具的查询
例如,搜索时可以问 “谁是《时代》杂志 2024 年度风云人物?”;使用摘要器时可以问“总结这个视频:https://www.youtube.com/watch?v=sczwaYyaevY”。
工具
kagi_search_fetch
使用 Kagi Search API,根据一个或多个查询获取网页结果。结果会连续编号,方便引用。
参数:
queries(字符串数组):一个或多个搜索查询
kagi_summarizer
使用 Kagi Summarizer API 总结 URL 中的内容。支持多种文档类型,包括网页、视频和音频。
参数:
url(字符串):要总结的 URLsummary_type(枚举):"summary"表示段落文本,"takeaway"表示项目符号列表(默认:"summary")target_language(字符串,可选):语言代码(例如,"EN"表示英语,默认:"EN")
开发
项目结构
kagi-ken-mcp/
├── src/
│ ├── index.js # Main server entry point
│ ├── tools/
│ │ ├── search.js # Search tool implementation
│ │ └── summarizer.js # Summarizer tool implementation
│ └── utils/
│ └── formatting.js # Utility functions
├── package.json
└── README.md
安装
-
克隆仓库:
git clone <repository-url> cd kagi-ken-mcp -
安装依赖项:
npm install
在开发模式下运行
npm run dev
调试
使用 MCP Inspector 进行调试:
npx @modelcontextprotocol/inspector node ./src/index.js
然后访问 http://localhost:5173 打开 Inspector。如果使用环境变量,请在 Inspector 的环境变量部分添加 KAGI_SESSION_TOKEN。
贡献
- Fork 仓库
- 创建功能分支
- 进行更改
- 使用 MCP Inspector 测试
- 提交拉取请求
作者
Carlo Zottmann,[email protected],https://c.zottmann.dev,https://github.com/czottmann。
本项目与 Kagi 无关,也未获得 Kagi 的认可。我只是一个非常满意的客户。
提示
我制作与 Shortcuts 相关的 macOS 和 iOS 效率应用,例如 Actions For Obsidian、Browser Actions(为多款主流浏览器添加 Shortcuts 支持)和 BarCuts(一款出乎意料地实用的上下文 Shortcuts 启动器)。欢迎了解!
相关项目
- czottmann/kagi-ken - 基于会话令牌的非官方 Kagi 客户端,Node
- czottmann/kagi-ken-cli - 基于会话令牌的非官方 Node 命令行工具,Node
- Official Kagi MCP Server - Python
- Model Context Protocol
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。