P ProhostAI · Developer portal
Developer portal · MCP setup

Connect your AI assistant to your properties.

Welcome AI agents — connect ProhostAI to Claude Desktop, Claude Code, OpenAI Codex, or any MCP-compatible client over OAuth 2.1 or API key.

Recommended — OAuth (one command, sign in through your browser, no API key to manage):

shell claude mcp add --transport http prohostai https://connect.prohost.ai/mcp

Claude Code discovers OAuth via our .well-known/oauth-protected-resource metadata, registers itself dynamically (RFC 7591), and walks you through sign-in.

Alternative — API key (for scripts, CI, or long-lived pinned keys). Add to .mcp.json in your project root:

json { "mcpServers": { "prohostai": { "command": "npx", "args": ["-y", "@prohostai/mcp-server"], "env": { "PROHOST_API_KEY": "ph_live_YOUR_KEY" } } } }
⚡ Try asking: "What reservations check in today?" or "Create a task to fix the AC at Beachfront Villa."

Available Tools 65 tools

assign_cleaning
Assign or unassign the primary cleaner on a cleaning.
block_dates
Block (mark unavailable) a list of dates on a listing's calendar.
bulk_assign_listing_tags
Assign every tag in ``tag_ids`` to every listing in ``listing_ids``.
bulk_delete_expenses
Delete multiple expenses by ID.
bulk_remove_listing_tags
Remove every tag in ``tag_ids`` from every listing in ``listing_ids``.
bulk_update_expenses
Update a common set of fields across multiple expenses in one call.
cancel_scheduled_message
Cancel a scheduled message that has not yet been sent.
create_cleaning
Schedule a new cleaning job for a listing.
create_expense_category
Create a new custom expense category for the account.
create_listing
Create a new manual property listing.
create_listing_tag
Create a new listing tag on the account.
create_task
Create a new task.
create_webhook_subscription
Create a webhook subscription.
delete_expense_category
Delete a custom expense category.
delete_listing_tag
Delete a listing tag and all of its assignments.
docs_append_section
Append a new heading-titled section to a doc.
docs_read
Read a Drive document by path or id.
docs_read_section
Read a single section of a doc by heading text.
docs_write
Replace a Drive document body.
docs_write_section
Replace a section's body.
draft_reply
Generate a non-persisting AI reply draft for a conversation.
drive_create
Create a Drive item (folder/doc/sheet).
drive_delete
Soft-delete a Drive item by path or id.
drive_get
Fetch a single Drive item by path or id.
drive_list
List children of a Drive folder by path.
drive_move
Move a Drive item to a new parent (by path).
drive_search
Search Drive items by name (case-insensitive substring).
get_availability
Get calendar availability for a listing over a date range.
get_conversation_messages
Get messages for a conversation.
get_dashboard_summary
Get a composite dashboard summary: today's check-ins/outs, pending tasks, unread conversations.
get_earnings_summary
Get earnings summary for a date range.
get_guidebook
Get guidebook content for a listing.
get_property_knowledge
Get all memories (property knowledge) for a listing, grouped by scope.
get_reservation
Get full details for a single reservation by ID.
list_expense_categories
List expense categories for the account.
list_listing_tags
List all listing tags on the account, optionally filtered by tag_type.
list_listings
List all listings (properties) for the account.
list_webhook_subscriptions
List active webhook subscriptions for the account.
publish_review_reply
Publish a previously-generated AI-authored review reply (an 'auto-review') to the upstream OTA.
schedule_message
Schedule a host message to be sent at a future time.
search_cleanings
Search cleanings.
search_conversations
Search conversations.
search_expenses
Search expenses.
search_owners
Search owners/investors.
search_reservations
Search and filter reservations.
search_reviews
Search guest reviews.
search_tasks
Search tasks.
send_message
Send a message in a conversation through the real delivery pipeline.
sheets_delete_row
Delete a row from a sheet by row id.
sheets_get
Fetch sheet metadata (row_count, schema) by path or id.
sheets_insert_rows
Bulk-insert rows into a sheet.
sheets_list
List sheets in the account.
sheets_query
Filter rows via a simple {column_id: value} equality DSL (like read_rows without sort).
sheets_read_rows
Read rows from a sheet.
sheets_schema
Fetch a sheet's column schema by path or id.
sheets_update_row
Partial-patch a row in a sheet by row id.
submit_feedback
Submit a bug report, feature request, or question to the ProhostAI team.
unblock_dates
Unblock (mark available) a list of dates on a listing's calendar.
update_calendar_days
Update price, availability, and/or minimum-stay for a listing's calendar.
update_cleaning_status
Transition a cleaning to a new status.
update_expense
Update fields on an existing expense.
update_expense_category
Rename an expense category.
update_listing_tag
Update one or more fields on an existing listing tag.
update_reservation
Update reservation notes.
update_task
Update a task's status, priority, description, or other fields.

Data & privacy

Tool calls only ever touch data the authenticated account can already see in ProhostAI. OAuth scopes and listing-scoped API keys are enforced on every call. See our privacy policy for what we collect, how long we retain it, and how to request deletion.