PricePulse

Live short-term rental market data, comps and portfolio insights for Airbnb and Vrbo hosts.

Hosted MCP Server

npx add-mcp 'https://agent-api.pricepulse.hatch-capital.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Use PricePulse from your own AI assistant.

Connect Claude, ChatGPT and other AI apps by adding PricePulse’s server address and signing in to your PricePulse account, with no key to copy. Your assistant gets live short-term rental market data and read-only access to your own properties and PriceLabs data.

What your assistant can reach.

Market data

Live comps on demand

Search a market, price comps for your dates, read reviews and amenities. These tools use PricePulse credits, the same as in Telegram.

Your data

Your own portfolio

Properties, calendars and bookings from your connected property manager, plus your PriceLabs rates. Free to read.

Safe by design

It can’t change anything

No price pushes, no proposals, no settings or schedule changes. Those stay in Telegram, where you approve them. It can tell you your balance, but it can’t buy credits or pay for anything.

Before you connect

  • You need a PricePulse account. Create one free: it starts with 50 credits, and no card is needed. You can also create it in the sign-in window your app opens.
  • You need credits in it. Market-data tools use your credits at each tool’s listed price. Reading your own data and checking your balance are free. To buy more, pick a credit pack or a plan on the Pricing page.
  • Optional: connect your PMS and PriceLabs in your account, so your assistant can read your own calendar, bookings and rates.

https://agent-api.pricepulse.hatch-capital.com/mcp

Paste this address as the server URL, then sign in to PricePulse and approve when your app asks. Each app you approve shows in Account → AI assistant (MCP) under Connected apps, with a daily limit of 200 credits. Disconnect it there any time.

Chat apps

Claude

Web or desktop

  1. Open Customize → Connectors → + Add → Add custom connector.
  2. Name it PricePulse, paste the address as the server URL and press Continue.
  3. Under Authentication, choose Sign in now, then Add.
  4. Claude sends you to PricePulse to sign in; if it doesn’t, press Connect next to PricePulse.

It then works in the Claude phone app too. If Claude doesn’t use PricePulse in a chat, open + → Connectors there and turn PricePulse on. Menus change; Anthropic’s guide has the current steps.

ChatGPT

Web

  1. Open Plugins → Add → Add custom MCP server.
  2. Name it PricePulse and paste the address as the server URL. Under Icon, add the PricePulse icon (a PNG under ChatGPT’s 10 KB limit).
  3. Under Authentication, choose OAuth, then accept the warning.
  4. Create as a plugin and install it; when ChatGPT sends you to PricePulse, sign in and approve.
  5. In a chat, type @ and pick PricePulse so its tools are used.

Menus change and workspaces can turn this off; OpenAI’s guide has the current steps.

Grok

Web or phone

  1. On grok.com, open Connectors → New Connector → Custom. In the Grok phone app, open Settings → Connectors.
  2. Paste the address as the server URL.
  3. When Grok asks, sign in to PricePulse and approve.

On Grok Business or Enterprise, an admin adds connectors first. Menus change; xAI’s guide has the current steps.

Coding tools

Claude Code

Terminal

  1. Run this in your terminal:
claude mcp add --transport http pricepulse https://agent-api.pricepulse.hatch-capital.com/mcp
  1. In Claude Code, type /mcp and follow the steps in your browser to sign in to PricePulse and approve.

Codex

Terminal

  1. Add the server, then sign in:
codex mcp add pricepulse --url https://agent-api.pricepulse.hatch-capital.com/mcp
codex mcp login pricepulse
  1. The login command opens your browser. Sign in to PricePulse and approve.

Cursor

Desktop

  1. Press Add to Cursor, and confirm the install in Cursor.
  2. When Cursor asks, sign in to PricePulse and approve.

Or add it by hand to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "pricepulse": { "url": "https://agent-api.pricepulse.hatch-capital.com/mcp" }
  }
}

VS Code

Desktop

  1. Press Install in VS Code, and confirm the install in VS Code.
  2. When VS Code asks you to trust the server or to sign in, sign in to PricePulse and approve.

Or from a terminal:

code --add-mcp '{"name":"pricepulse","type":"http","url":"https://agent-api.pricepulse.hatch-capital.com/mcp"}'

Muse Code

Terminal

  1. Add this to ~/.config/muse/settings.json. If the file already has an mcpServers block, add just the pricepulse entry inside it:
{
  "mcpServers": {
    "pricepulse": {
      "type": "streamable-http",
      "url": "https://agent-api.pricepulse.hatch-capital.com/mcp",
      "mode": "optional"
    }
  }
}
  1. Run muse mcp login pricepulse --callback-port 47123, then sign in to PricePulse in your browser and approve. Use the same port every time you sign in again.

If signing in again shows invalid redirect_uri, run muse mcp logout pricepulse, then the login command above.

An app that won’t sign in can still connect: use a key or a private link instead.

Coming soon not tested yet

Gemini, Perplexity, Mistral Le Chat and Microsoft Copilot Studio can add custom MCP servers too. We’ll publish steps for each once we’ve tested PricePulse in it.

With a key

For an app that can’t sign in, or if you’d rather not, create a key in your account. It’s shown once, with your private connector link, and you can revoke it there any time.

Another way · a private connector link

https://agent-api.pricepulse.hatch-capital.com/mcp/c/pp_live_YOUR_KEY

Add it like the server address, with the link as the server URL: in Claude, choose No sign in under Authentication; in ChatGPT, choose No authentication. The link contains the key, so treat it like a password.

Server address · apps that take a key

https://agent-api.pricepulse.hatch-capital.com/mcp

Streamable HTTP. Every request sends your key as Authorization: Bearer pp_live_….

claude mcp add --transport http pricepulse https://agent-api.pricepulse.hatch-capital.com/mcp \
  --header "Authorization: Bearer pp_live_YOUR_KEY"
# ~/.codex/config.toml (export PRICEPULSE_API_KEY=pp_live_YOUR_KEY first)
[mcp_servers.pricepulse]
url = "https://agent-api.pricepulse.hatch-capital.com/mcp"
bearer_token_env_var = "PRICEPULSE_API_KEY"
{
  "mcpServers": {
    "pricepulse": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://agent-api.pricepulse.hatch-capital.com/mcp",
        "--header", "Authorization:${PRICEPULSE_AUTH}"
      ],
      "env": { "PRICEPULSE_AUTH": "Bearer pp_live_YOUR_KEY" }
    }
  }
}

Uses the open-source mcp-remote bridge (needs Node.js). Restart Claude Desktop after saving.

{
  "mcpServers": {
    "pricepulse": {
      "url": "https://agent-api.pricepulse.hatch-capital.com/mcp",
      "headers": { "Authorization": "Bearer pp_live_YOUR_KEY" }
    }
  }
}
curl -s https://agent-api.pricepulse.hatch-capital.com/mcp \
  -H "Authorization: Bearer pp_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

POST one JSON-RPC message per request. The server is stateless: it issues no session id and offers no server-initiated stream, so a GET returns 405.

The tools, and what they cost.

Each tool costs its price per call, listed below. A few tools split a bigger request into up to four calls and cost that many. A request too big for that, or one your balance or limits can’t cover, is refused before anything is charged. Each paid answer ends with the credits it used and the balance you have left.

Market data uses credits

ToolWhat it doesCredits
pp_search_listingsSearch live listings in a place (with dates, guests and filters). Returns a ranked page with bedrooms, rating and review count.3 a page
pp_search_listings_by_geoFind comparable listings around an address.3 a page
pp_get_listing_detailOne listing in depth: title, host, photos and amenities. It carries no stay price; for what a listing charges on your dates, use pp_bulk_price_for_date.2
pp_get_listingsSeveral listings in one call: detail, calendar, review pace and live pricing.10 a call (up to 20 listings)
pp_bulk_price_for_dateWhat each comp charges for a specific stay, including fees.10 a call (up to 20 listings); 2 for one listing
pp_price_matrixPrice a set of listings across several stay windows at once.10 a call (up to 10 listings × 4 stays); a bigger grid is split into up to 4 calls
pp_best_availableFor each listing, the first bookable price from a list of candidate dates.10 a call (up to 20 listings)
pp_nightly_snapshotNight-by-night prices across a date range.3 a call (up to 5 listings, 7 nights)
pp_bulk_listing_open_pricingWhat each listing is asking on its open dates over the coming months.10 a call (up to 5 listings, 3 months)
pp_bulk_calendar_summaryHow many of each listing's nights are taken or unavailable, month by month.10 a call (up to 20 listings)
pp_bulk_review_summaryReview count, rating and recent review pace.10 a call (up to 20 listings)
pp_bulk_reviewsThe full text of recent guest reviews.5 a call (up to 20 listings)
pp_static_profileFull amenity list, house policies and sleeping arrangements.10 a call (up to 20 listings)
pp_market_cardsRefresh listings in search-result card form: beds, baths, badges, coordinates, photos.10 a call (up to 20 listings)
pp_listing_mediaPhotos and how many each listing has.10 a call (up to 20 listings)
pp_rank_probeWhere specific listings rank in a market search.10 a call (one page of search results)
pp_rate_bandWhat open listings near you are asking for one stay: the range of nightly prices guests see and where your price sits in it.3 a call (up to 2 pages of search results)
pp_comp_rate_gridYour comps priced across several stays and read for you: an event weekend, weekly and monthly discounts, short-stay premiums, your open gaps, a year of weekends.10 a call (up to 10 listings × 4 stays); a bigger grid is split into up to 4 calls
pp_market_pulse_verdict“Is it me or the market?” How full your next two months are against how much of your comps’ calendars is taken, with one verdict. Needs your calendar connected.10 a call (up to 20 comps)
pp_amenity_valueWhat an amenity (a hot tub, a pool) is worth per night near you, comparing similar homes with and without it.13 a call
pp_comp_scorecardHow your reviews compare with your comps, category by category, and what guests praise at theirs but not at yours.10 a call (up to 20 listings); 20 with occupancy
pp_rank_checkWhere your listing shows up when a guest searches your market.10 a call (up to 3 pages of search results)
pp_top_performersWhat the highest-rated listings near you have in common: badges, amenities and minimum stays.10 a call (one market)

Your own data free

ToolWhat it does
pms_list_propertiesYour properties from your connected property manager.
pms_get_propertyOne of your properties in detail.
pms_get_calendarAvailability (and rates, where your property manager provides them) for one of your properties.
pms_get_bookingsRecent and upcoming bookings for one of your properties.
pms_portfolio_snapshotEvery property at a glance: reserved, blocked and open nights, occupancy, open gaps and the next arrivals, counted for you.
pms_revenue_by_monthRevenue, reserved nights and average nightly rate by month, past or future, straight from the bookings in your property manager (or PriceLabs’ figures, marked as such, when it reports no amounts).
pricelabs_list_listingsYour PriceLabs portfolio and its settings.
pricelabs_get_calendar_ratesPriceLabs recommended rates next to the live rates on your calendar.
pricelabs_get_neighborhood_dataPriceLabs neighborhood comp data for one of your listings.
memory_recallA note you asked the PricePulse agent to remember.

Your own-data tools need that system connected in your account (Integrations).

Your account free

ToolWhat it does
get_balanceYour credit balance, what this app or key has spent today and what is left under its daily limit, and your account’s daily ceiling.

So you can ask your assistant “How many credits do I have left?” To buy more, go to the Pricing page: your assistant can’t buy credits or pay for anything.

Spending limits and security.

How spend limits work

  • Each app connected by signing in has its own daily limit of 200 credits.
  • Each key has its own daily credit limit, set when you create it: 200 unless you choose another number, up to 2,000.
  • Your account’s daily spending ceiling still applies on top, across Telegram, every app and every key.
  • A request is refused if its price would take the app or key past its limit or the account past its ceiling, or if your balance can’t cover it. Refused requests are never charged.
  • Every request is quoted before it runs and never charged more than that quote, so an app or key never goes past its limit or your balance.
  • If the market data is slow, a call stops in time for your assistant to answer, and a call that fails is not charged.
  • Days reset at midnight in your account’s time zone. Each app’s and key’s spend today is shown in your account.

Security

  • Read-only: it can’t change prices, settings or schedules, whatever your assistant is told.
  • Signing in happens on PricePulse’s own page, and nothing connects until you approve the app. The app never sees your password.
  • It can’t buy credits or pay for anything. You buy credits on the Pricing page.
  • An app or key only ever sees your own account.
  • Disconnect an app any time in your account; it stops working on the next request.
  • We show a key once and store only a fingerprint of it. Treat it like a password, and the connector link too, since it contains the key. We keep the link out of our server logs.
  • Revoke a key any time in your account; it stops working on the next request.
  • Each key is limited to 60 requests a minute. We log which tool ran and what it cost, never what you asked.