Onthecheap Mcp

io.github.chrischall由 GitHub 帳號 chrischall 發布v1.2.0更新於 Nov 7, 2026

On the Cheap MCP — free and cheap events, deals and local guides across 14 US cities

概覽

AI 產生的概覽

針對 On the Cheap 網路的唯讀 MCP 伺服器,可搜尋美國 14 個城市的免費與低價活動、優惠和在地指南。

可以做什麼
  • 列出網路中的城市及其 site 鍵,並檢查某網站的公開 API 是否可連線
  • 依全文、分類、地點和日期範圍搜尋文章,並以 id、slug 或網址取得單篇文章全文(純文字或原始 HTML)
  • 列出某城市某天的活動,含時間、價格和場地,可只篩選免費項目
  • 取得整月的逐日概覽,含真實筆數和簡短預覽
  • 列出網站的分类與街區地點及其 id 和文章數,供篩選使用
適用情境
適合使用者詢問所涵蓋美國城市有哪些免費或低價去處、想要某天或某月的親子活動、節慶或優惠,或想比較多個城市時。它只提供唯讀查詢,不處理訂票或售票。
執行需求
以 stdio 方式在本機執行,通常透過 npx onthecheap-mcp 啟動,需要 Node.js。不需憑證、API 金鑰、環境變數或標頭,網站皆為公開內容並以 HTTPS 讀取。除網站清單外,每個工具都需傳入 site 鍵,於呼叫時提供而非事先設定。
安裝前請注意
所有工具皆為唯讀,不要求任何密鑰。資料來自第三方公開網站,活動、價格和可用性可能過時或有誤;過期優惠預設隱藏,除非設定 include_expired。分類和地點 id 依網站而異,必須針對同一城市解析。README 說明本專案由 AI 開發維護,請自行斟酌使用。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Onthecheap Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

onthecheap-mcp

MCP server for the On the Cheap network — local guides to free and cheap things to do across 14 US cities. Daily event listings with times, prices and venues, plus a searchable archive of deals and guides.

Developed and maintained by AI (Claude Code). Use at your own discretion.

No credentials required. Every site is public, so the server reads them server-side over plain HTTPS. There is nothing to configure beyond which city you want, and no browser extension involved.

Install

bash
npx onthecheap-mcp

Or as a Claude Code plugin:

/plugin marketplace add chrischall/onthecheap-mcp/plugin install onthecheap-mcp

Choosing a city

One server reads the whole network. Every tool takes a site argument naming the city to read — there is no default and no configuration step:

KeySiteArea
charlotteCharlotte On The CheapCharlotte, NC
denverMile High on the CheapDenver, CO
atlantaAtlanta on the CheapAtlanta, GA
chicagoChicago on the CheapChicago, IL
columbusColumbus on the CheapColumbus, OH
seattleGreater Seattle on the CheapSeattle–Tacoma
kansascityKansas City on the CheapKansas City
miamiSouth Florida on the CheapMiami / Broward / Palm Beach
orlandoOrlando on the CheapOrlando, FL
portlandPortland Living on the CheapPortland, OR
richmondRVA on the CheapRichmond, VA
southernmaineSouthern Maine on the CheapSouthern Maine
triangleTriangle on the CheapRaleigh / Durham / Chapel Hill
nationalLiving On The CheapUS-wide deals (no local events calendar)

Common aliases work too — milehigh, raleigh, rva, kc, southflorida. otc_list_sites reports the same list.

site is required rather than defaulted on purpose: a server that quietly fell back to one city would answer a question about Denver with Charlotte's data and give no sign anything was wrong. An unknown key is refused with the valid ones listed.

Tools

All tools are read-only. Every tool except otc_list_sites takes a required site argument. The two event tools reject national, which has no local events calendar — it is still searchable via the other tools.

ToolWhat it does
otc_list_eventsEverything on a given day — time, price, venue. free_only filters to no-cost listings. Defaults to today.
otc_events_month_overviewDay-by-day counts for a month, to find the busiest days. Each day's list is a preview; total is the real count.
otc_search_postsSearch articles by text, category, location and date range. Returns slim summaries by default.
otc_get_postOne article in full, as readable text or raw HTML. Accepts an id, slug, or URL.
otc_list_categoriesCategory ids and post counts, for filtering searches by topic.
otc_list_locationsLocal area ids and post counts, for filtering geographically.
otc_list_sitesThe cities in the network and their site keys. Takes no arguments.
otc_healthcheckConfirm one site is reachable; on failure error.kind is edge_blocked, http, timeout or transport.

Examples

What's free in Charlotte this Saturday?

Find kids' events in Lake Norman in August

Compare free things to do in Denver and Portland next weekend

Two things worth knowing

Retired deals are excluded by default. Each site parks expired offers in an expired category, so searches skip them and you don't get deals that no longer exist. Pass include_expired: true to search the archive. The category's id differs on every site, so it's resolved by slug at request time — a hardcoded id silently disables the filter elsewhere.

Category and location ids are per-site. Each site is a separate WordPress install, so id 13 is a different category on every one of them. Resolve ids against the same site you then search — an id borrowed from another city will filter to something unrelated rather than error.

Month overviews are previews, with honest counts. The calendar shows at most four listings per day. otc_events_month_overview reports each day's true total alongside the preview — call otc_list_events with a date for the complete schedule.

Configuration

None. The city is a per-call site argument, not an environment variable, so there is nothing to set up before use.

Development

bash
npm installnpm testnpm run build

See docs/OTC-API.md for the verified data surface, including the events calendar's US M-D-YYYY date routing (an ISO date is silently parsed as 1970), the month-view truncation, and why term ids are never hardcoded.

License

MIT

來源:README.md,提交 55c7223

工具

8

otc_search_posts

Search a city’s On the Cheap articles

Search and filter one "on the Cheap" site's articles — free and cheap things to do in that city, plus deals, festivals, kids activities and local guides. Pass the `site` key for the city (see otc_list_sites); the national hub is valid here and carries country-wide deals. Filter by full-text `query`, `category` or `location` id (see otc_list_categories / otc_list_locations), and publication date range. Category and location ids are per-site — resolve them against the SAME site you are searching. Retired deals live in an "expired" category and are excluded by default; set `include_expired` to search them too. Returns slim summaries by default — use otc_get_post for an article's full text. Read-only.

輸入參數tagpagesite必填viewafterquerybeforecategorylocationper_pageinclude_expired

otc_get_post

Get an On the Cheap article

Fetch one "on the Cheap" article in full by numeric id, slug, or full URL. Pass the `site` key for the city the article belongs to — an id or slug from one site will not resolve on another, and a full URL must match the site you name. Returns the article text as readable plain text by default; set `format` to "html" for the original markup. Read-only.

輸入參數post必填site必填format

otc_list_events

List a city’s events for a day

List everything happening in an "on the Cheap" city on a given date, from that site’s events calendar — each with its time, price (most are free) and venue. Pass the `site` key for the city (see otc_list_sites) and an ISO `date` (YYYY-MM-DD); the date defaults to today in that city. Set `free_only` to keep just the no-cost listings. The national hub has no local calendar and is not a valid `site` here. Use otc_get_post on a listing's url for the full write-up. Read-only.

輸入參數datesite必填free_only

otc_events_month_overview

Overview of a city’s events across a month

Day-by-day overview of a whole month from an "on the Cheap" city’s events calendar: for each day, the true number of listings and a short preview of them. Pass the `site` key for the city (see otc_list_sites). The calendar shows at most four listings per day, so `events` is a preview while `total` is the real count — call otc_list_events for a specific date to get that day's complete schedule. The national hub has no local calendar and is not a valid `site` here. Use this to find the busiest days or scan a month at a glance. Read-only.

輸入參數site必填month

otc_list_categories

List a city’s article categories

List one "on the Cheap" site's article categories with their ids and post counts (kids, music, food, festivals, art, museums, and so on). Pass the `site` key for the city (see otc_list_sites). Use an id to filter otc_search_posts by topic — ids are per-site, so use them only against the site they came from. Read-only.

輸入參數site必填

otc_list_locations

List a city’s locations

List one "on the Cheap" site's location taxonomy with ids and post counts — the neighbourhoods and surrounding areas it covers. Pass the `site` key for the city (see otc_list_sites). Use an id to filter otc_search_posts geographically — ids are per-site, so use them only against the site they came from. Read-only.

輸入參數site必填

otc_list_sites

List the On the Cheap sites

List every city in the "on the Cheap" network with the `site` key used to select it. This server reads them all — every other tool takes a `site` argument, and there is no default, so start here when you do not already know which key covers the city the user means. Read-only.

無需輸入參數。

otc_healthcheck

Check an On the Cheap site’s connectivity

Verify one "on the Cheap" site is reachable and its public API is responding. Pass the `site` key for the city (see otc_list_sites). The sites need no credentials, so this checks connectivity only. On failure `error.kind` names what broke: edge_blocked (a CDN/WAF refused the request before it reached the site), http, timeout or transport. Read-only.

輸入參數site必填

版本歷史

12
  1. v1.2.0最新Nov 4, 2026
  2. v1.1.8Oct 16, 2026
  3. v1.1.7Oct 10, 2026
  4. v1.1.6Oct 7, 2026
  5. v1.1.5Oct 5, 2026
  6. v1.1.4Oct 3, 2026
  7. v1.1.3Sep 25, 2026
  8. v1.1.2Sep 23, 2026
  9. v1.1.1Sep 23, 2026
  10. v1.1.0Sep 20, 2026
  11. v1.0.0Sep 19, 2026
  12. v0.4.3Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分