Skip to content

Guides

Connect over MCP

Waity is a remote MCP server with three read-only tools. Add it to any client that speaks MCP over HTTP.

Server URL

URL

https://api.waity.ai/mcp

It works without a key: each session gets 100 calls a day. With a key, send it as X-Api-Key or Authorization: Bearer.

A hosted connector that takes only a URL can carry the key in it: https://api.waity.ai/mcp?key=wk_…. Waity never logs query strings, but treat that URL like the key.

Add it to your client

Claude

  1. Open Settings, then Connectors.
  2. Choose Add custom connector.
  3. Name it Waity, paste the URL below and choose Add.
https://api.waity.ai/mcp

ChatGPT

  1. Open Settings, then Apps & Connectors.
  2. Under Advanced settings, turn on Developer mode.
  3. Create a connector named Waity with the URL below and no authentication.
  4. In a chat, pick Waity from the tools menu.
https://api.waity.ai/mcp

Claude Code

Run this in a terminal:

claude mcp add --transport http waity https://api.waity.ai/mcp

Then run /mcp in Claude Code to check the connection.

Cursor

Or add it to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "waity": {
      "url": "https://api.waity.ai/mcp"
    }
  }
}

VS Code

Or run MCP: Add Server, choose HTTP and paste the URL:

https://api.waity.ai/mcp

Or add it to .vscode/mcp.json:

{
  "servers": {
    "waity": {
      "type": "http",
      "url": "https://api.waity.ai/mcp"
    }
  }
}

Other clients

Add the URL, or this JSON where your client takes a config file:

{
  "mcpServers": {
    "waity": {
      "url": "https://api.waity.ai/mcp"
    }
  }
}

Tools

All three tools are read-only and return follow-up links as ready-made tool calls; find_waits and get_wait default to the minimal view.

find_waits

Places with their current wait: near a point, by name or place, or by id.

NameTypeDescription
latnumberLatitude in decimal degrees
lngnumberLongitude in decimal degrees
qstringA place name, city, airport code or ZIP (at most 100 characters). With lat/lng, results sort by distance.
idsstring[]Up to 25 place ids, returned in this order.
categoryer | urgent-care | dmv | airport | border[]Only these categories. Omit for all. Current coverage; see GET /v1/categories.
openbooleantrue: only places open now.
sortdistance | wait | totaldistance (default with lat/lng), wait, or total (needs lat/lng).
limitinteger1 to 25, default 10.
viewminimal | fullminimal (default) for the essentials, full for sources, timestamps, hours and alternatives.

get_wait

One place: now, usual, when it should drop, and nearby alternatives. A group id returns the lines inside it.

NameTypeDescription
idrequiredstringA place id from find_waits, e.g. pl_xaed7pr1f5.
undernumberThreshold in minutes. Defaults: er, urgent-care and border 30, dmv 20, airport 15.
travel_minnumberTravel time in minutes, for a leave-by time.
datestringLocal date YYYY-MM-DD, today to 7 days ahead, to plan a day.
latnumberThe user's latitude, for distances.
lngnumberThe user's longitude, for distances.
forecastbooleanWith view minimal, add a compact hourly forecast [{at, value}].
viewminimal | fullminimal (default) for the essentials, full for sources, timestamps, hours and alternatives.

get_history

What one place's waits were: hourly, daily or every reading. Needs a key; never predicts a visit.

NameTypeDescription
idrequiredstringA place id from find_waits (one place, lane or department, not a group), e.g. pl_xaed7pr1f5.
fromstringStart, inclusive: a date YYYY-MM-DD (local to the place) or an ISO 8601 date-time with offset. Default: 7 days before to.
tostringEnd, exclusive: a date YYYY-MM-DD (local to the place) or an ISO 8601 date-time with offset. A date means the end of that day. Default: now.
granularityraw | hour | dayhour (default): hourly avg, median, p90, min, max. day: one row per local day. raw: every posted reading.
tierofficial | place | agentWhich kind of source. Default: the place's displayed source.
cursorstringpage.next_cursor from the previous page; carries the range.
limitintegerRows per page. Caps: raw 1000, hour 336, day 366.

MCP and REST

Essential cookies keep the site working. Optional analytics cookies help us improve it. See our Privacy Policy and Terms.