# onthecheap-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/chrischall/onthecheap-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 2316  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/onthecheap-mcp

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

## Tools
Capabilities this server exposes over MCP:

- **otc_search_posts** — 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.
- **otc_get_post** — 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.
- **otc_list_events** — 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.
- **otc_events_month_overview** — 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.
- **otc_list_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.
- **otc_list_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.
- **otc_list_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** — 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.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "onthecheap-mcp": {
    "command": "npx",
    "args": ["-y","onthecheap-mcp"]
  }
}
```

## Documentation

## What onthecheap-mcp MCP server does

The onthecheap-mcp MCP server exposes read-only access to the On the Cheap network, a collection of local guides covering 14 US cities and a national deals site. It can return events with times, prices, and venues; search articles; retrieve an individual article; and provide the category, location, and site identifiers needed for more targeted requests.

The supported network includes Charlotte, Denver, Atlanta, Chicago, Columbus, Seattle–Tacoma, Kansas City, South Florida, Orlando, Portland, Richmond, Southern Maine, the Raleigh/Durham/Chapel Hill area, and the national Living On The Cheap site. Common aliases such as `raleigh`, `rva`, and `southflorida` are accepted, while `otc_list_sites` reports the available keys.

## How it works

Every tool except `otc_list_sites` requires a `site` value. This is selected for each request rather than configured globally, which prevents a query intended for one city from silently using another city's data. The event tools do not accept `national`, because that site has no local events calendar.

`otc_list_events` returns the schedule for a day and can restrict results to free listings with `free_only`. If no date is supplied, it uses the current day. `otc_events_month_overview` provides daily totals and a short preview for a month; use the daily event tool when the complete listing is needed.

Article searches can be narrowed by text, category, location, and date range. Search results are brief by default, while `otc_get_post` returns one article as readable text or raw HTML using an ID, slug, or URL. `otc_healthcheck` checks whether a selected site is reachable and reports error types such as `edge_blocked`, `http`, `timeout`, or `transport` when it cannot connect.

## Setup and configuration

Install the onthecheap-mcp MCP server with:

```bash
npx onthecheap-mcp
```

No API key, credential, browser extension, or environment variable is required. Public site data is fetched server-side over HTTPS. City selection belongs in each tool call, so there is no default city to configure.

For local development, the documented commands are `npm install`, `npm test`, and `npm run build`.

## Tools and capabilities

- `otc_list_events`: Lists events for a date, including time, price, and venue, with an optional free-only filter.
- `otc_events_month_overview`: Shows per-day event counts and limited previews for a month.
- `otc_search_posts`: Searches the article archive using content, category, location, and date filters.
- `otc_get_post`: Fetches one article in readable text or raw HTML.
- `otc_list_categories`: Returns category IDs and post counts for a selected site.
- `otc_list_locations`: Returns local-area IDs and post counts for a selected site.
- `otc_list_sites`: Lists network cities and their site keys without arguments.
- `otc_healthcheck`: Tests reachability for one site.

## Limitations and notes

Expired deals are omitted from searches by default. Set `include_expired: true` when historical offers are needed. Category and location IDs belong to individual site installations, so resolve them for the same city you later search; IDs from another site may select unrelated terms.

Month overviews are not complete calendars: each day includes at most four preview listings, while `total` is the actual count. Use `otc_list_events` with a specific date for the full schedule. Date routing uses the US `M-D-YYYY` format; the project documentation warns that an ISO date may be silently interpreted as 1970.

The onthecheap-mcp MCP server is read-only and depends on the public sites being reachable. A health check can distinguish several connection failure categories, but it does not change or repair source data.

_Full upstream README: https://allmcps.com/mcp/onthecheap-mcp/readme_

