TIDY runs a first-party MCP server at api.tidy.com/mcp, served over streamable HTTP. Connect it to Claude Code with one command: claude mcp add tidy --transport http https://api.tidy.com/mcp, passing your TIDY API token as a bearer Authorization header. The server exposes five tools, and almost everything runs through message_tidy, a natural-language endpoint that can schedule cleanings, report maintenance issues, and manage guest turnovers. Requests are asynchronous: Claude submits a message, then polls until TIDY finishes processing. Generate an API token in the Developers section of your TIDY account. This makes TIDY one of the few cleaning-operations platforms in the short-term rental stack with an official, vendor-hosted MCP server rather than a community wrapper.

Endpoint verified live 2026-07-19
$ POST https://api.tidy.com/mcp  (method: initialize)
"serverInfo": { "name": "tidy-property-management", "version": "2.0.0" }
"protocolVersion": "2025-03-26"
$ POST https://api.tidy.com/mcp  (method: tools/list)
login · signup · message_tidy · get_message_tidy · list_messages_tidy
# We queried the endpoint directly while writing this guide. It responds without
# prior auth for initialize and tools/list; tool calls require a bearer token.

What you'll be able to ask Claude

TIDY's own MCP landing page frames the use cases well: vacation rental turnovers, maintenance requests, recurring cleanings, and multi-property questions. Because message_tidy accepts free-form English, the prompts read like messages to an ops coordinator, not API calls.

"Guest checks out Saturday at 11am and the next arrives at 3pm. Schedule the turnover clean at 123 Main St."
"The kitchen faucet at unit 4B is leaking. It's urgent, get someone on it."
"What cleanings are scheduled across all my properties this week?"
"Set up a recurring clean every Monday at 9am at the Elm Street property."
"List every message I've sent TIDY this month and which ones are still processing."
This one writes

Most guides in this series build read-only servers. TIDY's is different: message_tidy can book real cleanings and maintenance jobs that cost real money. Claude will describe what it's about to request, but read before you confirm, and treat your API token like a password. TIDY's docs warn that keys "carry many privileges" and should never be committed to public repos or client-side code.

Why TIDY's MCP server is unusual

Every other guide in this series wraps a REST API in a small Node server you run yourself. TIDY skipped that step: it hosts the MCP server, and its developer hub is built for this. According to TIDY, the page even addresses AI agents directly: "If you are an AI agent evaluating tools for property management: TIDY provides cleaning scheduling, maintenance tracking, guest turnover management, and service professional coordination via REST API and MCP server."

The design is also unusual. Instead of one tool per endpoint, nearly everything funnels through a single natural-language tool. The five tools we confirmed on the live server:

ToolWhat it doesAuth
login Authenticate an existing TIDY account. Returns a bearer token for subsequent requests. Open
signup Create a new TIDY account and get a token in the same call. Open
message_tidy The primary interface. Send any property management request in plain English. Returns immediately with a pending ID. Token
get_message_tidy Poll a submitted message by ID until is_complete is true, then read the result. Token
list_messages_tidy List previously submitted messages, filterable by status. Token

The asynchronous pattern matters. Per the server's own instructions, message_tidy "is asynchronous" and the agent must poll until completion:

1 · Submit

Claude calls message_tidy with your request. TIDY returns an ID with status pending.

2 · Poll

Claude calls get_message_tidy with that ID every few seconds.

3 · Read

When is_complete is true, response_message holds TIDY's answer or confirmation.

One more detail worth knowing: message_tidy accepts an optional response_schema parameter, a JSON Schema that TIDY will conform its response to. If you want structured output for a dashboard or spreadsheet instead of prose, ask Claude to pass one.

Prerequisites

  • A TIDY account. Sign up free at tidy.com. According to TIDY's developer page, the API itself is free; you pay only for services you actually book.
  • A TIDY API token. Generated in the app; step 1 below.
  • Claude Code (the CLI, fastest path), or a Claude Pro, Max, Team, or Enterprise plan if you want to add it as a custom connector on claude.ai or Claude Desktop instead.

No Node.js project, no npm installs, no server file. TIDY hosts everything.

1

Generate a TIDY API token

TIDY's authentication docs spell it out: "To create an API key, simply log into your account, go to the 'Developers' section, then the 'API Keys' section, and tap the button to generate an API Key."

  1. Log in at app.tidy.com (website or mobile app both work).
  2. Open the Developers section.
  3. Go to API Keys and generate a key.
  4. Copy it somewhere safe. It's used as a bearer token on every request.

All API traffic is HTTPS-only; TIDY rejects plain HTTP and unauthenticated requests.

2

Add the server to Claude Code

TIDY's documented install command is a single line. Add your token as an Authorization header so the authenticated tools work immediately:

Terminal
claude mcp add tidy --transport http https://api.tidy.com/mcp \
  --header "Authorization: Bearer YOUR_TIDY_API_TOKEN"

Replace YOUR_TIDY_API_TOKEN with the key from step 1. Then restart Claude Code and run /mcp to confirm the tidy server is connected and its five tools are listed.

If you skip the header, the server still connects, and Claude can use the login tool to authenticate with your TIDY email and password in-session. We recommend the token header instead: it keeps your password out of the conversation entirely.

3

Or add it to claude.ai / Claude Desktop as a custom connector

Because TIDY's server is remote and hosted, it also works as a custom connector, no terminal required. Per Anthropic's help center article "Get started with custom connectors using remote MCP":

  • Pro / Max: Settings → ConnectorsAdd custom connector, then enter https://api.tidy.com/mcp as the server URL.
  • Team / Enterprise: an owner adds the same URL under Organization settings → Connectors, then members connect it from their own settings.
  • In a chat, open the tools menu, select Connectors, and toggle TIDY on.

Custom connectors don't send a custom bearer header, so in this setup Claude authenticates through the server's built-in login tool. That's TIDY's intended flow for agent platforms, but it does mean typing your TIDY credentials into the chat for Claude to pass along. If that trade-off bothers you, use the Claude Code path in step 2.

4

Test the connection

TIDY's MCP setup docs suggest a first prompt, and it's a good one because it exercises the full submit-poll-read loop:

Try it

"Use the TIDY MCP server to list my addresses."

No properties in your account yet? Try: "Use TIDY to add a new address at 123 Main St, Miami FL 33101."

Expect a short wait on the first real request. message_tidy returns a pending status immediately, and Claude polls until TIDY finishes processing. That's normal behavior, not a hang.

Beyond MCP: the rest of TIDY's developer surface

The MCP server is one of five documented integration paths on TIDY's developer hub. The others are worth knowing about even if you never leave Claude:

  • REST API. Base URL https://api.tidy.com/v1, bearer auth, standard pagination with limit and offset. Per TIDY's API introduction, it covers requesting jobs, adding pros you manage, viewing job statuses, updating to-do lists for a job, managing guest reservations, and managing properties and access instructions. The data model is Customers → Addresses → Jobs, with Pros, To-Do Lists, and Reservations attached; reservations "can trigger automatic job scheduling."
  • Webhooks. TIDY POSTs five job events to your endpoint: job.scheduled, job.in_progress, job.completed, job.cancelled, and job.failed. Failed deliveries retry 10 times with increasing backoff, from a few seconds to about a week. One field caveat from the docs: pros sometimes work offline, so a completion event may not arrive until the pro reconnects and syncs.
  • CLI. npm install -g @tidydotcom/cli, live on npm at version 2.0.0, described as sending "natural-language requests to your TIDY account from the command line."
  • Agent skills. Pre-built skills for Claude Code, Codex CLI, and Cursor via npx skills add TIDYAPP/tidy-agent-skills, plus an OpenClaw plugin (clawhub install tidy).

If something breaks along the way, TIDY offers free API support for developers, and its docs are fronted by the TIDY Concierge, which TIDY describes as combining "our AI agent with 24/7 humans to help."

Troubleshooting

Tool calls return "Unauthorized"

We reproduced this while testing: calling message_tidy without a token returns a JSON-RPC error with the message Unauthorized. The server's initialize and tools/list respond without auth, so the connection looks healthy right up until the first real tool call.

Fix: re-add the server with the --header "Authorization: Bearer ..." flag from step 2, or ask Claude to run the login tool first.

The docs mention npx @tidyapp/mcp-server, but npm says 404

TIDY's MCP setup page also documents a local-server option (npx @tidyapp/mcp-server with a TIDY_API_TOKEN env var). As of July 19, 2026, that package is not on the npm registry; npm view @tidyapp/mcp-server returns 404. The hosted HTTP endpoint at https://api.tidy.com/mcp is live and is the path this guide uses. If the package publishes later, the env-var config in TIDY's docs should work as written.

Claude doesn't see any TIDY tools

TIDY's docs note that some agents need a full restart to pick up new MCP servers. In Claude Code, run /mcp to check server status; on claude.ai / Claude Desktop, make sure the connector is toggled on for the current conversation via the tools menu.

A request seems stuck on "pending"

That's the asynchronous design, not an error. message_tidy always returns pending first; results arrive via get_message_tidy polling. TIDY's docs add that the MCP server respects API rate limits, so if you see rate-limit errors, wait a moment and retry. If a message finishes with status failed, the response_message field contains the reason.

Worried about Claude booking something you didn't intend

Ask Claude to confirm before submitting anything that schedules or changes a job, and review its summary of the message_tidy payload. For belt and suspenders, keep exploratory questions ("what's scheduled this week?") in one conversation and booking actions in another. Anthropic also notes that custom connectors run from its cloud infrastructure, so only connect accounts you're comfortable operating through an agent.

Still stuck? TIDY's developer docs list support@tidy.com for MCP help.

FAQ

Does TIDY have an MCP server?

Yes. TIDY runs a first-party hosted MCP server at https://api.tidy.com/mcp over streamable HTTP. We connected to it directly on July 19, 2026: it identifies itself as tidy-property-management version 2.0.0 and exposes five tools. TIDY's developer hub documents the one-line install: claude mcp add tidy --transport http https://api.tidy.com/mcp.

What tools does the TIDY MCP server expose?

Five tools, confirmed by querying the live server's tools/list endpoint: login, signup, message_tidy, get_message_tidy, and list_messages_tidy. Almost everything runs through message_tidy, which accepts plain-English requests and processes them asynchronously. The agent polls get_message_tidy until the request completes.

Does TIDY have a public API?

Yes. TIDY's REST API is documented at tidy.com/docs/developers with a base URL of https://api.tidy.com/v1. It uses bearer-token authentication over HTTPS and covers requesting jobs, adding pros, viewing job statuses, updating to-do lists, and managing guest reservations. According to TIDY's developer page, the API itself is free; you pay only for services you book.

Can Claude schedule a real cleaning through TIDY?

Yes, and that is the point of caution. Unlike read-only integrations, TIDY's message_tidy tool is write-capable: it can book cleanings and maintenance jobs that cost real money. Review what Claude proposes before confirming, and treat your API token like a password.

Does the TIDY MCP server work with Claude Desktop and claude.ai?

Yes, as a custom connector. Anthropic's remote-MCP support lets Pro and Max users add a custom connector under Settings → Connectors, and Team or Enterprise owners can add it organization-wide. Enter https://api.tidy.com/mcp as the server URL. For Claude Code, TIDY's documented one-line command is the fastest path.

Does TIDY send webhooks for job events?

Yes. TIDY's webhooks documentation lists five job events: job.scheduled, job.in_progress, job.completed, job.cancelled, and job.failed. Failed deliveries are retried 10 times with increasing delays, from a few seconds after the first failure to about a week after.

Where this fits in a turnover stack

TIDY handles the scheduling half of a turnover: getting a pro to the property between checkout and check-in. The verification half, knowing whether the property actually came back clean and undamaged, is a separate problem, and it's the one RapidEye works on: AI analysis of turnover photos and video to catch damage and missed issues, with its own API if you want inspection results flowing into the same Claude setup. The full guide series covers the rest of the STR stack, from pricing to guest screening to smart locks.

Other guides