Kagi MCP 服务器

by kagisearch

Kagi MCP 服务器。需要访问 Kagi 搜索 API(目前处于封闭测试阶段,邀请请联系 [email protected])。配置时使用环境变量 KAGI_API_KEY 和可选的 KAGI_SUMMARIZER_ENGINE。

Search & researchstdio or Streamable HTTPCommunity

Repository-wide counts · Cached 2026-03-07

Overview

The Kagi MCP 服务器 MCP server is a publicly available project. Review the upstream repository for installation instructions, supported tools, compatibility, permissions, and current maintenance status.

Configuration

Configuration, transport, authentication, and runtime requirements vary by project. Open the repository before connecting and use the smallest set of credentials and permissions required.

Open the Kagi MCP 服务器 repository to read the latest documentation.

KEEP EXPLORING

Compare source, connection, and authentication details before choosing an implementation.

View the complete category

Exa MCP 服务器

exa-labs

Community

一个模型上下文协议(MCP)服务器,允许像Claude这样的AI助手使用Exa AI Search API进行实时网页搜索、学术论文搜索、LinkedIn搜索等。需要通过环境变量EXA_API_KEY配置的Exa API密钥。

Tavily MCP 服务器

tavily-ai

Community

Tavily MCP 服务器是一个网页数据管理平台,提供搜索、提取、映射和爬取等工具。您可以: - **网页搜索**:使用实时网页搜索查找任何主题的最新信息 - **内容提取**:以 markdown 或文本格式从 URL 获取原始页面内容 - **网站爬取**:从 URL 开始爬取网站,提取内容并可配置深度 - **站点映射**:通过列出从基础 URL 开始的 URL 来映射网站结构 - **研究**:通过收集和整合多个来源的信息进行全面研究

Perplexity API Platform MCP Server

perplexityai

Community

The official MCP server implementation for the Perplexity API Platform, providing AI assistants with real-time web search, reasoning, and research capabilities through Sonar models and the Search API. Requires setting the PERPLEXITY_API_KEY environment variable for API access. Optional environment variables include PERPLEXITY_TIMEOUT_MS for request timeout and PERPLEXITY_PROXY for proxy configuration.

Perplexity Ask MCP Server

ppl-ai

Community

An MCP server implementation that integrates the Sonar API to provide Claude with unparalleled real-time, web-wide research. Requires setting the Sonar API key via the environment variable PERPLEXITY_API_KEY.

FROM THE SOURCE

Repository README

Build-time snapshot · Retrieved 2026-10-05

View original

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 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:

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=<YOUR_API_KEY_HERE> -- 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. 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": "<YOUR_API_KEY_HERE>"
      }
    }
  }
}

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=<YOUR_API_KEY_HERE> uv run kagimcp

Run with streamable HTTP transport:

KAGI_API_KEY=<YOUR_API_KEY_HERE> 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 <key> 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).