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
- Open Customize → Connectors → + Add → Add custom connector.
- Name it PricePulse, paste the address as the server URL and press Continue.
- Under Authentication, choose Sign in now, then Add.
- 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
- Open Plugins → Add → Add custom MCP server.
- 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).
- Under Authentication, choose OAuth, then accept the warning.
- Create as a plugin and install it; when ChatGPT sends you to PricePulse, sign in and approve.
- 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
- On grok.com, open Connectors → New Connector → Custom. In the Grok phone app, open Settings → Connectors.
- Paste the address as the server URL.
- 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
- Run this in your terminal:
claude mcp add --transport http pricepulse https://agent-api.pricepulse.hatch-capital.com/mcp
- In Claude Code, type
/mcpand follow the steps in your browser to sign in to PricePulse and approve.
Codex
Terminal
- Add the server, then sign in:
codex mcp add pricepulse --url https://agent-api.pricepulse.hatch-capital.com/mcp
codex mcp login pricepulse
- The login command opens your browser. Sign in to PricePulse and approve.
Cursor
Desktop
- Press Add to Cursor, and confirm the install in Cursor.
- 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
- Press Install in VS Code, and confirm the install in VS Code.
- 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
- Add this to
~/.config/muse/settings.json. If the file already has anmcpServersblock, add just thepricepulseentry inside it:
{
"mcpServers": {
"pricepulse": {
"type": "streamable-http",
"url": "https://agent-api.pricepulse.hatch-capital.com/mcp",
"mode": "optional"
}
}
}
- 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
| Tool | What it does | Credits |
|---|---|---|
pp_search_listings | Search 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_geo | Find comparable listings around an address. | 3 a page |
pp_get_listing_detail | One 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_listings | Several listings in one call: detail, calendar, review pace and live pricing. | 10 a call (up to 20 listings) |
pp_bulk_price_for_date | What each comp charges for a specific stay, including fees. | 10 a call (up to 20 listings); 2 for one listing |
pp_price_matrix | Price 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_available | For each listing, the first bookable price from a list of candidate dates. | 10 a call (up to 20 listings) |
pp_nightly_snapshot | Night-by-night prices across a date range. | 3 a call (up to 5 listings, 7 nights) |
pp_bulk_listing_open_pricing | What each listing is asking on its open dates over the coming months. | 10 a call (up to 5 listings, 3 months) |
pp_bulk_calendar_summary | How many of each listing's nights are taken or unavailable, month by month. | 10 a call (up to 20 listings) |
pp_bulk_review_summary | Review count, rating and recent review pace. | 10 a call (up to 20 listings) |
pp_bulk_reviews | The full text of recent guest reviews. | 5 a call (up to 20 listings) |
pp_static_profile | Full amenity list, house policies and sleeping arrangements. | 10 a call (up to 20 listings) |
pp_market_cards | Refresh listings in search-result card form: beds, baths, badges, coordinates, photos. | 10 a call (up to 20 listings) |
pp_listing_media | Photos and how many each listing has. | 10 a call (up to 20 listings) |
pp_rank_probe | Where specific listings rank in a market search. | 10 a call (one page of search results) |
pp_rate_band | What 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_grid | Your 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_value | What 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_scorecard | How 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_check | Where your listing shows up when a guest searches your market. | 10 a call (up to 3 pages of search results) |
pp_top_performers | What the highest-rated listings near you have in common: badges, amenities and minimum stays. | 10 a call (one market) |
Your own data free
| Tool | What it does |
|---|---|
pms_list_properties | Your properties from your connected property manager. |
pms_get_property | One of your properties in detail. |
pms_get_calendar | Availability (and rates, where your property manager provides them) for one of your properties. |
pms_get_bookings | Recent and upcoming bookings for one of your properties. |
pms_portfolio_snapshot | Every property at a glance: reserved, blocked and open nights, occupancy, open gaps and the next arrivals, counted for you. |
pms_revenue_by_month | Revenue, 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_listings | Your PriceLabs portfolio and its settings. |
pricelabs_get_calendar_rates | PriceLabs recommended rates next to the live rates on your calendar. |
pricelabs_get_neighborhood_data | PriceLabs neighborhood comp data for one of your listings. |
memory_recall | A note you asked the PricePulse agent to remember. |
Your own-data tools need that system connected in your account (Integrations).
Your account free
| Tool | What it does |
|---|---|
get_balance | Your 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.