Kagi Search
официальныйПоиск в интернете с использованием поискового API Kagi
Что можно делать с Kagi Search MCP?
- Поиск в интернете — Попросите ассистента искать в интернете, новостях, видео, подкастах или изображениях с помощью
kagi_search_fetch. - Фильтрованный поиск — Сужайте результаты по включаемым или исключаемым доменам, диапазонам дат, типам файлов или линзам Kagi с помощью
kagi_search_fetch. - Извлечение содержимого страниц — Запрашивайте дополнительные фрагменты страниц вместе с результатами поиска с помощью
kagi_search_fetch. - Извлечение полного содержимого страницы — Попросите ассистента получить полное содержимое страницы в формате Markdown с помощью
kagi_extract. - Размещённая конечная точка — Подключите любой MCP-клиент с поддержкой HTTP к
https://mcp.kagi.com/mcpи пройдите аутентификацию с помощью ключа API Kagi через авторизациюBearer.
Документация
Kagi MCP Server
MCP-сервер на базе Kagi API. Он предоставляет инструменты поиска и извлечения данных для клиентов, совместимых с MCP.
Инструменты
kagi_search_fetch— поиск в интернете, новостях, видео, подкастах и изображениях с возможностью извлечения содержимого страниц, применения фильтров и линз Kagi.kagi_extract— получение полного содержимого страницы в формате markdown.
Примечание: инструменты
kagi_fastgptиkagi_summarizerудалены. Планируется вернуть оба в одном из будущих выпусков.
Хостируемый сервер
Мы запустили хостируемый MCP-сервер по адресу https://mcp.kagi.com/mcp — установка не требуется. Подключите к нему любой MCP-клиент с поддержкой HTTP и пройдите аутентификацию с помощью ключа Kagi API.
OAuth2 пока не поддерживается (он есть в нашей дорожной карте), поэтому пока получите ключ API на панели управления и передайте его через HTTP-аутентификацию Bearer.
Пример для 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
Хотите запустить сервер самостоятельно? Инструкции по локальной установке uvx см. в разделе Настройка клиента, а инструкции по размещению HTTP-сервера на собственной инфраструктуре — в разделе Самостоятельное размещение.
Требования
- Ключ Kagi API в
KAGI_API_KEY. uvдля рекомендуемого способа установкиuvx.
Установите uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Настройка клиента
Codex CLI
codex mcp add kagi --env KAGI_API_KEY=<YOUR_API_KEY_HERE> -- uvx kagimcp
Codex записывает конфигурацию MCP в ~/.codex/config.toml.
Claude Desktop
Сначала установите uv.
MacOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Затем добавьте конфигурацию в Claude Desktop (откройте её через 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
Добавьте конфигурацию в файл конфигурации MCP для Kiro (~/.kiro/settings/mcp.json для глобальной конфигурации или .kiro/settings/mcp.json для конфигурации проекта), используя тот же JSON mcpServers, что и для Claude Desktop. Подробнее см. в документации Kiro MCP.
OpenCode
Откройте файл конфигурации OpenCode в ~/.config/opencode/opencode.json и добавьте следующее:
{
"mcp": {
"kagi": {
"type": "local",
"command": ["uvx", "kagimcp"],
"enabled": true,
"environment": {
"KAGI_API_KEY": "<YOUR_API_KEY_HERE>"
}
}
}
}
Примеры использования
- Поиск:
Who was Time's 2024 person of the year? - Извлечение:
extract the full content of https://en.wikipedia.org/wiki/Model_Context_Protocol
Конфигурация
| Переменная окружения | Описание |
|---|---|
KAGI_API_KEY | Обязательный ключ Kagi API. |
FASTMCP_LOG_LEVEL | Уровень ведения журнала, например ERROR. |
KAGI_SEARCH_TIMEOUT | Тайм-аут поиска в секундах. По умолчанию — 10. |
KAGI_EXTRACT_TIMEOUT | Тайм-аут извлечения данных в секундах. По умолчанию — 30. |
KAGI_MAX_RETRIES | Максимальное число повторных попыток после первого запроса. По умолчанию — 2; задайте 0, чтобы отключить повторы. |
KAGI_HIDDEN_PARAMS | Параметры поиска, разделённые запятыми, которые нужно скрыть из схемы, доступной LLM. |
KAGI_SEARCH_FORMAT | Формат результатов поиска: json (по умолчанию) или markdown (собственный markdown Search API, передаваемый без изменений). |
Параметры поиска, которые можно скрыть:
workflow, extract_count, limit, include_domains, exclude_domains, time_relative, after, before, file_type, lens_id
Пример:
KAGI_HIDDEN_PARAMS="extract_count,after,before,time_relative,include_domains,exclude_domains"
Локальная разработка
git clone https://github.com/kagisearch/kagimcp.git
cd kagimcp
uv sync
Локальный запуск через stdio:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp
Запуск с транспортом streamable HTTP:
KAGI_API_KEY=<YOUR_API_KEY_HERE> uv run kagimcp --http --host 0.0.0.0 --port 8000
Самостоятельное размещение
Режим HTTP поддерживает нескольких арендаторов: каждый запрос передаёт свой ключ API через заголовок
Authorization: Bearer <key>, а не через общую переменную окружения сервера, поэтому один
экземпляр может обслуживать нескольких пользователей. В репозитории есть Dockerfile, который устанавливает закреплённую версию kagimcp из PyPI и
запускает её в режиме HTTP. Контейнер использует $PORT, поэтому работает на любой
платформе, которая задаёт эту переменную (Railway, Render, Cloud Run, Fly.io и т. д.).
Сборка и локальный запуск:
docker build -t kagimcp-hosted .
docker run --rm -p 8000:8000 kagimcp-hosted
Проверка работоспособности:
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"}'
Чтобы обновить версию в рабочей среде, измените закреплённую версию в Dockerfile и выполните повторное развёртывание.
Отладка
Проверка опубликованного пакета:
npx @modelcontextprotocol/inspector uvx kagimcp
Проверка локальной копии репозитория:
npx @modelcontextprotocol/inspector uv --directory /ABSOLUTE/PATH/TO/kagimcp run kagimcp
Инструмент инспекции обычно доступен по адресу http://localhost:5173.
Инструкции по предварительным выпускам
При использовании предварительной сборки действуют те же инструкции по установке, но вместо uvx kagimcp используйте uvx --prerelease allow --from kagimcp==1.0.0rc2 kagimcp (замените 1.0.0rc2 на нужную вам версию).