FrugalFinder
FrugalFinder
Schnäppchenjagd als Dienstleistung mit bestem Preis-Leistungs-Verhältnis. Reiche ein, was du willst + warum + Budget; ein FrugalBot-Agent scannt regelmäßig und liefert die beste Wert-Gelegenheit – nicht die billigste, nicht die ausgefallenste.
Architektur (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
Endpunkte
Route | Methode | Zweck |
| GET | Web-UI: Wunschliste einreichen, Analyse ansehen |
| POST | Wunschliste erstellen → startet die erste FrugalBot-Analyse |
| GET/PATCH | Eine Wunschliste abrufen oder aktualisieren |
| GET/POST | Neuesten Scan abrufen / Scan jetzt auslösen |
| POST | Cron-Ziel – scannt alle fälligen Wunschlisten |
| POST | Telegram-Webhook-Eingang |
| POST | MCP-Streamable-HTTP-Endpunkt für externe KI-Agenten |
| POST | Campingplatz-Reservierungs-Watcher erstellen (Recreation.gov) |
| GET/PATCH | Reservierungs-Watcher auflisten/abrufen/aktualisieren |
| POST | Reservierungs-Scan jetzt auslösen |
| POST/GET | 3-Modell-LLM-Vergleichsscan / Leistungsübersicht |
| GET | Admin-Dashboard: LLM-Qualitäts-vs-Kosten-Monitor |
Campingplatz-Reservierungs-Watcher
Überwache mehrere Recreation.gov-Campingplätze auf freie Plätze in deinem Zeitfenster.
site_preference: "lakefront" bewertet Seeufer-Plätze höher, wenn sie durch Stornierungen frei werden.
Bewertung: Verfügbarkeit + Präferenzübereinstimmung + Ausstattung (Schatten, Haustiere, befestigte Zufahrt) − Preis.
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"}'Bekannte Einschränkung: Der datumsbasierte Verfügbarkeits-Endpunkt von Recreation.gov liefert derzeit 404 für anonyme
Aufrufer (API geändert). Der Scanner nutzt deren öffentliche Standort-Metadatensuche (verifiziert funktionierend:
Schleifen, Attribute, Status, Preis). Wenn datumsgenaue Verfügbarkeit wieder verfügbar ist, binde sie in
getCampgroundSites() ein – alles nachgelagerte verarbeitet sie bereits. ReserveAmerica (NC-Staatsparks)
blockiert anonyme API-Aufrufe; falls später nötig, als Anbieter mit Cookies/Session hinzufügen.
Multi-LLM-Vergleich („Qualitäts- vs. Kostenkontrolle“)
POST /api/compare lässt drei Modellstufen mit demselben Frugal-Bot-Prompt gegeneinander antreten:
Stufe | Standardmodell | Zweck |
|
| OpenRouters eigenes Best-Modell-Routing |
|
| günstigstes web-fähiges Modell |
|
| mittleres web-fähiges Modell |
Ein Jury-Modell (anthropic/claude-opus-4.1) bewertet dann alle drei blind (Reihenfolge gemischt) mit 1–10.
Jeder Lauf protokolliert Tokens/Kosten/Punktzahl/Siege im Leistungsspeicher; GET /api/compare aggregiert sie und
/admin.html visualisiert sie. Alle Slugs sind wöchentlich per Umgebungsvariable überschreibbar, ohne Codeänderungen:
PARETO_MODEL, BUDGET_WEB_MODEL, MID_WEB_MODEL, JUDGE_MODEL.
Verifizierter Live-Lauf: mid_web (Sonar) erzielte 9 vs. pareto (geroutet DeepSeek v4 flash) 8 vs. budget (GPT-4.1-nano) 4–7, Gesamtkosten ≈ 0,05 $/Vergleich.
Umgebungsvariablen (in Vercel-Dashboard → Settings → Environment Variables festlegen)
OPENROUTER_API_KEY(erforderlich) — LLM-AnbieterFRUGAL_MODEL(optional, Standardstealth/ox-alpha) — beliebiger OpenRouter-Modell-SlugKV_REST_API_URL,KV_REST_API_TOKEN(erforderlich für Produktionspersistenz) — aus einer Vercel-KV-Datenbank (Upstash), verbunden in Vercel → StorageWISHLIST_TOKEN(optional) — gemeinsames Geheimnis für/api/wishlistsCRON_SECRET(optional, aber empfohlen) — schützt/api/scan-allTELEGRAM_BOT_TOKEN,TELEGRAM_WEBHOOK_SECRET(optional) — Telegram-EingangMCP_TOKEN(optional) — gemeinsames Geheimnis für/api/mcpPARETO_MODEL,BUDGET_WEB_MODEL,MID_WEB_MODEL,JUDGE_MODEL(optional) — Überschreibungen für die LLM-Vergleichsstufen
Freigabepfade
Zur Wunschliste hinzufügen (Bookmarklet)
Erstelle ein Browser-Lesezeichen mit dem Namen Add to Wishlist und dieser 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))})()Klicke es auf einer beliebigen Produktseite an, um diesen Artikel als Wunschlisteneintrag zu übermitteln.
E-Mail (MVP-Hinweis)
Noch nicht angebunden – das MVP nutzt Web-UI + Telegram + Bookmarklet. E-Mail-Eingang ist eine natürliche v2-Erweiterung über einen eingehenden E-Mail-Webhook (z. B. Resend/Postmark → /api/wishlists).
Preisstufen (empfohlen)
Stufe | Rhythmus | Preisbegründung |
Kostenlos | täglich | ~30 LLM-Aufrufe/Monat/Artikel bei 0 $ Grenzkosten für kostenlose Stealth-Modelle ≈ vernachlässigbare Infrastruktur |
Power | stündlich | 0,01 $/Scan × ~720 Scans/Monat = 7,20 $/Monat pro Artikel – Preis bei 5 $/Monat pauschal, Marge kommt durch Bündeln mehrerer Wunschlisten in einem stündlichen Cron-Tick |
Pro (Zukunft) | stündlich + Prioritätswarteschlange + E-Mail-Digests | 12 $/Monat |
Die Einheitsökonomie funktioniert nur, weil der Analyzer alle fälligen Wunschlisten in einem einzigen Cron-Durchlauf (/api/scan-all) bündelt und so den Cold-Start-Overhead amortisiert.
Auth-Roadmap (nach MVP)
MVP jetzt: keine Authentifizierung, Einzelbenutzer, geschützt durch optionale gemeinsame Geheimnisse.
v1.1: Magic-Link-E-Mail-Login (Auth.js oder Clerk kostenloser Tarif) → benutzerspezifische Wunschlisten, keyed nach Benutzer-ID.
v2: Stripe-Checkout für Power/Pro-Tarife; Verbrauchsmessung = Anzahl der Scans pro Abrechnungszeitraum.
Lokale Entwicklung
npm install
vercel dev # needs `vercel link` once
npm test # node:test unit testsMCP-Nutzung (für externe Agenten wie ChatGPT/Claude/Codex)
Verbinde einen MCP-fähigen Client mit:
https://YOUR-DOMAIN.vercel.app/api/mcpHeader: x-mcp-token: <MCP_TOKEN>, falls gesetzt.
Verfügbare Werkzeuge:
submit_wishlist(item, use_case, budget, flexibility?, cadence?, source_url?)→ speichert + sofortige Analyseget_wishlist(id)→ vollständigen Datensatz inkl. neuester Analyse & Scan-Verlauf abrufenlist_wishlists()→ Zusammenfassung aller aktiven Wunschlistentrigger_scan(id)→ einen außerplanmäßigen Frugal-Bot-Scan erzwingensubmit_reservation_watch(campground_ids, date_window?, site_preference?, min_features?, max_price?, cadence?, notes?)→ Campingplatz-Watcher + erster Scan (Seeufer-Präferenz unterstützt)list_reservations()→ alle Reservierungs-Watcher mit letzten Ergebnissentrigger_reservation_scan(id)→ Reservierung jetzt neu scannenrun_model_comparison(item, use_case, budget, flexibility?)→ 3-stufiges LLM-Rennen + Jury-Urteilget_model_performance()→ aggregierte Qualitäts-/Kostenstatistiken pro Stufe
Aufrufende Agenten sollten es als einreichen + abfragen behandeln: einmal einreichen, dann get_wishlist in ihrem eigenen Rhythmus aufrufen (oder auf ihren eigenen Scheduler warten). Die MCP-Spezifikation hat keinen Push-Kanal für beliebige Updates, daher ist periodisches Abfragen das Standardmuster.
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