kagi-mcp
Provides web search and news search tools using Kagi Search with your existing Kagi account via session token authentication. Supports search operators, region filtering, lenses, and returns compact plain text results.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kagi-mcpsearch the web for best practices in prompt engineering"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kagi-mcp
English | 简体中文
MCP server for Kagi Search that authenticates with your session token —
no separate API subscription needed, it uses your existing Kagi plan via Kagi's lightweight
HTML interface (kagi.com/html/search).
Tools
Tool | Purpose | Parameters |
| Web search |
|
| News search |
|
| List available lenses | — |
region: 2-letter country code (us,cn,jp, ...); maps to Kagi'sr=parameter. Defaults tono_region(international/location-neutral) so the AI agent decides when a country-specific view is needed.lens: a Kagi lens by name or numeric id (e.g.Forums,Fediverse Forums,Academic,Programming,PDFs). Names are resolved against the lens list on your account (cached per server process — restart the server after creating new lenses).
Queries support Kagi operators: "exact phrase", site:example.com, -exclude, OR.
Output is compact plain text (title, URL, date, snippet, related searches). By default a
call returns the full first results page — the same set a user sees on kagi.com
(typically 20-40 results); pass limit to trim it. Snippets are Kagi's own SERP snippets;
fetching full page content is left to the agent's page-fetch tool.
Related MCP server: Kagi MCP Server
1. Get your session token
Find the Session Link section and copy the link.
Use either the full link (
https://kagi.com/search?token=...) or just the token part — both work asKAGI_SESSION_TOKEN.
Treat the session link like a password — anyone with it can use your Kagi account. If it leaks, generate a new one from the same settings page (this invalidates the old one).
2. Install
Requires Node.js 18+.
Option A — npx (quickest, no clone). Nothing to install up front; your MCP client runs
the published package directly with npx -y kagi-mcp-claude-fable-5 (see the configs below).
Option B — from source:
git clone https://github.com/real-jiakai/kagi-mcp-claude-fable-5.git kagi-mcp
cd kagi-mcp
npm install3. Smoke test
macOS / Linux:
KAGI_SESSION_TOKEN='<token or session link>' node test.js "capital of japan" # web search
KAGI_SESSION_TOKEN='<token or session link>' node test.js "tokyo" news # news searchWindows (PowerShell):
$env:KAGI_SESSION_TOKEN = '<token or session link>'
node test.js "capital of japan"4. Hook it up
The examples use the npx form. Running from source instead? Replace
npx -y kagi-mcp-claude-fable-5 with node /path/to/kagi-mcp/src/index.js
(Windows JSON needs escaped backslashes: "C:\\path\\to\\kagi-mcp\\src\\index.js").
Claude Code
claude mcp add kagi -s user --env KAGI_SESSION_TOKEN=<token> -- npx -y kagi-mcp-claude-fable-5(-s user makes the server available in all your projects; omit it for project-local.)
Claude Desktop / any MCP client (JSON config)
{
"mcpServers": {
"kagi": {
"command": "npx",
"args": ["-y", "kagi-mcp-claude-fable-5"],
"env": { "KAGI_SESSION_TOKEN": "<token or session link>" }
}
}
}OpenClaw
openclaw mcp add kagi \
--command npx \
--arg -y \
--arg kagi-mcp-claude-fable-5 \
--env KAGI_SESSION_TOKEN=<token>Verify with openclaw mcp doctor kagi --probe.
Hermes Agent
Add to ~/.hermes/config.yaml under mcp_servers:
mcp_servers:
kagi:
command: "npx"
args: ["-y", "kagi-mcp-claude-fable-5"]
env:
KAGI_SESSION_TOKEN: "<token or session link>"Notes
Auth failures: if the token is invalid/expired, Kagi 302-redirects to its landing page; the server detects this and returns a clear error telling you to refresh the token.
Parsing: results are extracted via Kagi's own machine-readable markers (
._0_SRI,a._0_URL,._0_TITLE,._0_DESC), which are stable across the web and news verticals (verified July 2026). If Kagi ever changes its markup, updateparseResultsPage()insrc/kagi.js.This uses your normal Kagi account the same way a browser would — standard fair-use search volume from an agent is indistinguishable from regular usage. It is not the official Kagi Search API (which bills separately).
Acknowledgements
Designed, implemented, and tested end-to-end with Claude Fable 5 via Claude Code — including live analysis of Kagi's HTML interface, an adversarial multi-agent code review, and human-click vs. MCP parity testing in the browser.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/real-jiakai/kagi-mcp-claude-fable-5'
If you have feedback or need assistance with the MCP directory API, please join our Discord server