Skip to main content
Glama

MCP WebSearch

MCP-сервер для Claude Code: веб-поиск через Perplexity Sonar и генерация изображений — всё одним ключом OpenRouter.

Написан под одну задачу: не давать агенту случайно потратить лишнее. Дорогая модель поиска не является дефолтом, а у генерации картинок есть отдельный тул для расчёта цены до вызова.

Установка

git clone git@github.com:DrSeedon/mcp-websearch.git ~/.claude/mcp-servers/websearch
cd ~/.claude/mcp-servers/websearch
npm install
cp .env.example .env   # и вписать свой ключ

Регистрация в Claude Code:

claude mcp add websearch node ~/.claude/mcp-servers/websearch/index.js \
  -e OPENROUTER_API_KEY=sk-or-v1-...

Требуется Node 18+ (используется нативный fetch и ESM).

Related MCP server: sysauto Ask MCP Server

Переменные окружения

Переменная

Обязательна

Назначение

OPENROUTER_API_KEY

да

Ключ OpenRouter. Проверяется при старте

HTTPS_PROXY / HTTP_PROXY

нет

Прокси, если прямой доступ к openrouter.ai закрыт

Ключ читается только из окружения — в коде его нет и быть не должно.

Тулы

Веб-поиск через Perplexity Sonar. Возвращает ответ, источники и стоимость запроса.

Модель

Цена

Когда

sonar

~$0.006

Дефолт. Факты, документация, обычный ресёрч

sonar-pro-search

~$0.03

Только если sonar уже не справился с ТЕМ ЖЕ вопросом

Других search-моделей нет — список закрыт на уровне кода.

Почему это важно: разница в цене пятикратная. Если сделать дорогую модель дефолтом, агент будет вызывать её не думая. Проверено на живой установке: 171 запрос из 425 ушёл по дорогому тарифу просто потому, что модель не указывали явно.

generate_image

Генерация изображений. Поддерживает референсные картинки на вход и соотношения сторон от 21:9 до 9:16.

Модель

Назначение

nano-banana

Дефолт, хорошее качество

nano-banana-lite

Бюджетный вариант

riverflow-fast / riverflow-pro / riverflow-max

Альтернативный движок, от быстрого к качественному

seedream

Ещё один вариант стиля

generate_image_cost

Считает стоимость генерации до вызова. Нужен, чтобы выбор модели был осознанным, а не «взял первую из списка».

Логи

requests.log (в .gitignore) — JSONL, по строке на вызов: [iso] tool: {json}.

  • search — запрос, полный ответ, источники, модель, токены, стоимость

  • generate_image — промпт, пути сохранения, размер, референсы; base64 в лог не пишется

  • рядом с картинкой в generated/ кладётся .json с тем же промптом и метаданными

Что не коммитится

.env, requests.log, generated/ (архив сгенерированных картинок), node_modules/. Логи и картинки содержат историю запросов — это приватные данные, им не место в репозитории.

Related MCP Connectors

Related MCP Servers