Kagi MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server backed by the Kagi API. It exposes search and extraction tools to MCP-compatible clients.
Tools
- **kagi_search_fetch** - web, news, videos, podcasts, and image search with optional page extracts, filters, and Kagi lenses.
- **kagi_extract** - fetch a page's full content as markdown.
> **Note:** The previous kagi_fastgpt and kagi_summarizer tools have been removed. Both are planned to return in a future release.
Hosted Server
We run a hosted MCP server at **https://mcp.kagi.com/mcp** — no install required. Point any HTTP-capable MCP client at it and authenticate with your Kagi API key.
OAuth2 isn't supported yet (it's on our roadmap), so for now grab your API key from the dashboard and pass it via Bearer HTTP authentication.
Example with Claude Code:
Prefer to run it yourself? See Client Setup for the local uvx install, or Self-Hosting to host the HTTP server on your own infrastructure.
Requirements
- A Kagi API key in KAGI_API_KEY.
- uv for the recommended uvx install path.
Install uv:
Windows:
Client Setup
Codex CLI
Codex writes MCP configuration to ~/.codex/config.toml.
Claude Desktop
Install uv first.
MacOS/Linux:
Windows:
Then in your Claude Desktop config (found through Settings -> Developer -> Edit Config):
Claude Code
Smithery
Kiro
Add to your Kiro MCP config file (~/.kiro/settings/mcp.json for global, or .kiro/settings/mcp.json for project-scoped) using the same mcpServers JSON as Claude Desktop. See the Kiro MCP documentation for more details.
OpenCode
Edit the OpenCode configuration file in ~/.config/opencode/opencode.json and add the following:
Usage Examples
- Search: Who was Time's 2024 person of the year?
- Extract: extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol
Configuration
Environment variable | Description
--- | ---
KAGI_API_KEY | Required Kagi API key.
FASTMCP_LOG_LEVEL | Logging level, for example ERROR.
KAGI_SEARCH_TIMEOUT | Search timeout in seconds. Defaults to 10.
KAGI_EXTRACT_TIMEOUT | Extract timeout in seconds. Defaults to 30.
KAGI_MAX_RETRIES | Max retry attempts after the first request. Defaults to 2; set 0 to disable retries.
KAGI_HIDDEN_PARAMS | Comma-separated search params to hide from the LLM-facing schema.
Hideable search params:
Example:
Local Development
Run locally over stdio:
Run with streamable HTTP transport:
Self-Hosting
HTTP mode is multi-tenant: each request supplies its API key via the
Authorization: Bearer header instead of a server-wide env var, so one
instance can serve multiple users. The repo ships a Dockerfile that installs a pinned kagimcp from PyPI and