Вы платите $200 в месяц за Claude Max. Открываете Claude Code, просите агента поискать документацию — и получаете API Error: Rate limit reached. Не первый раз, Вы платите $200 в месяц за Claude Max. Открываете Claude Code, просите агента поискать документацию — и получаете API Error: Rate limit reached. Не первый раз,

SearXNG + Claude Code: бесплатный веб-поиск вместо $10 за 1000 запросов

2026/03/02 07:50
8м. чтение

Вы платите $200 в месяц за Claude Max. Открываете Claude Code, просите агента поискать документацию — и получаете API Error: Rate limit reached. Не первый раз, не десятый. Просто отказ. На GitHub по этому багу открыто больше дюжины issue — и ни один не закрыт. А если вы на API — ваш поисковый запрос стоит $0.01. Каждый. Я нашёл способ обойти оба ограничения за 10 минут.

Оглавление

  1. Боль, которую знает каждый пользователь Claude Code

  2. Как Anthropic зарабатывает на веб-поиске

  3. Решение: SearXNG через MCP

  4. Как работает SearXNG под капотом

  5. Что означает «запросы не покидают машину»

  6. Установка за 10 минут

  7. Итого

Боль, которую знает каждый пользователь Claude Code

Если вы работаете с Claude Code каждый день, вы наверняка видели это сообщение:

API Error: Rate limit reached

Это не теоретический сценарий. Это происходит прямо сейчас, при написании этой статьи. Я попросил Claude Code найти информацию через встроенный WebSearch — и получил отказ:

WebSearch("SearXNG metasearch engine setup guide 2026") → API Error: Rate limit reached

На GitHub у Claude Code открыты десятки issue с этой проблемой:

  • #27074: WebSearch "Rate limit reached" occurs only with Claude subscription, works fine with API key

  • #29579: API Error: Rate limit reached despite Claude Max subscription and only 16% usage

  • #22876: Rate limit 429 errors despite dashboard showing available quota

  • #27008: пользователь на плане за $200/мес — лимит при первом же вопросе, дашборд показывает 0% использования

Один разработчик из issue #27074 описал ситуацию так: WebSearch tool consistently returns API Error: Rate limit reached for every query when using a Claude (Max) subscription. The same queries work perfectly when using an API key. This has been ongoing for the past 3 days.

Три дня. Три рабочих дня без веб-поиска. На плане за $200 в месяц.

При этом Anthropic не публикует конкретные лимиты — описывая их как «бюджет на диалоги», который зависит от модели, длины контекста и используемых фич. Это как платить за безлимитный интернет и узнать, что «безлимит» — это 5 ГБ, но точную цифру вам не скажут.

Как Anthropic зарабатывает на веб-поиске

Давайте разберём, что стоит за встроенным WebSearch.

Согласно официальной документации: $10 за 1000 поисков. Это $0.01 за каждый запрос, плюс стандартная стоимость токенов за обработку результатов.

Казалось бы, цент — это ничего. Но в реальности агент, решающий задачу, может делать 5–15 поисков за один тёрн. Исследуете незнакомую технологию? 50+ поисков за сессию. Целый рабочий день с Claude Code — легко 100–200 поисков. Это $1–2 в день только на search fee.

На Reddit пользователи делятся счетами:

  • «I burned through ~$2000 in API credits over 2 weeks» (r/ClaudeAI)

  • «Hit 330M input tokens in the first two weeks» (r/ClaudeCode)

  • «$30–50 a day for me with Sonnet» (r/ClaudeCode)

  • «Total costs with API: $12k approx per month» (r/ClaudeCode)

А вот что на самом деле делает WebSearch за ваши деньги: отправляет ваш запрос в поисковую инфраструктуру Anthropic. Не в Google напрямую — а через их серверы. Вы платите не за поиск (поиск в Google бесплатен), а за посредника.

Подождите. Поиск в Google бесплатен. DuckDuckGo — бесплатен. Brave Search — бесплатен. Вы каждый день ищете в браузере и не платите ни копейки. Но когда то же самое делает Claude Code — это стоит $0.01 за запрос. Потому что запрос проходит через платный API Anthropic.

Решение: SearXNG через MCP

А что если Claude Code будет искать напрямую — как вы ищете в браузере? Без посредника, бесплатно, без лимитов?

Именно это делает связка SearXNG + MCP. Вот что происходит при том же запросе через SearXNG вместо WebSearch:

searxng_web_search("SearXNG metasearch engine setup guide 2026") → 23 результата за 3.6 секунды Движки: Google (1.3s), DuckDuckGo (2.0s), Brave (2.1s), Wikipedia (3.6s) Score: от 0.05 до 2.5 Стоимость: $0.00

Тот же запрос. Тот же Claude Code. Разница: один вернул ошибку, второй — 23 результата. Один стоит денег, второй бесплатен.

Model Context Protocol (MCP) — открытый стандарт, созданный самой Anthropic, для подключения внешних инструментов к Claude. Claude Code использует MCP-инструменты так же, как встроенные — разницы в UX нет. Но бэкенд можно выбрать любой.

Claude Code → MCP-клиент (JSON-RPC 2.0, stdio) ↓ MCP-сервер (mcp-searxng, Node.js процесс) ↓ HTTP GET http://localhost:8888/search?q=...&format=json ↓ SearXNG (localhost, Docker) ↓ (параллельно, в отдельных потоках) ┌────────────┼────────────┬────────────┬────────────┐ Google DuckDuckGo Brave Wikipedia Wikidata └────────────┼────────────┴────────────┴────────────┘ ↓ Агрегация, дедупликация, скоринг ↓ JSON-ответ → обратно по цепочке → Claude Code

MCP-сервер — обычный Node.js-процесс. Общается с Claude Code через stdin/stdout. Никаких API-ключей, никакого сетевого оверхеда.

Как работает SearXNG под капотом

SearXNG (25 500+ звёзд на GitHub) — open-source метапоисковик. У него нет собственного индекса. Он делает ровно то, что вы делаете руками: отправляет запрос в Google, DuckDuckGo, Brave и ещё ~245 движков, собирает результаты и отдаёт вам.

Разберём по шагам, что происходит внутри при каждом запросе. Исходный код — на GitHub, всё можно проверить.

Параллельные запросы в потоках

SearXNG не ходит в движки последовательно — он стреляет во все одновременно. Каждый движок — отдельный поток:

# searx/search/__init__.py for engine_name, query, request_params in requests: th = threading.Thread( target=PROCESSORS[engine_name].search, args=(query, request_params, self.result_container, ...), ) th.start()

Потоки идентифицируются по UUID. Главный поток ждёт завершения каждого с таймаутом. Не успел — движок помечается как unresponsive. Вот реальные данные с моего инстанса (из заголовка Server-Timing):

Google: 1.27 сек DuckDuckGo: 1.96 сек Wikidata: 2.01 сек Brave: 2.09 сек Wikipedia: 3.58 сек ← bottleneck ──────────────────── Итого: 3.58 сек (= время самого медленного движка)

Что SearXNG отправляет поисковикам

Каждый запрос формируется в OnlineProcessor.get_params() (searx/search/processors/online.py):

headers["User-Agent"] = gen_useragent() # случайный Firefox headers["Accept-Encoding"] = "gzip, deflate" headers["Cache-Control"] = "no-cache" headers["DNT"] = "1" # Do Not Track headers["Connection"] = "keep-alive" cookies = {} # всегда пустые

User-Agent генерируется случайно из пула (searx/data/useragents.json):

{ "os": ["Windows NT 10.0; Win64; x64", "X11; Linux x86_64"], "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}", "versions": ["148.0", "147.0"] }

Каждый запрос выглядит как новый пользователь с новым Firefox. Плюс SearXNG перемешивает TLS-шифры (shuffle_ciphers()), чтобы защитить от TLS-фингерпринтинга.

Дедупликация и скоринг

Результаты из всех движков собираются в потокобезопасный ResultContainer (searx/results.py).

Если один URL пришёл из Google и DuckDuckGo — результаты мержатся: берётся более длинный content, HTTPS предпочитается HTTP.

Скоринг простой и прозрачный:

score = 0 for position in result['positions']: score += weight / position

Результат на 1-й позиции в трёх движках: 1/1 + 1/1 + 1/1 = 3.0. На 10-й позиции в одном: 1/10 = 0.1. Чем больше движков подтвердили результат и чем выше позиция — тем выше score.

Что означает «запросы не покидают машину»

Это не маркетинговый слоган, а архитектурное свойство. Разберём каждый слой:

Данные

MCP-сервер

SearXNG

Google, DuckDuckGo и др.

Текст запроса

Да (stdin)

Да (localhost HTTP)

Да

IP пользователя

N/A (stdio)

127.0.0.1

IP вашей машины (не Anthropic)

User-Agent

Нет

Нет

Случайный Firefox

Cookies

Нет

Нет

Пустые

Referer

Нет

Нет

Нет

TLS fingerprint

N/A

N/A

Рандомизирован

Логирование

Нет (stateless)

Нет (по умолчанию)

Их дело

Сравните с WebSearch: ваш запрос уходит на серверы Anthropic → их инфраструктура ищет → результаты возвращаются. Anthropic видит каждый ваш поисковый запрос. С SearXNG запрос идёт localhost → ваш IP → поисковики. Anthropic не участвует.

MCP-сервер (mcp-searxng) — Node.js-процесс на вашей машине, общается с Claude Code через stdin/stdout. Никакой сети. SearXNG — Flask-приложение за granian (ASGI-сервер) в Docker. Не логирует запросы (debug: false). Не ведёт сессий. Stateless.

Поисковики видят ваш IP (как если бы вы сами зашли в Google), но с рандомным User-Agent, пустыми cookies и заголовком DNT. Для Google каждый ваш запрос выглядит как новый человек с нового компьютера.

Если нужна ещё более сильная анонимность — SearXNG поддерживает маршрутизацию через прокси и Tor (outgoing.using_tor_proxy: true). Но для разработческого использования это избыточно.

Установка за 10 минут

Шаг 1. SearXNG в Docker

mkdir -p ~/.searxng

# ~/.searxng/settings.yml use_default_settings: true search: formats: - html - json # обязательно для MCP server: secret_key: "сгенерируйте-случайную-строку" limiter: false outgoing: request_timeout: 10.0

docker run -d \ --name searxng \ --restart unless-stopped \ -p 8888:8080 \ -v ~/.searxng/settings.yml:/etc/searxng/settings.yml:rw \ searxng/searxng:latest

Проверяем:

curl -s "http://localhost:8888/search?q=hello&format=json" | python3 -m json.tool | head -10

Шаг 2. MCP-сервер

Создайте ~/.mcp.json:

{ "mcpServers": { "searxng": { "command": "npx", "args": ["-y", "mcp-searxng"], "env": { "SEARXNG_URL": "http://localhost:8888" } } } }

Альтернатива на Python: uvx mcp-searxng (SecretiveShell/MCP-searxng).

Шаг 3. Говорим Claude использовать SearXNG

Добавьте в ~/.claude/CLAUDE.md:

## Web Search - Always prefer the SearXNG MCP tool (`searxng_web_search`) over the built-in `WebSearch` tool - Use `web_url_read` from SearXNG MCP for reading web page content

Перезапустите Claude Code. Готово.

Проверяем

Попросите Claude Code что-нибудь поискать. Если он использует mcp__searxng__searxng_web_search вместо WebSearch — всё работает.

WebSearch

SearXNG

Per-search fee

$0.01

$0

50 запросов/день × 30 дней

$15/мес

$0

Rate limits

не опубликованы, ломаются

нет

Bedrock/Vertex

нет

да

Кто видит ваши запросы

Anthropic

только вы

Итого

Веб-поиск — это commodity. Он бесплатен в браузере и должен быть бесплатен для AI-агента. Anthropic берёт $0.01 за каждый поисковый запрос не потому, что поиск стоит столько, а потому что может.

SearXNG + MCP — это 10 минут настройки, которые:

  • Убирают $15–30/мес per-search fee

  • Убирают rate limits — никаких API Error: Rate limit reached

  • Убирают посредника — ваши запросы идут напрямую к поисковикам

  • Дают прозрачностьServer-Timing показывает, какие движки отвечали и сколько времени это заняло

Всё, что нужно: Docker-контейнер с SearXNG, npm-пакет mcp-searxng, одна строчка в CLAUDE.md. Поиск работает лучше (23 результата из 5 движков vs один источник у Anthropic), стоит $0 и не падает с rate limit.


Если хотите обсудить настройку, поделиться своим опытом оптимизации Claude Code или есть вопросы по интеграции — пишите в контакты профиля.

Ссылки:

  • SearXNG — GitHub (25 500+ stars)

  • SearXNG Documentation

  • mcp-searxng (npm)

  • MCP-searxng (Python)

  • Model Context Protocol — архитектура

  • Web Search Tool — документация и прайсинг

  • Claude API Pricing

  • Claude Code — управление затратами

  • Understanding Usage Limits

  • Bug #27074: WebSearch Rate Limit на подписке

  • Bug #29579: Rate limit при 16% использования

  • Bug #22876: 429 при доступной квоте


Если статья была полезна, ставьте плюс и подписывайтесь.

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу crypto.news@mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Управляемые выделенные ноды BNB: инфраструктура промышленного уровня для приложений BNB Chain

Управляемые выделенные ноды BNB: инфраструктура промышленного уровня для приложений BNB Chain

Запуск полной ноды BNB в продакшене требует больше, чем просто развертывание. Управляемые выделенные ноды BNB обеспечивают изолированную инфраструктуру, обработку обновлений и стабильный RPC
Поделиться
Onfinality2026/03/02 13:00
Индия предлагает Филиппинам местное производство вооружений в рамках программы модернизации

Индия предлагает Филиппинам местное производство вооружений в рамках программы модернизации

Оборонная промышленность Индии предлагает производственные линии на Филиппинах, поскольку Манила усиливает модернизацию своих вооруженных сил. Ашиш Кансал, сопредседатель Федерации
Поделиться
Bworldonline2026/03/02 12:21
Inverse Finance понесла убытки в размере приблизительно 240 000 $ в результате атаки, и пользователи могут продолжать сталкиваться с ликвидацией.

Inverse Finance понесла убытки в размере приблизительно 240 000 $ в результате атаки, и пользователи могут продолжать сталкиваться с ликвидацией.

PANews сообщило 2 марта, что согласно мониторингу BlockSec Phalcon, его система обнаружила подозрительную транзакцию, направленную на контракт Inverse Finance
Поделиться
PANews2026/03/02 13:18