Install
$ agentstack add mcp-kagisearch-kagimcp Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Kagi MCP Server
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:
claude mcp add kagi https://mcp.kagi.com/mcp --transport http --header "Authorization: Bearer $(read -sp 'API key: ' k; echo $k)" --scope user
Prefer to run it yourself? See [Client Setup](#client-setup) for the local uvx install, or [Self-Hosting](#self-hosting) to host the HTTP server on your own infrastructure.
Requirements
- A Kagi API key in
KAGI_API_KEY. uvfor the recommendeduvxinstall path.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Client Setup
Codex CLI
codex mcp add kagi --env KAGI_API_KEY= -- uvx kagimcp
Codex writes MCP configuration to ~/.codex/config.toml.
Claude Desktop
Install uv first.
MacOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Then in your Claude Desktop config (found through 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
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](#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:
{
"mcp": {
"kagi": {
"type": "local",
"command": ["uvx", "kagimcp"],
"enabled": true,
"environment": {
"KAGI_API_KEY": ""
}
}
}
}
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:
workflow, extract_count, limit, include_domains, exclude_domains, time_relative, after, before, file_type, lens_id
Example:
KAGI_HIDDEN_PARAMS="extract_count,after,before,time_relative,include_domains,exclude_domains"
Local Development
git clone https://github.com/kagisearch/kagimcp.git
cd kagimcp
uv sync
Run locally over stdio:
KAGI_API_KEY= uv run kagimcp
Run with streamable HTTP transport:
KAGI_API_KEY= uv run kagimcp --http --host 0.0.0.0 --port 8000
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 runs it in HTTP mode. The container respects $PORT so it works on any platform that injects one (Railway, Render, Cloud Run, Fly.io, etc.).
Build and run locally:
docker build -t kagimcp-hosted .
docker run --rm -p 8000:8000 kagimcp-hosted
Smoke test:
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"}'
To bump the version in production, edit the pin in the Dockerfile and redeploy.
Debugging
Inspect the published package:
npx @modelcontextprotocol/inspector uvx kagimcp
Inspect a local checkout:
npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp
The inspector is usually available at http://localhost:5173.
Prerelease Instructions
If using a prerelease build, the same installation instructions apply, but use uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp instead of uvx kagimcp (replace 1.0.0rc2 with whatever version you're wanting to install).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kagisearch
- Source: kagisearch/kagimcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.