MCP Server
Live on npm · v0.2.0TL;DR
npx -y @repull/mcp — 18 read-only tools for reservations, properties, listings, guests and conversations, plus starting a Connect flow. Works with Claude Code, Cursor, Claude Desktop, and any MCP-compatible AI.
Model Context Protocol server — makes Repull a native tool in Claude Desktop, Cursor, Claude Code, and any MCP-compatible AI agent. 18 tools covering reservations, properties, listings, guests and conversations, plus discovery, introspection and Connect.
It is read-only by design: it does not cancel or modify reservations, change prices, or message guests. The only writes start a Connect flow. Write tools will be added one at a time, each behind an explicit opt-in. If you need writes today, call the API directly or use an SDK.
How do I set up Repull in Cursor?
Add to ~/.cursor/mcp.json (or .cursor/mcp.json in your project):
{
"mcpServers": {
"repull": {
"command": "npx",
"args": ["-y", "@repull/mcp"],
"env": {
"REPULL_API_KEY": "sk_live_YOUR_KEY"
}
}
}
}How do I set up Repull in Claude Code?
Run once in your terminal:
claude mcp add repull --env REPULL_API_KEY=sk_live_YOUR_KEY -- npx -y @repull/mcp
To share it with your team, commit a .mcp.json at the project root with the same mcpServers block as the Cursor config above. The server only reads REPULL_API_KEY (and optionally REPULL_API_BASE_URL).
What tools are available?
18 tools, grouped as discovery, introspection, reads and Connect:
repull_list_endpointsSummary of every Repull REST endpoint, filterable by tag or textrepull_get_docsFetch a docs page by slug, or list available docsrepull_whoamiWorkspace snapshot: plan, usage and connected channelsrepull_health_checkConnectivity checkrepull_list_reservationsCursor-paginated reservations; filter by status, platform, listing and check-in datesrepull_get_reservationFull reservation detail: guest, dates, pricing, paymentrepull_list_propertiesCursor-paginated PMS properties, filterable by providerrepull_get_propertyFull property detail: address, amenities, photos, capacityrepull_list_listingsCursor-paginated native Repull listingsrepull_list_airbnb_listingsListings on the connected Airbnb accountrepull_list_guestsCursor-paginated guest profilesrepull_get_guestSingle guest profile with contacts and historyrepull_list_conversationsGuest message threads across every channelrepull_list_conversation_messagesMessages inside one thread, oldest firstrepull_list_connectionsActive PMS and OTA connections with statusrepull_list_connect_providersEvery channel you can connect, with required credentialsrepull_create_connect_sessionStart a Connect flow for one provider (accepts idempotency_key)repull_create_connect_picker_sessionStart a multi-channel picker session (accepts idempotency_key)Example Usage
Once configured, ask Claude naturally: