# Bunce > Bunce is a revenue management system for hospitality properties: AI-driven dynamic pricing that moves room rates towards a target ADR and occupancy using demand, event and competitor signals, and syncs approved prices to the property management system (Mews and Cloudbeds today). Bunce exposes an MCP server so an AI assistant can work with a property under access its owner grants. Website: https://bunce.app Contact: hello@bunce.app MCP server: https://api.bunce.app/mcp Guide for connecting an assistant: https://bunce.app/agents ## What Bunce does - Holds one canonical price per property, room category and date, and moves it towards the owner’s target ADR and occupancy. - Scans competitors overnight, reads demand and pickup, and proposes rate changes with the reasoning and the guardrails shown. - Applies changes under the owner’s autonomy mode: view only, approve each proposal, or auto-apply within standing approvals. - Syncs approved prices two ways with the property management system and records every change. ## MCP server Address: https://api.bunce.app/mcp Protected-resource metadata: https://api.bunce.app/.well-known/oauth-protected-resource What a connected assistant gets: - The Bunce Guide: The same guide Bunce’s own agent reads before acting: how prices are built, how the market is read, how proposals and approvals work, and what an owner’s standing instructions mean. Served page by page, on request. - Tools scoped to the access: Tools for exactly the areas you ticked — the pricing grid, demand and pickup, the competitor set and its prices, reports, the property’s memory — each one refusing anything outside the access. - The operating context: The property’s operating context in one call: currency, time zone, autonomy mode, the approval queue and the standing instructions, so an assistant starts a conversation already knowing where it stands. How an owner connects an assistant: 1. Add Bunce to your assistant. Paste the Bunce address wherever your assistant asks for an MCP server. In Claude Code that is one command; in Claude, Cursor and most others it is a custom connector with this address. 2. Sign in when it asks. Your assistant sends you to Bunce’s ordinary sign-in. No API keys, no settings to find first. 3. Approve what it may do. The first time it reaches for Bunce, it gives you a link to a Bunce page where you tick which of your properties it may see, what it may do on them, and for how long. Approve, go back, and it carries on. Claude Code: ``` claude mcp add -t http bunce https://api.bunce.app/mcp ``` Other MCP clients (configuration block): ```json { "mcpServers": { "bunce": { "type": "http", "url": "https://api.bunce.app/mcp" } } } ``` Protocol facts, as implemented: - Protocol revision 2026-07-28, and only that one: no initialize handshake, no session. Streamable HTTP with JSON responses over POST; GET is not served. Every request carries its protocol version in _meta and in the MCP-Protocol-Version header, its method in Mcp-Method, and the tool or resource it names in Mcp-Name. server/discover returns the supported revision, capabilities and identity. - Authorisation: OAuth 2.1 with PKCE and a resource indicator. The server answers an unauthenticated request with 401 and a WWW-Authenticate challenge that names its protected-resource metadata. - Clients register themselves. Client ID Metadata Documents are the preferred path; Dynamic Client Registration is accepted for clients that still use it. Nothing is pre-registered for you. - Sign-in is the property owner’s Bunce account. A token carries who signed in and which client asked; it carries nothing about a property. - Every Bunce tool is listed from the first call, and the list never changes shape. A fresh session is unbound: every Bunce tool answers access_not_chosen with an approval link the person opens in Bunce to choose their properties and permissions, and a client that declares URL-mode elicitation receives that link as an input_required result it can open itself. Once approved, list_my_access lists the chosen properties and use_access switches between them; a tool the access does not cover answers capability_not_granted and names the capability. - The Bunce Guide is served as resources under bunce://guide/ and through the bunce_guide tool, which walks the same tree one page at a time. - Every tool call is recorded and rate-limited per access. A call that changes something and is repeated with identical arguments within fifteen minutes is answered from the first result rather than run twice, so a transport retry is safe. ## Access an owner can grant Access is per property and per area. Reading an area never permits changing it; each change is its own permission. - Bookings: Reservations, occupancy, and booking pace. Permissions: `bookings:read` (Read reservations, occupancy, and pickup). - Market: Competitor set, competitor prices, and external market scans. Permissions: `market:manage` (Add, remove, and re-map tracked competitors); `market:read` (Read the competitor set and the prices already collected for it); `market:scan` (Trigger paid external competitor scans). - Memory: What the property agent remembers. Permissions: `memory:read` (Read stored property knowledge); `memory:write` (Create, edit, and archive stored property knowledge). - Messaging: Messages that leave Bunce and reach a person, and where they are delivered. Permissions: `messaging:manage` (Change where notifications are delivered, and switch them off); `messaging:send` (Send messages to the property owner and stakeholders). - Pricing: Room rates, rate bounds, and pricing targets. Permissions: `pricing:apply` (Commit price and bound changes to the property); `pricing:propose` (Create pricing changes for the owner to review); `pricing:read` (Read prices, bounds, targets, and simulations). - Property: Property profile, room structure, and the event calendar. Permissions: `property:manage` (Edit the property profile, room structure, and event calendar); `property:read` (Read the property profile, room structure, and event calendar). - Reports: Saved report definitions and their generated artifacts. Permissions: `reports:manage` (Create, edit, and delete saved report definitions); `reports:read` (Read saved report definitions and previously generated artifacts); `reports:run` (Execute saved reports, which consumes the property analysis budget). - Support: Requests to Bunce's own engineering team. Permissions: `support:request` (Tell Bunce's engineers what this property's agent is missing). - Tasks: The property task ledger. Permissions: `tasks:manage` (Create, update, and close tasks); `tasks:read` (Read the task ledger). ## What stays with the owner - No keys: Your assistant signs in as you, through Bunce’s own sign-in. There are no API keys to create, copy or lose. - Read-only unless you say otherwise: Reading is the default. Proposing or applying prices, editing competitors and sending messages are separate permissions you tick on purpose. - Yours to switch off: Access ends when you say — after at most 90 days — and switching it off takes effect on the very next request. - Never more than you: An assistant can never do more on a property than you can. Every call it makes is recorded against the access you gave it. ## Pages - [Home](https://bunce.app/): what Bunce does for a property manager. - [For AI assistants and agents](https://bunce.app/agents): connecting an assistant, what it can do, protocol facts. - [Privacy](https://bunce.app/privacy) - [Terms](https://bunce.app/terms)