MCP Server
LiveConnect any AI assistant or agent to the PMI API using the Model Context Protocol, Anthropic's open standard for tool calling. One URL, one Bearer token, 28 tools for the LLM to choose from.
Why MCP?
If you're building anything where an LLM needs UK property data (investor agents, lead-gen widgets, due-diligence copilots, valuation chatbots), MCP is the fastest path. Instead of writing REST integration code, you give the LLM a single connection URL and it figures out which tool to call.
How it works
Once you've connected PMI to your AI assistant, it works like this:
You ask a question in plain English
“What’s the rental yield in LS6?” or “Find me 3-bed flats under £200k in Manchester with yields above 7%.”
Your AI works out which PMI tools to use
The model picks one or more of our 28 tools (yields, comparables, listings, planning, risks, etc.) and calls them in the right order, no coding from you.
You get an answer in seconds
The AI gets back live PMI data and weaves it into a normal reply. Credits come off your monthly allowance, exactly the same as if you’d called the REST API yourself.
No new dashboard, no new login, no second invoice. If you can use Claude or ChatGPT, you can use PMI through MCP.
What you get
- 28 tools: one per REST endpoint, including all Serviced Accommodation tools.
- Pass-through auth: your existing PMI API key works unchanged.
- Same billing: MCP tool calls deduct from the same monthly credit allowance as REST calls. They appear in
/v1/account/usageunder the same endpoint names. - Same rate limit: your tier's per-10-second cap applies whether the request comes via REST or MCP.
- Streamable HTTP: modern transport supported by Claude Desktop, Cursor, ChatGPT, and the official MCP SDKs in Python and TypeScript.
Tools available (28)
Same names and credit cost as the REST endpoints. When the LLM picks one, it sees:
What you can ask
Once PMI is connected, you stop reaching for the dashboard. You just ask the AI you already use. Here are the kinds of questions that work well:
Sourcing & deal hunting
Rental market analysis
Property due diligence
Serviced accommodation feasibility
Inside Cursor (for technical users)
Build it into your own product
See it in action
If you've never set up an MCP server before, these public walkthroughs from other providers show what the experience looks like. Most installs are 30 seconds and one config-file edit. The PMI setup is identical: same JSON shape, just our URL and your key.
The MCP Quickstart
The canonical “connect your first MCP server” walkthrough. Same flow you’ll follow for PMI, just our URL.
modelcontextprotocol.io ↑Anthropic · SupportClaude Desktop MCP guide
Anthropic’s own help-centre article. Step-by-step screenshots of the config edit + restart flow.
support.claude.com ↑Cursor · OfficialMCP in Cursor
Cursor’s docs on adding remote MCP servers. UI-driven, no JSON file editing required.
cursor.com ↑Quick Setup Guide
Get your API key
Every PMI account has an API key. Find yours under Account → API Keys in the dashboard. The free tier comes with 100 credits a month, enough to try every tool.
Configure your AI client
Add PMI to your AI client's MCP configuration. Pick your client below for a copy-paste config.
Edit claude_desktop_config.json (Settings → Developer → Edit Config), add the PMI block, then fully quit and reopen Claude Desktop.
Start asking questions
Once it's connected, ask your AI assistant about UK property data. Try things like:
Testing your connection
If a tool isn't behaving, run these cURL commands directly against the server to confirm everything's wired up correctly.
1. Health check (no auth)
The simplest “is the server alive?” check. No API key needed, plain JSON response.
Expected response:
2. List available tools (free, requires API key)
Returns the full schema of all 28 tools. No credits used.
event: message and data: { ... }), not plain JSON. MCP clients like Claude Desktop, ChatGPT, and the official MCP SDK parse this automatically. If you're testing with raw cURL, you'll see the SSE wrapping. That's expected.3. Call a tool (uses credits)
Example: get the rental yield for outcode LS6 (2 credits).
/mcp return 405 Method Not Allowed by design. The /health endpoint above accepts GET as you'd expect.Technical reference
Server information
Location inputs
Most location-based tools accept input in one of these formats. Provide only ONE per request:
Building your own agent?
If you're rolling your own MCP client, the minimal connection sequence is initialize → tools/list → tools/call. Same Bearer token throughout.
Auth, billing & limits
- Auth: standard
Authorization: Bearer <api_key>header. Same key as REST. - Credits: deducted on 2xx tool responses. Same credit weights as the REST endpoints (see table above). All MCP usage shows up in
GET /v1/account/usageunder the existing endpoint names. There's no separate “MCP usage” view. - Rate limit: per-10-second window, scoped to your API key. MCP and REST share the same bucket.
- Errors: MCP tool responses always come back as text (success or readable error). 401, 402, 429, 404 from the REST API become natural-language messages the LLM can quote.
FAQ
Do MCP calls cost more than REST calls?
No, same credit weights, same bucket.
Can I disable MCP for my key?
Not currently. If you don’t connect any client, you’ll generate zero MCP traffic. Get in touch if you need this.
Is there a separate API key for MCP?
No, your existing pmi_live_… key works. Best practice: create a dedicated key per client (Claude Desktop on your laptop, your production agent, etc.) so you can rotate or revoke them independently.
What about latency?
Add ~30–50ms for the MCP-to-REST hop on top of the underlying endpoint’s latency. The MCP server is in the same DigitalOcean region as the REST API.
Streamable HTTP vs SSE vs stdio?
PMI only exposes Streamable HTTP, the modern, supported transport. SSE is deprecated in MCP, and stdio doesn’t make sense for a hosted SaaS.