База знаний
Keenable — независимый веб-поиск для ИИ-агентов
Как подключить Keenable к Codex, Claude и своему агенту через MCP или REST API, выполнить первый поиск и проверить лимиты и ошибки.
СейчасЧто это такое
- Что это такое
- Основные возможности
- Подключение через MCP
- Установка CLI
- Ручное подключение к Codex
- Подключение через REST API
- Поиск с API-ключом
- Получение содержимого страницы
- Проверка без регистрации
- Полезные сценарии
- Добавить живой веб-поиск в Codex или Claude
- Искать только внутри нужного сайта
- Воспроизвести состояние веба на прошлую дату
- Тарифы и лимиты
- Ошибки и диагностика
- Ограничения и когда не подходит
- Ссылки
- Следующий шаг
- Связанные материалы
Keenable даёт ИИ-агентам два базовых инструмента: поиск по вебу и извлечение содержимого найденных страниц. Подключить сервис можно через MCP, командную строку или обычный REST API.
По данным компании, индекс содержит более 100 млрд документов, а задержка поиска в US East составляет менее 250 мс на 95-м перцентиле. Эти показатели заявлены самим Keenable и не проверялись в независимом тесте для этого материала. Официальная страница Keenable
Что это такое
Keenable — поисковая инфраструктура для приложений, которые работают с языковыми моделями. Сервис ищет страницы, возвращает ранжированные результаты, а затем может извлечь содержимое выбранного URL в чистом Markdown.
Основной рабочий цикл выглядит так:
- Агент формулирует поисковый запрос.
search_web_pagesвозвращает URL, заголовки, описания и фрагменты страниц.- Агент выбирает подходящие источники.
fetch_page_contentполучает полный текст выбранных страниц.- Модель собирает ответ со ссылками на источники.
Keenable рекомендует MCP как основной способ подключения к агентам. REST API пригодится, если вы строите собственный backend, а CLI удобен для установки и проверки из терминала. Быстрый старт
Основные возможности
| Возможность | Что даёт |
| Веб-поиск | Ранжированные результаты с URL, заголовком, описанием и фрагментом текста |
| Извлечение страницы | Содержимое URL в Markdown без самостоятельного парсинга HTML |
| Фильтр по сайту | Ограничение выдачи конкретным доменом |
| Фильтры по датам | Отбор по времени публикации или попадания страницы в индекс |
| Поиск в прошлом | query_time воспроизводит состояние индекса на выбранный момент |
| Живое извлечение | live=true запрашивает страницу у источника, даже если её нет в индексе |
| Целевая экстракция | Параметр prompt возвращает только нужные данные со страницы |
| MCP | Готовые поисковые инструменты для Codex, Claude, Cursor и других клиентов |
| REST API | Прямые HTTP-запросы из Python, TypeScript или любого backend |
Поиск возвращает до 50 результатов. Длину фрагмента можно задавать через snippet_max_length в диапазоне от 180 до 10 000 символов. Документация Search API
Подключение через MCP
MCP подходит, если Keenable должен стать штатным поисковым инструментом агента. Самый короткий путь начинается с официального CLI.
Установка CLI
На macOS через Homebrew:
brew install keenableai/tap/keenable-cliЗатем авторизуйтесь:
keenable loginCLI откроет браузерный вход по device-code flow. После авторизации он сможет настроить MCP для обнаруженных клиентов:
keenable configure-mcp --allСреди поддерживаемых клиентов указаны Codex, Claude Code, Claude Desktop, Cursor, Windsurf и OpenCode. Документация CLI
Ручное подключение к Codex
В конфигурацию Codex добавляется удалённый MCP-сервер:
[mcp_servers.keenable]
url = "https://api.keenable.ai/mcp"
http_headers = { "X-API-Key" = "keen_<your_key>" }Получить ключ можно в консоли Keenable.
keenable login и позволить CLI настроить подключение.После подключения агент получает два инструмента:
search_web_pages— поиск и ранжирование;fetch_page_content— получение текста страницы.
Официальная документация рекомендует отключить другие поисковые инструменты, выполняющие ту же функцию. Иначе агент может непредсказуемо выбирать между несколькими провайдерами. Настройка MCP
Подключение через REST API
REST API удобен для собственного агента, RAG-пайплайна или backend-сервиса.
Поиск с API-ключом
curl -X POST "https://api.keenable.ai/v1/search" \
-H "X-API-Key: keen_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"query": "актуальные способы подключения MCP к Codex",
"max_results": 5
}'Ответ содержит исходный запрос и массив results:
{
"query": "актуальные способы подключения MCP к Codex",
"results": [
{
"title": "Название страницы",
"url": "https://example.com/page",
"description": "Краткое описание",
"snippet": "Фрагмент содержимого страницы",
"published_at": "2026-08-20T10:00:00Z",
"acquired_at": "2026-08-21T08:12:34Z"
}
]
}Получение содержимого страницы
curl --get "https://api.keenable.ai/v1/fetch" \
-H "X-API-Key: keen_<your_key>" \
--data-urlencode "url=https://example.com/page"По умолчанию Keenable возвращает сохранённую в индексе копию. Для страницы, которой нет в индексе, используйте живой запрос:
curl --get "https://api.keenable.ai/v1/fetch" \
-H "X-API-Key: keen_<your_key>" \
--data-urlencode "url=https://example.com/page" \
--data-urlencode "live=true"max_chars ограничивает размер результата и по умолчанию равен 50 000 символов. Параметр prompt принимает инструкцию длиной до 2 000 символов и позволяет извлечь конкретные сведения, например тарифы или перечень поддерживаемых интеграций. Документация Fetch API
Проверка без регистрации
У Keenable есть публичные endpoints, которые работают без ключа. Для них требуется заголовок X-Keenable-Title с названием вашего приложения.
curl -X POST "https://api.keenable.ai/v1/search/public" \
-H "X-Keenable-Title: My Test Agent" \
-H "Content-Type: application/json" \
-d '{
"query": "Keenable web search API",
"max_results": 3
}'Проверочный запрос 25 августа 2026 года вернул:
- HTTP 200;
- исходное поле
query; - режим поиска
pro; - три объекта в массиве
results; - заголовки
X-RateLimit-Limit,X-RateLimit-RemainingиX-RateLimit-Reset.
Это минимальный наблюдаемый признак того, что поисковый endpoint доступен и возвращает ожидаемую структуру.
Публичный режим ограничен 1 000 запросами в час и максимум 10 запросами в секунду на один IP. Его стоит использовать для знакомства и smoke-тестов, поскольку доступная квота делится с другими пользователями того же внешнего IP. Аутентификация
Полезные сценарии
Добавить живой веб-поиск в Codex или Claude
Задача: агенту нужны сведения, появившиеся после обучения модели.
Подключите MCP и попросите агента найти текущую документацию или событие. Он выполнит поиск, выберет несколько результатов и извлечёт страницы.
Наблюдаемый результат: в ответе есть актуальные ссылки, а утверждения можно проверить по открытым источникам.
Ограничение: наличие страницы в выдаче не гарантирует её достоверность. Агенту всё равно нужны правила выбора первичных источников и проверки противоречий.
Искать только внутри нужного сайта
Задача: найти ответ в официальной документации без случайных обзоров.
Передайте домен через параметр site:
{
"query": "MCP authentication",
"site": "docs.keenable.ai"
}Наблюдаемый результат: выдача ограничена выбранным доменом.
Ограничение: фильтр не поможет, если нужная страница ещё не попала в индекс. В таком случае используйте известный URL и fetch с live=true.
Воспроизвести состояние веба на прошлую дату
Задача: выяснить, какие данные мог найти агент во время старого запуска.
{
"query": "финал футбольного турнира",
"query_time": "2026-06-13T00:00:00Z"
}query_time исключает документы, попавшие в индекс после выбранного момента. Это подходит для воспроизводимых исследований, тестовых наборов и разбора решений агента.
Наблюдаемый результат: результаты соответствуют прошлому состоянию индекса, а относительные фильтры дат отсчитываются от query_time.
Ограничение: это история индекса Keenable. Она может отличаться от полного состояния всего веба на ту же дату.
Тарифы и лимиты
Каждая организация получает 100 000 бесплатных запросов в месяц. Лимит возобновляется ежемесячно. После его исчерпания можно купить кредиты в консоли. Документация по кредитам
| Режим | Цена или квота | Скорость |
| Публичный без ключа | Бесплатно, до 1 000 запросов в час на IP | До 10 запросов/с |
| Авторизованный | 100 000 бесплатных запросов в месяц | 10 запросов/с на организацию |
| Agent Builder | $4 за 1 000 запросов после бесплатного объёма | Облачный доступ |
| Frontier | От $1 за 1 000 запросов | От 100 запросов/с, выделенная ёмкость |
Цены Agent Builder и Frontier опубликованы на странице тарифов Keenable. Повышенные лимиты, on-premises и выделенная инфраструктура относятся к индивидуальному Frontier-контракту.
В MCP каждый авторизованный вызов может возвращать фактическое списание в _meta["keenable/usage"]. Для учёта расходов надёжнее читать это поле, поскольку стоимость зависит от операции и условий организации.
Ошибки и диагностика
| Код | Что означает | Что проверить |
| 400 | Неверный формат ключа или отсутствует обязательный идентификатор приложения | Формат заголовков и JSON |
| 401 | Ключ отсутствует или недействителен | X-API-Key или Bearer token |
| 402 | Бесплатная квота и купленные кредиты закончились | Баланс в консоли |
| 403 | Ключ отключён или отозван | Состояние ключа и workspace |
| 429 | Превышена скорость запросов | Очередь, задержка и повтор с backoff |
Для production-интеграции добавьте таймаут, ограничение числа повторов и экспоненциальную задержку после 429. Не передавайте в поисковом запросе пароли, API-ключи, персональные данные и закрытые документы.
Ограничения и когда не подходит
fetchпо умолчанию читает индексированную копию и не является универсальным браузером или полноценным краулером.- Авторизованные страницы и внутренние корпоративные системы потребуют отдельного способа доступа.
- Стандартный лимит 10 запросов в секунду мал для крупного публичного продукта. Для такой нагрузки нужен Frontier-контракт.
- Сервис возвращает источники, но не проверяет их истинность за пользователя.
- Если нужна именно выдача Google или другого конкретного поисковика, независимый индекс Keenable не воспроизводит её.
- Перед отправкой чувствительных корпоративных данных следует отдельно проверить договор, условия хранения и доступные enterprise-гарантии.
Ссылки
Следующий шаг
Parallel — высокоточный поисковый API для AI-агентов
Связанные материалы
- Статья: Редакция pimenov.ai на Codex app-server: архитектура собственного агентного приложения
- Блог: Firecrawl стал плагином для Codex: точный поиск и скрейпинг внутри агента
- База знаний: Brave Search API — поисковый API для AI-агентов
Keenable имеет смысл обсуждать, если вашему агенту нужен управляемый веб-поиск, фильтрация по времени или воспроизводимое состояние выдачи.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Дальше по теме
История о том, как я вместе с Кодексом провел аудит семи VPS на TimeWeb: через API, read-only проверки, серверные паспорта, поиск уязвимостей, аккуратное усиление безопасности и во…