Kagi Search
официальныйПоиск в интернете с использованием поискового API Kagi
Что можно делать с Kagi Search MCP?
- Поиск в интернете с Kagi — запрашивайте результаты поиска по вебу, новостям, видео, подкастам или изображениям с опциональными выдержками со страниц и фильтрами через
kagi_search_fetch. - Извлечение содержимого страницы в формате Markdown — получайте полное очищенное содержимое любого URL с помощью
kagi_extract. - Применение линз Kagi к поисковым запросам — сужайте результаты по домену, типу файла или временному диапазону, используя параметры линз и фильтров в
kagi_search_fetch.
Документация
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 и аутентифицируйтесь с помощью вашего API-ключа Kagi.
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-сервера на вашей собственной инфраструктуре.
Требования
- API-ключ Kagi в переменной
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 (находится в Настройки -> Разработчик -> Редактировать конфигурацию):
{
"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
Добавьте в ваш файл конфигурации Kiro MCP (~/.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 | Обязательный API-ключ Kagi. |
FASTMCP_LOG_LEVEL | Уровень логирования, например ERROR. |
KAGI_SEARCH_TIMEOUT | Тайм-аут поиска в секундах. По умолчанию 10. |
KAGI_EXTRACT_TIMEOUT | Тайм-аут извлечения в секундах. По умолчанию 30. |
KAGI_MAX_RETRIES | Максимальное количество повторных попыток после первого запроса. По умолчанию 2; установите 0, чтобы отключить повторы. |
KAGI_HIDDEN_PARAMS | Параметры поиска, разделённые запятыми, которые нужно скрыть из схемы, видимой для LLM. |
Скрываемые параметры поиска:
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
Запуск с потоковой передачей по 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 --prerelease allow --from kagimcp==1.0.0rc2 kagimcp вместо uvx kagimcp (замените 1.0.0rc2 на версию, которую хотите установить).