Skip to main content
Glama
KSroido

kagi-session2api-mcp

by KSroido

Kagi Session2API MCP 服务器

一个免费的 Kagi 搜索 MCP (Model Context Protocol) 服务器——通过会话令牌访问 Kagi 搜索和摘要功能,无需 API 密钥。适用于 Claude Desktop、Cursor、Windsurf、Cline、Hermes 以及任何支持 MCP 的 AI 编码助手/代理。

English | 中文文档

⚠️ 用户警告:本项目使用 Kagi 会话令牌在没有官方付费 API 的情况下访问搜索和摘要功能。这可能违反 Kagi 的服务条款。潜在后果包括账户暂停或永久封禁。使用风险自负。 作者不对 Kagi 采取的任何账户操作承担责任。

⚠️ 安全警告:您的 Kagi 会话令牌提供完整的账户访问权限。请像对待密码一样对待它。切勿共享或将其提交到版本控制系统中。

功能特性

  • 基于会话的访问:使用 Kagi 会话令牌代替官方 API($25/1000 次查询)——完全免费

  • 多令牌池:配置多个令牌以实现更高的吞吐量,并支持轮询调度

  • 单令牌速率限制:使用令牌桶算法,每个令牌限制为 5 次请求/秒

  • API 兼容输出:返回结果的格式与官方 kagimcp 相同

  • 两个工具kagi_search_fetch(网络搜索)和 kagi_summarizer(URL 摘要)

  • Firefox UA 伪装:模拟真实的 Firefox 浏览器以进行基于会话的访问

  • 自动禁用过期令牌:自动检测并跳过已过期的令牌

  • 搜索运算符:支持 Kagi 运算符(site:lang:filetype: 等)

兼容平台

适用于任何支持 MCP 的客户端:

快速安装(适用于 AI 代理)

只需将此提示词粘贴到您的 AI 代理中:

Install the Kagi Session2API MCP server from https://pypi.org/project/kagi-session2api-mcp/.
Then add it to my MCP:
`uvx kagi-session2api-mcp`
set env KAGI_SESSION_TOKEN to my token (ask me if you don't have it).
If I have multiple tokens, use KAGI_SESSION_TOKENS (comma-separated) instead,
or create a config file at ~/.config/kagi-session2api-mcp/config.toml with:
[kagi]
session_tokens = ["TOKEN_1", "TOKEN_2"]
summarizer_engine = "cecil"
[client]
timeout = 30
max_retries = 2
and set env KAGI_SESSION_CONFIG to that path.

手动安装

pip install kagi-session2api-mcp

或者使用 uvx

uvx kagi-session2api-mcp

配置

选项 1:环境变量(单个令牌)

{
  "mcpServers": {
    "kagi-session": {
      "command": "uvx",
      "args": ["kagi-session2api-mcp"],
      "env": {
        "KAGI_SESSION_TOKEN": "YOUR_SESSION_TOKEN_HERE"
      }
    }
  }
}

选项 2:环境变量(多个令牌)

{
  "mcpServers": {
    "kagi-session": {
      "command": "uvx",
      "args": ["kagi-session2api-mcp"],
      "env": {
        "KAGI_SESSION_TOKENS": "TOKEN_1,TOKEN_2,TOKEN_3"
      }
    }
  }
}

选项 3:配置文件(推荐用于多令牌)

创建 ~/.config/kagi-session2api-mcp/config.toml

[kagi]
session_tokens = [
    "YOUR_TOKEN_1_HERE",
    "YOUR_TOKEN_2_HERE",
]

summarizer_engine = "cecil"

[client]
timeout = 30
max_retries = 2

然后配置:

{
  "mcpServers": {
    "kagi-session": {
      "command": "uvx",
      "args": ["kagi-session2api-mcp"],
      "env": {
        "KAGI_SESSION_CONFIG": "/path/to/config.toml"
      }
    }
  }
}

获取您的会话令牌

  1. 登录 kagi.com

  2. 前往 Settings → Account → Session Link

  3. 从会话 URL 中复制令牌:https://kagi.com/search?token={THIS_PART}&q=test

  4. 在您的配置中使用此令牌

使用方法

MCP 工具

kagi_search_fetch

使用 Kagi 进行网络搜索:

Search for "Python async tutorial"

支持 Kagi 搜索运算符:

  • site:github.com - 限制在特定域名内

  • -site:reddit.com - 排除特定域名

  • filetype:pdf - 文件类型过滤

  • intitle:python - 标题过滤

  • lang:zh - 语言过滤

  • before:2024-01-01 / after:2024-01-01 - 日期过滤

  • "exact phrase" - 精确匹配

kagi_summarizer

摘要任何 URL:

Summarize https://example.com/article

选项:

  • summary_type: "summary"(散文)或 "takeaway"(要点列表)

  • engine: "cecil"(默认)、"agnes"、"daphne"、"muriel"

  • target_language: 语言代码(例如 "EN")

⚠️ 摘要功能处于实验阶段——它使用 Kagi 的内部端点,该端点可能会发生变化。

传输模式

Stdio(默认,适用于 Claude Desktop):

kagi-session2api-mcp

HTTP(用于远程访问):

kagi-session2api-mcp --http --host 0.0.0.0 --port 8000

架构

MCP Client → FastMCP Server → TokenPool (round-robin) → httpx.AsyncClient → kagi.com
                                ↓
                          TokenBucket (5 req/s per token)
                                ↓
                          Auto-disable expired tokens

令牌池行为

配置

速率限制

有效速率

1 个令牌

5 次请求/秒

5 次请求/秒

2 个令牌

每个 5 次请求/秒

10 次请求/秒

N 个令牌

每个 5 次请求/秒

5×N 次请求/秒

当令牌过期(通过 401/403 或重定向到登录页面检测)时,它会被自动禁用。剩余的令牌将继续处理请求。

与官方 kagimcp 的区别

方面

官方 kagimcp

kagi-session2api-mcp

身份验证

API 密钥 ($25/1000)

会话令牌(免费)

搜索端点

/api/v0/search

/html/search (HTML 抓取)

摘要功能

/api/v0/summarize

/mother/summary_labs (内部)

速率限制

服务器端

客户端(令牌桶)

api_balance

返回余额

始终为 null

成本

付费

免费(使用现有会话)

风险

  • Kagi 可能会更改其 HTML 结构,导致解析器失效

  • 基于会话的访问可能违反 Kagi 的服务条款

  • 存在账户暂停或永久封禁的可能

  • 摘要端点是内部的,可能会在不另行通知的情况下更改

  • 使用风险自负。 作者不对任何后果承担责任,包括但不限于 Kagi 采取的账户操作。

许可证

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KSroido/Kagi-Session2API-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server