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 | Web UI: ウィッシュリストの送信、分析の表示 |
| POST | ウィッシュリストを作成 → 最初の FrugalBot 分析を実行 |
| GET/PATCH | 1つのウィッシュリストを取得または更新 |
| GET/POST | 最新スキャンのポーリング / 今すぐスキャンをトリガー |
| POST | Cron ターゲット — 期限が来たすべてのウィッシュリストをスキャン |
| POST | Telegram ウェブフックの取り込み |
| POST | 外部 AI エージェント向け MCP Streamable HTTP エンドポイント |
| 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 (ノースカロライナ州立公園) は匿名 API 呼び出しをブロックします。必要になったら、クッキー/セッションを使用してプロバイダーとして追加してください。
マルチ LLM 比較 ("品質対コスト管理")
POST /api/compare は、同じ frugal-bot プロンプトで3つのモデルティアを競わせます:
ティア | デフォルトモデル | 目的 |
|
| OpenRouter 自身の最適モデルルーティング |
|
| 最も安価な Web 対応モデル |
|
| 中級の Web 対応モデル |
ジャッジ (anthropic/claude-opus-4.1) が、3つすべてをブラインドで (順序をシャッフルして) ランク付けし、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(必須) — LLM プロバイダーFRUGAL_MODEL(オプション、デフォルトstealth/ox-alpha) — 任意の OpenRouter モデルスラッグKV_REST_API_URL、KV_REST_API_TOKEN(本番永続化に必須) — Vercel → Storage で接続された Vercel KV (Upstash) データベースからWISHLIST_TOKEN(オプション) —/api/wishlists用の共有シークレットCRON_SECRET(オプションだが推奨) —/api/scan-allを保護TELEGRAM_BOT_TOKEN、TELEGRAM_WEBHOOK_SECRET(オプション) — Telegram 取り込みMCP_TOKEN(オプション) —/api/mcp用の共有シークレットPARETO_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 は Web UI + Telegram + ブックマークレットを使用します。メール取り込みは、インバウンドメールウェブフック (例: Resend/Postmark → /api/wishlists) による自然な v2 追加です。
価格ティア (推奨)
ティア | 頻度 | 価格の根拠 |
無料 | 毎日 | 無料ステルスモデルでの限界コスト $0 で、アイテムあたり月約30回の LLM 呼び出し ≈ インフラはほぼ無視できる |
Power | 毎時 | $0.01/スキャン × 月約720スキャン = アイテムあたり月 $7.20 — 月額 $5 の定額で価格設定、利益は複数のウィッシュリストを1時間ごとの cron ティックにバッチ処理することで生まれる |
Pro (将来) | 毎時 + 優先キュー + メールダイジェスト | $12/月 |
ユニットエコノミクスが成立するのは、アナライザーが期限の来たすべてのウィッシュリストを単一の cron パス (/api/scan-all) にバッチ処理し、コールドスタートのオーバーヘッドを償却するからです。
認証ロードマップ (ポスト MVP)
現在の MVP: 認証なし、シングルユーザー、オプションの共有シークレットで保護。
v1.1: マジックリンクメールログイン (Auth.js または Clerk 無料ティア) → ユーザー ID でキー付けされたユーザーごとのウィッシュリスト。
v2: Power/Pro ティア向け Stripe チェックアウト。使用量メータリング = 請求期間ごとのスキャン数。
ローカル開発
npm install
vercel dev # needs `vercel link` once
npm test # node:test unit testsMCP の使用法 (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-bot スキャンを強制submit_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?)→ 3ティア LLM レース + ジャッジ判定get_model_performance()→ ティアごとの品質/コスト統計の集計
呼び出し側エージェントはこれを 送信 + ポーリング として扱う必要があります: 一度送信し、その後は自分に合った頻度で get_wishlist を呼び出します (または独自のスケジューラーを待ちます)。MCP 仕様には任意の更新のためのプッシュチャネルがないため、定期的なポーリングが標準的なパターンです。
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