База знаний
Keenable — независимый веб-поиск для ИИ-агентов
Как подключить Keenable к Codex, Claude и своему агенту через MCP или REST API, выполнить первый поиск и проверить лимиты и ошибки.
СейчасЧто такое Keenable
- Что такое Keenable
- Возможности и их ограничения
- Подключение через MCP
- Настройка через CLI
- Ручное подключение
- Подключение через REST API
- Поиск с API-ключом
- Получение страницы
- Проверка подключения без API-ключа
- Полезные сценарии
- Добавить актуальные источники в ответы агента
- Искать только в официальной документации
- Воспроизвести состояние индекса в прошлом
- Тарифы и лимиты
- Ошибки, безопасность и границы применения
- Ссылки
- Следующий шаг
- Связанные материалы
Keenable предоставляет ИИ-агентам веб-поиск и извлечение содержимого страниц. Сервис подключается через MCP (Model Context Protocol, протокол подключения инструментов к ИИ-агенту), командную строку (CLI) или REST API. По заявлению компании, индекс содержит более 100 млрд документов, а задержка поиска в регионе US East составляет менее 250 мс на 95-м перцентиле. Независимого подтверждения этих показателей в рамках материала нет. Официальный сайт Keenable
Что такое Keenable
Keenable — поисковая инфраструктура для приложений на базе языковых моделей. Сервис возвращает ранжированные страницы, а затем может получить содержимое выбранного URL в Markdown.
Типичный рабочий цикл:
- Агент формулирует поисковый запрос.
- Поиск возвращает URL, заголовки, описания и фрагменты страниц.
- Агент выбирает подходящие источники.
- Инструмент Fetch получает содержимое выбранных страниц.
- Модель формирует ответ со ссылками на источники.
MCP подключает поиск как штатный инструмент агента. REST API подходит для собственного приложения или серверного конвейера, а CLI — для поиска из терминала и настройки MCP. Документация Keenable
Возможности и их ограничения
| Возможность | Что даёт |
| Веб-поиск | Ранжированные результаты с URL, заголовком, описанием и фрагментом текста |
| Извлечение страницы | Содержимое URL в Markdown из индекса или непосредственно с сайта |
| Фильтры | Ограничение по домену, времени публикации и времени добавления страницы в индекс |
| Поиск на выбранный момент | query_time исключает документы, добавленные в индекс позднее указанного времени |
| Целевая экстракция | prompt поручает модели извлечь из страницы только нужные данные |
| MCP, CLI и REST API | Три способа подключить поиск к агенту или приложению |
В Search API параметр max_results принимает значения от 1 до 50; без него возвращается до 10 результатов. snippet_max_length принимает значения от 180 до 10 000 символов. Документация Search API
Официальный сайт также представляет продукты SELECT и Time Machine. В проверенных снимках нет отдельной технической документации по SELECT, поэтому его нельзя считать общедоступным API только на основании маркетингового описания. Параметр query_time уже описан в Search API и CLI, а отдельный продукт Time Machine на сайте помечен как доступный по запросу раннего доступа. Доступность расширенных исторических функций следует уточнять перед внедрением.
Подключение через MCP
Размещённый сервер Keenable MCP работает по Streamable HTTP (потоковому HTTP-транспорту) по адресу https://api.keenable.ai/mcp и предоставляет два инструмента:
search_web_pages— веб-поиск;fetch_page_content— получение содержимого страницы в Markdown.
Настройка через CLI
На macOS или Linux установите CLI через Homebrew:
brew install keenableai/tap/keenable-cliАвторизуйтесь и настройте MCP для обнаруженных клиентов:
keenable login
keenable configure-mcp --allВ документации, проверенной 10 сентября 2026 года, перечислены Claude Code, Cursor, Windsurf, Codex и OpenCode. Для серверов и CI ключ можно сохранить командой keenable login --api-key. Документация CLI
Ручное подключение
Для клиента с поддержкой удалённого MCP:
{
"mcpServers": {
"keenable": {
"type": "streamable-http",
"url": "https://api.keenable.ai/mcp"
}
}
}Официальный репозиторий указывает для режима без ключа лимит 1 000 запросов в час. API-ключ передаётся в заголовке X-API-Key:
{
"mcpServers": {
"keenable": {
"type": "streamable-http",
"url": "https://api.keenable.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}Если клиент принимает только локальную команду stdio, используйте оболочку @keenable/mcp, которая перенаправляет вызовы на размещённый сервер:
{
"mcpServers": {
"keenable": {
"command": "npx",
"args": ["-y", "@keenable/mcp"],
"env": {
"KEENABLE_API_KEY": "YOUR_API_KEY"
}
}
}
}Ключ необязателен: без него удалите блок env. Официальный репозиторий MCP
Подключение через REST API
Поиск с API-ключом
curl -X POST "https://api.keenable.ai/v1/search" -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"query":"актуальные способы подключения MCP к Codex","max_results":5}'Ответ содержит поле query и массив results. Для каждого результата документация описывает поля title, url, description, snippet, published_at и acquired_at; даты могут отсутствовать.
Получение страницы
curl --get "https://api.keenable.ai/v1/fetch" -H "X-API-Key: YOUR_API_KEY" --data-urlencode "url=https://example.com/page"По умолчанию Fetch возвращает индексированную копию. Для прямого обращения к источнику, включая URL вне индекса, передайте live=true:
curl --get "https://api.keenable.ai/v1/fetch" -H "X-API-Key: YOUR_API_KEY" --data-urlencode "url=https://example.com/page" --data-urlencode "live=true"max_chars ограничивает объём результата; значение по умолчанию — 50 000 символов. Параметр prompt принимает инструкцию длиной до 2 000 символов и возвращает в поле content только результат экстракции. Документация Fetch API
Проверка подключения без API-ключа
У Search API и Fetch API есть публичные конечные точки без ключа. Для них обязателен заголовок 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}'Успешный ответ должен содержать исходный запрос и массив results. Публичное извлечение страницы выполняется так:
curl --get "https://api.keenable.ai/v1/fetch/public" -H "X-Keenable-Title: My Test Agent" --data-urlencode "url=https://example.com/page"Без X-Keenable-Title документация указывает ошибку 400 Missing app identifier. Публичные вызовы ограничиваются по IP и не расходуют кредиты; точную квоту перед боевой нагрузкой нужно сверять в актуальной документации.
Полезные сценарии
Добавить актуальные источники в ответы агента
Задача: получить сведения, появившиеся после обучения модели.
Подключите MCP, выполните поиск, выберите несколько результатов и получите содержимое страниц первичных источников.
Наблюдаемый результат: ответ содержит URL, по которым можно проверить ключевые утверждения.
Ограничение: присутствие страницы в выдаче не доказывает её достоверность. Агенту нужны правила приоритета источников и проверки противоречий.
Искать только в официальной документации
Передайте домен через site:
{
"query": "MCP authentication",
"site": "docs.keenable.ai"
}Наблюдаемый результат: URL в результатах относятся к выбранному домену.
Ограничение: фильтр не найдёт страницу, которой ещё нет в индексе. Если URL известен, используйте Fetch с live=true.
Воспроизвести состояние индекса в прошлом
{
"query": "финал футбольного турнира",
"query_time": "2026-06-13T00:00:00Z"
}query_time исключает страницы, добавленные в индекс позднее выбранного момента, и переносит на него точку отсчёта относительных фильтров.
Проверка: каждый результат имеет время добавления не позднее query_time, если поле acquired_at доступно.
Ограничение: это история индекса Keenable, а не полная копия веба. Дата без времени интерпретируется как 00:00:00 UTC; доступ к расширенным функциям Time Machine может потребовать раннего доступа.
Тарифы и лимиты
По данным официального сайта на 10 сентября 2026 года:
| Режим | Цена или квота | Условие |
| Публичные Search API и Fetch API | Без API-ключа; кредиты не расходуются | Ограничение по IP; точная квота в доступных снимках не указана |
| MCP без ключа | 1 000 запросов в час | Лимит указан в официальном репозитории MCP |
| Бесплатный объём | 100 000 запросов | Период на сайте не уточнён |
| Agent Builder | $4 за 1 000 запросов | Облачный доступ |
| Frontier | От $1 за 1 000 запросов | Выделенная мощность от 100 запросов/с; облачное или локальное размещение |
Цены, квоты и условия могут измениться, поэтому перед запуском сверяйте их на официальном сайте.
Ошибки, безопасность и границы применения
- Для публичных конечных точек передавайте
X-Keenable-Title, для авторизованных —X-API-Key. - Задайте сетевой таймаут, ограничьте число повторов и применяйте экспоненциальную задержку после ошибки ограничения частоты.
- Не отправляйте в поисковых запросах пароли, API-ключи, персональные данные и закрытые документы.
- Обычный Fetch возвращает индексированную копию и по умолчанию поддерживает только URL, которые Keenable уже индексирует; для прямого получения страницы нужен
live=true. - Доступ к авторизованным страницам и внутренним корпоративным системам нужно проверять отдельно.
- Поисковая выдача предоставляет источники, но не заменяет оценку их достоверности.
- Выдача формируется самим Keenable; в переданных официальных материалах нет обещания совпадения с Google или другим конкретным поисковиком.
- Перед передачей корпоративных данных проверьте договор, правила хранения и доступные гарантии для организаций.
Ссылки
Следующий шаг
Brave Search API — поисковый API для AI-агентов
Связанные материалы
- Статья: Редакция pimenov.ai на Codex app-server: архитектура собственного агентного приложения
- Блог: Firecrawl стал плагином для Codex: точный поиск и скрейпинг внутри агента
- База знаний: Graphify — превращаем папку с файлами в граф знаний для ИИ-агентов
Keenable подходит для задач, где агенту нужны управляемый веб-поиск, фильтрация по времени или воспроизводимое состояние поискового индекса.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.
Дальше по теме
Я сравнил обычный веб-поиск, Keenable и Firecrawl на 24 одинаковых запросах. Где каждый полезен, почему X-запрос нарушил лимит и какой контур я оставил.