# Casafari MCP

**Casafari is the AI agent-native real estate data intelligence platform.** The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries.

Every property in the graph is one record, merged from every source that advertises it and cleaned, with its full history: every price change, every status change, when it came on the market and when it was delisted. Residential and commercial property alike, for sale and for rent. [How the property graph is built](/docs/property-graph).

Casafari MCP connects AI assistants and agents to it as [Model Context Protocol](https://modelcontextprotocol.io/) tools: the property graph, comparables and valuations, area insights, and agency and agent analysis. 22 tools in 3 products, behind one endpoint and one sign-in.

The same data is also available over a [REST API](/docs/rest) (39 operations at `https://api.casafari.com`). Docs are organised by product, and each product lists its MCP tools and its REST operations; [MCP and REST compared](/docs/parity) shows where the two overlap and where they do not.

## Endpoint

| | |
|---|---|
| Server URL | `https://mcp.casafari.com/` |
| Transport | Streamable HTTP |
| Sign-in | OAuth 2.1 with your Casafari account. See [Authentication](/docs/authentication). |
| Server card | [https://mcp.casafari.com/.well-known/mcp/server-card.json](https://mcp.casafari.com/.well-known/mcp/server-card.json) |

To add it to Claude, ChatGPT, Claude Code, Cursor or VS Code, see [Connect](/docs/connect).

## Products

| Product | MCP tools | REST operations | What it answers |
|---|---|---|---|
| [Properties](/docs/properties) | — | 5 | Search the property graph, where every property is one record with its price and status history. Over REST: search by structured filters, fetch a property and its history by id, resolve a portal or agency ad id to the property it belongs to, create shareable links. |
| [Comparables & Valuation](/docs/comparables-valuation) | 1 | 4 | Comparable properties and estimated prices for a home: properties on the market, past sales and rentals, and official registry records, matched around a point, an address or a cadastral reference. |
| [Area Insights](/docs/area-insights) | 8 | 6 | Insights for an area: price, supply and activity over time, distributions by price, bedrooms and time on market, and market analysis. Over MCP also growth and volatility measures and heatmaps by district. |
| [Alerts](/docs/alerts) | — | 12 | Alert feeds that follow the property graph for a set of filters: new properties, price rises and cuts, reservations, delistings and sales. Create a feed, read its alerts, or have them delivered to your webhook. |
| [References](/docs/references) | — | 10 | The reference data requests are built from: property types, features and conditions, agencies, agents and the sources the graph is built from, locations with typeahead, and zip-code boundaries. |
| [AgentGraph AI](/docs/agentgraph) | 13 | — | Find the real estate agencies and agents worth partnering with: area screens against partner profiles, full profiles, territory maps, partner briefs and watchlists. |

## How tools are named

Every tool is named `<group>_<tool>`: the prefix is the gateway's short name for the product (it calls it a group), the rest is the tool's own name, for example `comps_get-comparables` or `agentgraph_screen_agencies`. Always call a tool by its full name. The one exception is the gateway's own tool, [`list_servers`](/docs/gateway/list_servers), which has no prefix.

## Your account decides which tools you see

`tools/list` returns only the tools your Casafari subscription covers, and rights are checked again on every call, so a change to your subscription applies on your next request. A tool that is missing from the list, or a call that is refused, means the subscription does not cover it; retrying will not help. When a product's quota is used up, its tools answer `Request limit reached for this product.`

## Start with `list_servers`

Before using a product for the first time, call [`list_servers`](/docs/gateway/list_servers). It returns each product you can use (the gateway calls them groups) with its own instructions, for example which tool to start with. Most data tools take a location as ids, a circle or a polygon rather than a name: resolve a place name to ids with [`ma_get_location_typeahead`](/docs/area-insights/get_location_typeahead) first (AgentGraph AI has its own [`agentgraph_find_location`](/docs/agentgraph/find_location) for Germany).

## Read these docs as Markdown

Every page has a Markdown version: add `.md` to its URL, or send `Accept: text/markdown`. [/llms.txt](/llms.txt) lists every page and tool; [/llms-full.txt](/llms-full.txt) is the whole reference in one file. More in [For AI agents](/docs/agents).

## Questions and answers

### What is the difference between Casafari MCP and the Casafari REST API?

Casafari MCP and the REST API serve the same property graph, but MCP serves assistants and agents and uses OAuth 2.1, while REST offers 39 operations and signs in with email and password.

- MCP: one server at `https://mcp.casafari.com/` over Streamable HTTP, with a gateway that checks your account's rights on every call. It offers 22 data tools plus [`list_servers`](/docs/gateway/list_servers).
- REST: base URL `https://api.casafari.com`, with no gateway. [`POST /login`](/docs/rest/authentication/login) returns an access token and a refresh token (JWT), and [`GET /refresh-token`](/docs/rest/authentication/refresh-token) renews it. The public OpenAPI description is at https://docs.api.casafari.com/openapi.json.

Not everything is available over both. Properties, Alerts and References are REST only, AgentGraph AI is MCP only, and Area Insights and Comparables & Valuation differ in detail.

See: [MCP and REST compared](/docs/parity), [REST API](/docs/rest), [Authentication](/docs/authentication).

Permalink: /docs/faq/mcp-vs-rest-api

### How does authentication work on Casafari MCP? Does it use OAuth scopes?

Casafari MCP is an OAuth 2.1 resource server with no OAuth scopes: a token carries exactly the rights of the Casafari account that signed in.

`scopes_supported` in the protected resource metadata is empty on purpose. Rights are per tool and resolved from the account on every call, so `tools/list` shows only what the subscription covers, and any change takes effect on the next request. A person signs in through the authorization code flow with PKCE. An unattended agent uses client credentials issued by Casafari. Tokens are bound to the server's canonical URL as their audience, so every authorization and token request includes `resource`. The REST API works differently: you sign in with email and password to get a JWT.

See: [Authentication](/docs/authentication), [casafari.com/auth.md](https://www.casafari.com/auth.md), [REST API](/docs/rest).

Permalink: /docs/faq/how-authentication-works

### Who can use Casafari MCP?

Anyone with a Casafari account that has an MCP subscription can use Casafari MCP. A token carries exactly that account's rights, and nothing works without one.

To connect a client, you sign in with the account in a browser and approve. The assistant then acts with that account's rights. `tools/list` shows only the tools your subscription covers, and rights are resolved on every call. An agent that runs unattended uses client credentials that Casafari issues for the account. If you don't have a Casafari account, get one first. Without one, the sign-in flow has nothing to grant.

See: [Connect your assistant](/docs/connect), [Authentication](/docs/authentication), [casafari.com/auth.md](https://www.casafari.com/auth.md).

Permalink: /docs/faq/who-can-use

### What are Casafari MCP's rate limits and quotas?

The documentation publishes no rate-limit or quota figures; the only documented limit is per product, and once a product's quota is used up, its tools return `Request limit reached for this product.`

This message is a tool error, not an HTTP status. Stop calling that product and don't retry; the other products keep working. A missing tool or a refused call means something else: your subscription doesn't cover it. For `5xx` responses, retry with exponential backoff.

See: [Authentication](/docs/authentication) (errors table).

For quota and rate-limit figures, contact Casafari: https://www.casafari.com/

Permalink: /docs/faq/rate-limits-and-quotas

### Can I read these docs as Markdown, and is there an llms.txt?

Yes: add `.md` to any page's URL or send `Accept: text/markdown`, and `/llms.txt` indexes every page and tool. None of it needs a key.

- [/llms.txt](/llms.txt) is the index, and [/llms-full.txt](/llms-full.txt) holds the whole reference in one file.
- [/tools.json](/tools.json) gives every tool's name, title, input schema and output schema.
- You'll also find the [API catalog](/.well-known/api-catalog), [MCP server card](/.well-known/mcp/server-card.json), [agent skill](/.well-known/agent-skills/index.json), [agentic resource manifest](/.well-known/ai-catalog.json) and the sitemap at `/sitemap.xml`.
- Markdown responses are served as `text/markdown`, with an `x-markdown-tokens` header that estimates their size.
- In a browser that supports `navigator.modelContext`, pages register these WebMCP tools: `search_casafari_mcp_docs`, `get_casafari_tool_reference`, `get_casafari_rest_operation`, `get_casafari_connection_config` and `open_casafari_docs_page`.

See: [For AI agents](/docs/agents).

Permalink: /docs/faq/machine-readable-docs

[All questions](/docs/faq)
