Skip to main content
Glama

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:提交心愿单,查看分析

/api/wishlists

POST

创建心愿单 → 运行首次 FrugalBot 分析

/api/wishlists?id=

GET/PATCH

获取或更新一个心愿单

/api/scan?id=

GET/POST

轮询最新扫描 / 立即触发扫描

/api/scan-all

POST

Cron 目标 — 扫描所有到期的心愿单

/api/telegram

POST

Telegram webhook 摄取

/api/mcp

POST

供外部 AI 代理使用的 MCP Streamable HTTP 端点

/api/reservations

POST

创建露营地预订监视器(Recreation.gov)

/api/reservations?id=

GET/PATCH

列出/获取/更新预订监视器

/api/reservations/scan?id=

POST

立即触发预订扫描

/api/compare

POST/GET

3 模型 LLM 对比扫描 / 性能摘要

/admin.html

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 调用;如果以后需要,可添加为带 cookies/会话的提供者。

多 LLM 对比(“质量与成本控制”)

POST /api/compare 在同一个 frugal-bot 提示上竞速三个模型层级:

层级

默认模型

用途

pareto

openrouter/auto

OpenRouter 自己的最佳模型路由

budget_web

openai/gpt-4.1-nano(+web 插件)

最便宜的具备网络能力

mid_web

perplexity/sonar

中档具备网络能力

然后一个裁判(anthropic/claude-opus-4.1)对三者进行盲评(顺序打乱),评分 1–10。 每次运行都会将 tokens/成本/评分/胜场记录到性能存储中;GET /api/compare 聚合它们,/admin.html 可视化。所有 slug 均可通过环境变量每周覆盖,无需代码更改: PARETO_MODELBUDGET_WEB_MODELMID_WEB_MODELJUDGE_MODEL

已验证的实时运行:mid_web(Sonar)得分 9,pareto(路由到 DeepSeek v4 flash)得分 8,budget(GPT-4.1-nano)得分 4–7,总成本 ≈ $0.05/次对比。

环境变量(在 Vercel 仪表盘 → 设置 → 环境变量中设置)

  • OPENROUTER_API_KEY(必需)— LLM 提供者

  • FRUGAL_MODEL(可选,默认 stealth/ox-alpha)— 任意 OpenRouter 模型 slug

  • KV_REST_API_URLKV_REST_API_TOKEN(生产持久化必需)— 来自在 Vercel → 存储中附加的 Vercel KV(Upstash)数据库

  • WISHLIST_TOKEN(可选)— /api/wishlists 的共享密钥

  • CRON_SECRET(可选但推荐)— 保护 /api/scan-all

  • TELEGRAM_BOT_TOKENTELEGRAM_WEBHOOK_SECRET(可选)— Telegram 摄取

  • MCP_TOKEN(可选)— /api/mcp 的共享密钥

  • PARETO_MODELBUDGET_WEB_MODELMID_WEB_MODELJUDGE_MODEL(可选)— LLM 对比层级覆盖

分享路径

添加到心愿单(书签小工具)

创建一个名为 添加到心愿单 的浏览器书签,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 + 书签小工具。电子邮件摄取是自然的 v2 补充,可通过入站电子邮件 webhook(例如 Resend/Postmark → /api/wishlists)实现。

定价层级(推荐)

层级

频率

价格理由

免费

每日

~30 次 LLM 调用/月/项目,免费 stealth 模型边际成本为 $0 ≈ 基础设施可忽略

高级

每小时

$0.01/次扫描 × ~720 次扫描/月 = $7.20/月/项目 — 定价为 $5/月固定,利润来自将多个心愿单批量合并到一次每小时 cron 触发中

专业(未来)

每小时 + 优先队列 + 电子邮件摘要

$12/月

单位经济性之所以可行,是因为分析器将所有到期的心愿单批量合并到一次 cron 遍历中(/api/scan-all),摊销了冷启动开销。

认证路线图(MVP 之后)

  1. MVP 现在:无认证,单用户,由可选共享密钥保护。

  2. v1.1:魔法链接电子邮件登录(Auth.js 或 Clerk 免费层)→ 按用户 ID 键控的每用户心愿单。

  3. v2:Stripe 结账用于高级/专业层级;用量计量 = 每个计费周期的扫描次数。

本地开发

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-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 规范没有用于任意更新的推送通道,因此定期轮询是标准模式。

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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