← 返回
未分类 Key 中文

Tidy

Full-featured AI property management — addresses, cleanings, reservations, tasks, pros, and natural language messaging.
全功能AI物业管理 — 地址、清洁、预订、任务、专业人士与自然语言消息。
mchusma mchusma 来源
未分类 clawhub v1.1.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 367
下载
💾 0
安装
1
版本
#latest

概述

TIDY — AI Property Management Platform

TIDY is an AI-powered property management platform. This skill provides complete access to all TIDY capabilities: property management, cleaning scheduling, guest reservations, maintenance tasks, service professionals, and a natural language AI assistant.

Base URL: https://public-api.tidy.com

Interactive API docs: https://public-api.tidy.com/docs

MCP endpoint: https://public-api.tidy.com/mcp

Quick Start

The fastest way to interact with TIDY is the CLI or the natural language message-tidy endpoint.

CLI Quick Start

# Install
brew install tidyapp/tap/tidy-request   # or: npm i -g @tidydotcom/cli

# Authenticate
tidy-request signup    # new account
tidy-request login     # existing account

# Send any property management request in plain English
tidy-request "Schedule a deep clean for next Tuesday at my Beach House"
tidy-request "Create a guest reservation for April 10-14"
tidy-request "Report a broken window at address 123" --address-id 123

API Quick Start

# Get a token
curl -X POST https://public-api.tidy.com/api/v2/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"yourpassword"}'
# Returns: { "token": "abc123..." }

export TIDY_API_TOKEN="abc123..."

# Send a natural language request
curl -X POST https://public-api.tidy.com/api/v2/message-tidy \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"message":"Schedule a cleaning for next Tuesday"}'

Authentication

Sign Up

curl -X POST https://public-api.tidy.com/api/v2/auth/signup \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "jane@example.com",
    "password": "secret123"
  }'

Log In

curl -X POST https://public-api.tidy.com/api/v2/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"jane@example.com","password":"secret123"}'

Both return: { "token": "abc123..." }. Tokens do not expire.

Use Authorization: Bearer on all subsequent requests.

CLI Authentication

tidy-request signup    # interactive: prompts for name, email, password
tidy-request login     # interactive: prompts for email, password
tidy-request logout    # removes stored credentials

Credentials are stored at ~/.config/tidy/credentials. Set TIDY_API_TOKEN as an environment variable to override stored credentials.


MCP Server

TIDY exposes an MCP (Model Context Protocol) server for use with Claude Desktop, Claude Code, Cursor, and any MCP client.

Endpoint: https://public-api.tidy.com/mcp (Streamable HTTP, POST)

Available MCP Tools

ToolAuth RequiredDescription
---------
loginNoAuthenticate with email/password
signupNoCreate account
message_tidyYesSend natural language request (async)
get_message_tidyYesPoll for async message result
list_messages_tidyYesList all previous messages
list_addressesYesList all managed properties
create_addressYesAdd a new property
get_addressYesGet property details
update_addressYesUpdate a property
delete_addressYesRemove a property
list_bookingsYesList cleaning jobs
create_bookingYesSchedule a cleaning
get_bookingYesGet job details
update_bookingYesModify a job
cancel_bookingYesCancel a job
reschedule_bookingYesReschedule a job
list_booking_availabilitiesYesFind available time slots
list_guest_reservationsYesList guest stays
create_guest_reservationYesCreate a guest stay
get_guest_reservationYesGet reservation details
delete_guest_reservationYesCancel a guest stay
list_tasksYesList maintenance issues
create_taskYesReport a maintenance issue
get_taskYesGet task details
update_taskYesUpdate a task
delete_taskYesRemove a task
list_to_do_listsYesList cleaning checklists
create_proYesAdd a service professional

Connect from Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "tidy": {
      "url": "https://public-api.tidy.com/mcp"
    }
  }
}

Connect from Claude Code

claude mcp add tidy --transport http https://public-api.tidy.com/mcp

Stdio Proxy (for clients that only support stdio)

npx @tidydotcom/mcp-server
npx @tidydotcom/mcp-server --api-token YOUR_TOKEN

MCP Async Workflow

message_tidy is asynchronous:

  1. Call login or signup to get a token
  2. Call message_tidy with your request in plain English
  3. Note the returned id
  4. Poll get_message_tidy with that ID every 3–5 seconds
  5. When status is completed, read response_message for the result

Message TIDY (Natural Language AI)

Send any property management request in plain English and TIDY's AI handles it.

Send a message

curl -X POST https://public-api.tidy.com/api/v2/message-tidy \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Schedule a turnover cleaning before my next guest arrives on April 10",
    "context": { "address_id": 123, "guest_reservation_id": 456 }
  }'

Parameters:

  • message (required): natural language request
  • context (optional): { address_id, booking_id, issue_id, guest_reservation_id } to scope the request
  • response_schema (optional): JSON Schema describing desired structured response format

Status values: queuedin_progresscompleted or failed

Poll for result

curl -s https://public-api.tidy.com/api/v2/message-tidy/123 \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Poll every 3–5 seconds. When status is completed, the answer is in response_message.

List all messages

curl -s "https://public-api.tidy.com/api/v2/message-tidy?status=completed" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Addresses (Properties)

MethodPathDescription
---------
GET/api/v2/addressesList all addresses
GET/api/v2/addresses/:idGet address details
POST/api/v2/addressesCreate an address
PUT/api/v2/addresses/:idUpdate an address
DELETE/api/v2/addresses/:idDelete an address

Create an address

curl -X POST https://public-api.tidy.com/api/v2/addresses \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "123 Beach Rd",
    "city": "Miami",
    "postal_code": "33139",
    "country_code": "US",
    "address_name": "Beach House",
    "notes": {
      "access": "Lockbox code 4521 on side gate",
      "closing": "Leave keys on kitchen counter"
    },
    "parking": {
      "paid_parking": false,
      "parking_spot": "myspot",
      "parking_pay_with": "card",
      "max_parking_cost": 0,
      "parking_notes": "Park in driveway spot #2"
    }
  }'

Required: address, city, postal_code, parking (with paid_parking, parking_spot, parking_notes).

Optional: unit, country_code (default "US"), address_name, notes (with access, closing).

parking_spot values: myspot, meter, street, guest, paidlot.

parking_pay_with values: card, cash (default "card").


Jobs (Cleaning Bookings)

MethodPathDescription
---------
GET/api/v2/jobsList all jobs
GET/api/v2/jobs/:idGet job details
POST/api/v2/jobsCreate a job
PUT/api/v2/jobs/:idUpdate a job
POST/api/v2/jobs/:id/cancelCancel a job
POST/api/v2/jobs/:id/rescheduleReschedule a job

Service Types

KeyDescription
------
regular_cleaning.one_hour1-hour regular cleaning
regular_cleaning.two_and_a_half_hours2.5-hour regular cleaning
regular_cleaning.four_hours4-hour regular cleaning
deep_cleaning.two_and_a_half_hours2.5-hour deep cleaning
deep_cleaning.four_hours4-hour deep cleaning
turnover_cleaning.two_and_a_half_hours2.5-hour turnover cleaning
turnover_cleaning.four_hours4-hour turnover cleaning

Booking Statuses

scheduledin_progresscompleted or cancelled or failed

Create a job

curl -X POST https://public-api.tidy.com/api/v2/jobs \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address_id": 123,
    "service_type_key": "regular_cleaning.two_and_a_half_hours",
    "start_no_earlier_than": { "date": "2026-04-10", "time": "09:00" },
    "end_no_later_than": { "date": "2026-04-10", "time": "17:00" },
    "preferred_start_datetime": { "date": "2026-04-10", "time": "10:00" },
    "to_do_list_id": 789
  }'

Required: address_id, service_type_key, start_no_earlier_than (date + time), end_no_later_than (date + time).

Optional: preferred_start_datetime, to_do_list_id.

Cancel a job

curl -X POST https://public-api.tidy.com/api/v2/jobs/456/cancel \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Reschedule a job

curl -X POST https://public-api.tidy.com/api/v2/jobs/456/reschedule \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "service_type_key": "regular_cleaning.two_and_a_half_hours",
    "start_no_earlier_than": { "date": "2026-04-15", "time": "09:00" },
    "end_no_later_than": { "date": "2026-04-15", "time": "17:00" }
  }'

Booking Availability

curl -s "https://public-api.tidy.com/api/v2/booking-availabilities?address_id=123&service_type_key=regular_cleaning.two_and_a_half_hours" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Required: address_id, service_type_key.


Guest Reservations

MethodPathDescription
---------
GET/api/v2/guest-reservationsList reservations (optional address_id filter)
GET/api/v2/guest-reservations/:idGet reservation details
POST/api/v2/guest-reservationsCreate a reservation
DELETE/api/v2/guest-reservations/:idDelete a reservation

Create a reservation

curl -X POST https://public-api.tidy.com/api/v2/guest-reservations \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address_id": 123,
    "check_in": { "date": "2026-04-10", "time": "15:00" },
    "check_out": { "date": "2026-04-14", "time": "11:00" }
  }'

Required: address_id, check_in.date, check_out.date.

Optional: check_in.time, check_out.time.


Tasks (Maintenance / Issues)

MethodPathDescription
---------
GET/api/v2/tasksList tasks (filter by address_id, status, type, urgency, assigned_to_concierge)
GET/api/v2/tasks/:idGet task details
POST/api/v2/tasksCreate a task
PUT/api/v2/tasks/:idUpdate a task
DELETE/api/v2/tasks/:idDelete a task

Task Statuses

reportedin_progresscompleted

Task Urgency Levels

low, normal, high, emergency

Create a task

curl -X POST https://public-api.tidy.com/api/v2/tasks \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address_id": 123,
    "title": "Broken window in master bedroom",
    "description": "Left pane is cracked, needs glass replacement.",
    "type": "repair",
    "urgency": "high",
    "due_date": "2026-04-05",
    "assigned_to_concierge": true
  }'

Required: address_id, title, description, type.

Optional: status, urgency, due_date, assigned_to_concierge.


To-Do Lists

curl -s "https://public-api.tidy.com/api/v2/to-do-lists?address_id=123" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Service Professionals (Pros)

curl -X POST https://public-api.tidy.com/api/v2/pros \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Maria Garcia",
    "email": "maria@example.com",
    "phone": "+1-555-0199",
    "service_types": ["regular_cleaning"]
  }'

Required: name, email. Optional: phone, service_types.


CLI Reference

Install

brew install tidyapp/tap/tidy-request   # macOS/Linux via Homebrew
npm install -g @tidydotcom/cli          # via npm

Commands

tidy-request login                          # authenticate
tidy-request signup                         # create account
tidy-request logout                         # remove credentials

tidy-request "your request"                 # natural language request
tidy-request "message" --address-id 123     # with address context
tidy-request "message" --booking-id 456     # with booking context
tidy-request "message" --issue-id 789       # with task context
tidy-request "message" --reservation-id 101 # with reservation context

tidy-request --list                         # list all messages
tidy-request --get ID                       # get a specific message
tidy-request --help                         # help
tidy-request --version                      # version

Environment Variables

VariableDescriptionDefault
---------
TIDY_API_HOSTAPI base URLhttps://public-api.tidy.com
TIDY_API_TOKENBearer token (overrides stored credentials)

Complete API Endpoint Reference

MethodPathDescription
---------
POST/api/v2/auth/signupCreate account
POST/api/v2/auth/loginLog in
POST/api/v2/message-tidySend AI message (async)
GET/api/v2/message-tidy/:idPoll message result
GET/api/v2/message-tidyList messages
GET/api/v2/addressesList addresses
POST/api/v2/addressesCreate address
GET/api/v2/addresses/:idGet address
PUT/api/v2/addresses/:idUpdate address
DELETE/api/v2/addresses/:idDelete address
GET/api/v2/jobsList jobs
POST/api/v2/jobsCreate job
GET/api/v2/jobs/:idGet job
PUT/api/v2/jobs/:idUpdate job
POST/api/v2/jobs/:id/cancelCancel job
POST/api/v2/jobs/:id/rescheduleReschedule job
GET/api/v2/guest-reservationsList reservations
POST/api/v2/guest-reservationsCreate reservation
GET/api/v2/guest-reservations/:idGet reservation
DELETE/api/v2/guest-reservations/:idDelete reservation
GET/api/v2/tasksList tasks
POST/api/v2/tasksCreate task
GET/api/v2/tasks/:idGet task
PUT/api/v2/tasks/:idUpdate task
DELETE/api/v2/tasks/:idDelete task
GET/api/v2/to-do-listsList to-do lists
POST/api/v2/prosAdd a pro
GET/api/v2/booking-availabilitiesCheck availability

Full interactive documentation: https://public-api.tidy.com/docs


Date and Time Formats

  • Dates: YYYY-MM-DD (e.g., 2026-04-10)
  • Times: HH:MM 24-hour format (e.g., 09:00, 17:30)
  • Date-time fields use nested objects: { "date": "2026-04-10", "time": "09:00" }

Error Handling

All errors return:

{
  "object": "error",
  "type": "authentication_error",
  "code": "ErrorCode",
  "message": "Human-readable description",
  "invalid_params": []
}
HTTP StatusError TypeWhen
---------
400invalid_request_errorMissing or invalid parameters
401authentication_errorBad credentials or missing token
404not_found_errorResource does not exist
500internal_errorServer error

Detailed Reference Documentation

Related Skills

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-05-03 11:22

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

business-ops

Stripe

byungkyu
Stripe API 集成,支持托管 OAuth,实现对客户、订阅、发票、产品、价格和支付的可写金融集成。
★ 27 📥 26,278
business-ops

Calendar

ndcccccc
日历管理与日程安排。创建事件、管理会议,并实现多日历平台同步。
★ 7 📥 23,398
business-ops

Trello

steipete
使用 Trello REST API 管理看板、列表和卡片
★ 162 📥 41,532