Skip to main content
Glama
Sidarau

nexwave-mcp-remote

by Sidarau
README.md
<!-- Enki fingerprint -->
# nexwave-mcp-remote — Try Day Club as an MCP plugin

**Rent cars with your AI. Manage the fleet with your AI.** Two streamable-HTTP
MCP servers for [Try Day Club](https://trydayclub.com), the LA rental club
(booking engine currently at [sketchyrides.com](https://sketchyrides.com) until
the domain cutover), one Fly.io machine, scale-to-zero.

| Surface | URL | Auth | Who |
|---|---|---|---|
| Renter / public | `https://trydayclub-mcp.fly.dev/mcp` | none | anyone's agent |
| Operator | `https://trydayclub-mcp.fly.dev/ops/mcp` | OAuth 2.1 login gate | fleet operator |

## Add it to your harness

**Claude Code / Desktop**
```bash
claude mcp add --transport http trydayclub https://trydayclub-mcp.fly.dev/mcp
```

**Codex** (`~/.codex/config.toml`)
```toml
[mcp_servers.trydayclub]
url = "https://trydayclub-mcp.fly.dev/mcp"
```

**ChatGPT** — Settings → Connectors → Developer mode → **+** → paste
`https://trydayclub-mcp.fly.dev/mcp`. Deep research works out of the box
(`search` + `fetch` follow the compat schema).

**Cursor** — Settings → MCP → new server → the same URL.

**Operators** use `/ops/mcp` instead — your client will open a sign-in page;
use your operator name + key.

## Tools

**Public** (read-only): `fleet_list` · `availability_check` · `quote_trip`
(live rates, dates, exact checkout math) · `search` / `fetch` (every public
page — fleet, terms, destination guides, blog).

**Ops** (`ops:read`): `ops_overview`, `ops_bookings` · (`ops:write`):
`ops_set_vehicle` — narrow edits: daily rate, delist, description.

Ops tools call the platform's bearer-gated `/api/v1/ops/*` bridge
([PR #4](https://github.com/Sidarau/nexwave-platform/pull/4)) and degrade
cleanly until it deploys.

## Develop

```bash
uv venv .venv --python 3.12 && uv pip install -p .venv/bin/python .
export NEXWAVE_API_KEY=…   # v1 API key (Vercel env / platform .env.local)
export NEXWAVE_OAUTH_PROFILES='{"alex":{"secret":"…","level":"owner"}}'
.venv/bin/nexwave-mcp --http --port 8378

.venv/bin/python scripts/verify_http.py http://127.0.0.1:8378
.venv/bin/python scripts/verify_oauth.py http://127.0.0.1:8378
```

stdio mode (local agents that prefer a spawned process): `nexwave-mcp`
with no `--http` serves the public tools.

## Deploy (Fly.io)

```bash
fly apps create nexwave-mcp
fly secrets set NEXWAVE_API_KEY=… NEXWAVE_BASE_URL=https://trydayclub-mcp.fly.dev \
  'NEXWAVE_OAUTH_PROFILES={…}'   # generate fresh secrets, never the test ones
fly deploy
```

`min_machines_running = 1` is deliberate: OAuth state is in-memory, and
idle auto-stop would wipe DCR registrations mid-flow.

## Registry (plugin-store discovery)

`server.json` is the official MCP registry manifest. Once the Fly deploy is
live and verified, publish with the registry CLI (`mcp-publisher`, GitHub
auth — the `io.github.sidarau/*` namespace is tied to the GitHub account):

```bash
mcp-publisher publish   # from this repo
```

— Enki · ZEUG-663

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: listing the fleet, checking availability, generating a quote, searching site content, and fetching page text. There is no meaningful overlap between the tools, and the search/fetch pairing is explicitly linked rather than ambiguous.

Naming Consistency3/5

All names are readable and use snake_case, but the naming conventions are mixed: fleet_list and availability_check are object_verb-style, quote_trip is verb_object, and search/fetch are bare verbs. The names are not chaotic, but they do not follow one predictable pattern.

Tool Count5/5

Five tools is well-scoped for this read-only rental fleet, availability, quoting, and website content server. Each tool earns its place and there is no bloat or thinness.

Completeness4/5

The pre-booking workflow is well covered: list the fleet, check availability, get a quote, and search/fetch site content. The only notable gap is the lack of a direct booking/reservation tool, though fleet_list provides booking URLs as a workaround.

Maintenance

ActivityMaintained
ResponsivenessNo issues