FrugalFinder
FrugalFinder
Поиск лучших предложений как сервис. Отправьте, что вы хотите + зачем + бюджет; агент FrugalBot периодически сканирует и возвращает лучшую ценную возможность — не самую дешевую и не самую навороченную.
Архитектура (MVP)
[Web UI / Telegram bot / MCP client agents]
↓ POST
Vercel serverless API ──→ Vercel KV store (wishlists + scans)
↓ ↑
FrugalBot analyzer │ scheduled re-scan
(OpenRouter LLM) ────────┘ (Vercel Cron, hourly tick)Related MCP server: Wishfinity +W MCP Server
Конечные точки
Маршрут | Метод | Назначение |
| GET | Веб-интерфейс: отправка списка желаний, просмотр анализа |
| POST | Создать список желаний → запускает первый анализ FrugalBot |
| GET/PATCH | Получить или обновить один список желаний |
| GET/POST | Получить последний скан / запустить скан сейчас |
| POST | Цель для cron — сканирует все подлежащие списки желаний |
| POST | Приём вебхуков Telegram |
| POST | MCP Streamable HTTP endpoint для внешних ИИ-агентов |
| POST | Создать наблюдатель за бронированием кемпинга (Recreation.gov) |
| GET/PATCH | Список/получение/обновление наблюдателей за бронированиями |
| POST | Запустить скан бронирований сейчас |
| POST/GET | Скан сравнения 3 моделей LLM / сводка производительности |
| GET | Админ-панель: монитор качества и стоимости LLM |
Наблюдатель за бронированием кемпинга
Отслеживайте несколько кемпингов Recreation.gov на предмет свободных мест в вашем окне дат.
site_preference: "lakefront" присваивает более высокий балл участкам у озера, когда они освобождаются из-за отмены.
Оценка: доступность + соответствие предпочтениям + характеристики (тень, животные, асфальтированный подъезд) − цена.
curl -X POST https://YOUR-DOMAIN.vercel.app/api/reservations \
-H 'Content-Type: application/json' \
-d '{"campground_ids":["233117","232665"],"date_window":"2026-10-09 to 2026-10-12","site_preference":"lakefront","cadence":"daily"}'Известное ограничение: конечная точка доступности по датам Recreation.gov в настоящее время возвращает 404 анонимным вызывающим (API изменился). Сканер использует их публичный поиск по метаданным сайта (проверено: петли, атрибуты, статус, цена). Когда доступность на уровне дат снова станет доступна, подключите её к getCampgroundSites() — всё ниже по конвейеру уже это обрабатывает. ReserveAmerica (государственные парки NC) блокирует анонимные вызовы API; добавьте как провайдера с cookies/сессией, если понадобится позже.
Сравнение нескольких LLM («контроль качества и стоимости»)
POST /api/compare запускает три уровня моделей на одном и том же промпте frugal-bot:
Уровень | Модель по умолчанию | Назначение |
|
| Маршрутизация лучшей модели от OpenRouter |
|
| самая дешёвая с поддержкой веба |
|
| среднего уровня с поддержкой веба |
Затем судья (anthropic/claude-opus-4.1) ранжирует все три вслепую (в случайном порядке), оценивая от 1 до 10. Каждый запуск записывает токены/стоимость/оценку/победы в хранилище производительности; GET /api/compare агрегирует их, а /admin.html визуализирует. Все слаги можно переопределять через переменные окружения еженедельно без изменения кода: PARETO_MODEL, BUDGET_WEB_MODEL, MID_WEB_MODEL, JUDGE_MODEL.
Проверенный живой запуск: mid_web (Sonar) получил 9 против pareto (маршрутизированный DeepSeek v4 flash) 8 против budget (GPT-4.1-nano) 4–7, общая стоимость ≈ $0.05 за сравнение.
Переменные окружения (задаются в панели Vercel → Settings → Environment Variables)
OPENROUTER_API_KEY(обязательная) — провайдер LLMFRUGAL_MODEL(необязательная, по умолчаниюstealth/ox-alpha) — любой слаг модели OpenRouterKV_REST_API_URL,KV_REST_API_TOKEN(обязательные для продакшн-персистентности) — из базы данных Vercel KV (Upstash), подключённой в Vercel → StorageWISHLIST_TOKEN(необязательная) — общий секрет для/api/wishlistsCRON_SECRET(необязательная, но рекомендуется) — защищает/api/scan-allTELEGRAM_BOT_TOKEN,TELEGRAM_WEBHOOK_SECRET(необязательные) — приём TelegramMCP_TOKEN(необязательная) — общий секрет для/api/mcpPARETO_MODEL,BUDGET_WEB_MODEL,MID_WEB_MODEL,JUDGE_MODEL(необязательные) — переопределения уровней сравнения LLM
Способы добавления
Добавить в список желаний (букмарклет)
Создайте закладку в браузере с названием Add to Wishlist и этим URL:
javascript:(function(){var u=location.href;var t=document.title;prompt('Send to FrugalFinder? Add budget/use hints:',t+'\n'+u)&&fetch('https://frugalfinder.vercel.app/api/wishlists',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({item:t,source_url:u,budget:'see notes',use_case:'shared from '+u,cadence:'daily'})}).then(r=>r.json()).then(d=>alert('Added! id='+d.id))})()Нажмите её на любой странице товара, чтобы отправить этот товар как запись в списке желаний.
Электронная почта (примечание к MVP)
Пока не подключено — MVP использует веб-интерфейс + Telegram + букмарклет. Приём писем — естественное дополнение v2 через вебхук входящей почты (например, Resend/Postmark → /api/wishlists).
Тарифные планы (рекомендуемые)
Уровень | Периодичность | Обоснование цены |
Free | ежедневно | ~30 вызовов LLM в месяц на позицию при нулевой предельной стоимости на бесплатных stealth-моделях ≈ незначительная инфраструктура |
Power | ежечасно | $0.01/скан × ~720 сканов/мес = $7.20/мес за позицию — цена $5/мес фиксированно, маржа получается за счёт группировки нескольких списков желаний в один часовой cron-тик |
Pro (в будущем) | ежечасно + приоритетная очередь + email-дайджесты | $12/мес |
Экономика на единицу работает только потому, что анализатор группирует все подлежащие списки желаний в один cron-проход (/api/scan-all), амортизируя накладные расходы на холодный старт.
Дорожная карта аутентификации (после MVP)
MVP сейчас: без аутентификации, один пользователь, защищено необязательными общими секретами.
v1.1: вход по магической ссылке по электронной почте (Auth.js или бесплатный тариф Clerk) → списки желаний для каждого пользователя, привязанные к ID пользователя.
v2: Stripe checkout для тарифов Power/Pro; учёт использования = количество сканов за расчётный период.
Локальная разработка
npm install
vercel dev # needs `vercel link` once
npm test # node:test unit testsИспользование MCP (для внешних агентов, таких как ChatGPT/Claude/Codex)
Подключите MCP-совместимый клиент к:
https://YOUR-DOMAIN.vercel.app/api/mcpЗаголовки: x-mcp-token: <MCP_TOKEN>, если задан.
Доступные инструменты:
submit_wishlist(item, use_case, budget, flexibility?, cadence?, source_url?)→ сохраняет и запускает немедленный анализget_wishlist(id)→ полная запись, включая последний анализ и историю скановlist_wishlists()→ сводка всех активных списков желанийtrigger_scan(id)→ принудительный внеочередной скан frugal-botsubmit_reservation_watch(campground_ids, date_window?, site_preference?, min_features?, max_price?, cadence?, notes?)→ наблюдатель за кемпингом + первый скан (поддерживается предпочтение участков у озера)list_reservations()→ все наблюдатели за бронированиями с последними результатамиtrigger_reservation_scan(id)→ повторный скан бронирования сейчасrun_model_comparison(item, use_case, budget, flexibility?)→ гонка трёх уровней LLM + вердикт судьиget_model_performance()→ агрегированная статистика качества/стоимости по уровням
Вызывающие агенты должны рассматривать это как отправка + опрос: отправьте один раз, затем вызывайте get_wishlist с той периодичностью, которая им подходит (или ждите собственного планировщика). В спецификации MCP нет push-канала для произвольных обновлений, поэтому периодический опрос — стандартный паттерн.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage personal expenses through natural language conversations. Supports adding, searching, and analyzing transactions with automatic categorization and financial insights.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to save product URLs to a user's Wishfinity wishlist. When recommending products, the AI can generate a clickable link that saves items for later purchase or gifting.631MIT
- FlicenseBqualityFmaintenanceEnables AI assistants to manage StashDog inventory through natural language commands, supporting item management, collections, tags, smart search, and URL imports with secure authentication.11
- AlicenseAqualityFmaintenanceEnables AI agents to search products, lookup barcodes, and manage shopping carts and wishlists using free e-commerce APIs.8MIT
Related MCP Connectors
Discover, search, invoke, and rate A2A (Agent-to-Agent) protocol agents.
Search and discover advertiser products through an open marketplace for AI agents.
Track, analyze, and act on your streaming and SaaS subscriptions from any AI agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/finallyaiagency/frugalfinder'
If you have feedback or need assistance with the MCP directory API, please join our Discord server