# MCP and REST compared

> **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 is one record with its full price and market history. [How the property graph is built](/docs/property-graph).

Casafari's data can be reached two ways: the MCP server at `https://mcp.casafari.com/` and the REST API at `https://api.casafari.com`. They overlap, but neither contains the other. This page lines them up product by product. It is generated from the tool definitions and from the public OpenAPI description, so it changes when either does.

**How to read it.** *Equivalent* means the same operation is offered over both interfaces. *Related* means the two do part of the same job in different ways, so neither replaces the other. A dash means the other interface has nothing for it. "REST" here is the public OpenAPI description; your account's own specification at [docs.api.casafari.com](https://docs.api.casafari.com/) may list more.

## By product

| Product | MCP tools | REST operations | Linked tools | Linked operations | Available over |
|---|---|---|---|---|---|
| [Properties](#properties) | 0 | 5 | 0 | 0 | REST only |
| [Comparables & Valuation](#comparables-valuation) | 1 | 4 | 1 | 3 | Both |
| [Area Insights](#area-insights) | 8 | 6 | 5 | 4 | Both |
| [Alerts](#alerts) | 0 | 12 | 0 | 0 | REST only |
| [References](#references) | 0 | 10 | 0 | 1 | REST only |
| [AgentGraph AI](#agentgraph-ai) | 13 | 0 | 0 | 0 | MCP only |
| **Total** | 22 | 37 | 6 | 8 | |

The gateway's own tool, `list_servers`, has no REST counterpart: there is no gateway over REST. Sign-in operations (`POST /login`, `GET /refresh-token`) belong to no product and are described in [REST API](/docs/rest#get-a-token); MCP signs in with OAuth instead ([Authentication](/docs/authentication)).

## Gaps

### Only over MCP

- **Area Insights**: [`ma_get_current_datetime`](/docs/area-insights/get_current_datetime), [`ma_get_time_series_operations`](/docs/area-insights/get_time_series_operations), [`ma_get_heatmap`](/docs/area-insights/get_heatmap).
- **AgentGraph AI**: all 13 tools.

### Only over REST

- **Properties**: all 5 operations.
- **Comparables & Valuation**: [`POST /api/v2/comparables/ai-builder`](/docs/rest/comparables-valuation/initialize-an-ai-builder-session-v2).
- **Area Insights**: [`POST /market-analytics-api/distributions/properties`](/docs/rest/area-insights/properties-distribution), [`POST /market-analytics-api/analysis`](/docs/rest/area-insights/analysis).
- **Alerts**: all 12 operations.
- **References**: [`GET /api/v1/references/agencies`](/docs/rest/references/get-agencies-v1), [`GET /api/v1/references/agents`](/docs/rest/references/get-agents-v1), [`GET /api/v1/references/conditions`](/docs/rest/references/get-conditions-v1), [`GET /api/v1/references/features`](/docs/rest/references/get-features-v1), [`POST /api/v1/references/locations`](/docs/rest/references/get-locations-v1), [`GET /api/v1/references/locations/by-coordinates`](/docs/rest/references/get-location-by-passed-coordinates-v1), [`GET /api/v1/references/sources`](/docs/rest/references/get-sources-v1), [`GET /api/v1/references/types`](/docs/rest/references/get-types-v1), [`POST /api/v1/references/zipcode-boundary`](/docs/rest/references/get-zipcode-boundary-by-zipcode-and-country-code-v1).

## Product by product

### Properties

Over MCP: 0 tools. Over REST: 5 operations. Available over REST only. [Properties](/docs/properties). MCP has no tool for Properties.


### Comparables & Valuation

Over MCP: 1 tool. Over REST: 4 operations. Available over both. [Comparables & Valuation](/docs/comparables-valuation).

| MCP tool | REST operation | How they relate |
|---|---|---|
| [`comps_get-comparables`](/docs/comparables-valuation/get-comparables) | [`POST /api/v2/comparables/search`](/docs/rest/comparables-valuation/search-comparables-v2) | Equivalent. 26 request fields in common; REST only: `coordinates`, `target_point`, `distance`, `business_type`, `comparables_type`, `property_type`, `floor`, `view`, 3 more. |
| [`comps_get-comparables`](/docs/comparables-valuation/get-comparables) | [`POST /api/v1/comparables/search`](/docs/rest/comparables-valuation/search-comparables-v1) | Related. The v1 version of the comparables search. |
| [`comps_get-comparables`](/docs/comparables-valuation/get-comparables) | [`POST /api/v1/valuation/comparables-prices`](/docs/rest/comparables-valuation/search-estimated-prices-v1) | Related. The tool's response includes estimated price ranges; REST returns estimated prices from this separate operation. |
| — | [`POST /api/v2/comparables/ai-builder`](/docs/rest/comparables-valuation/initialize-an-ai-builder-session-v2) | Only over REST |

### Area Insights

Over MCP: 8 tools. Over REST: 6 operations. Available over both. [Area Insights](/docs/area-insights).

| MCP tool | REST operation | How they relate |
|---|---|---|
| [`ma_get_current_datetime`](/docs/area-insights/get_current_datetime) | — | Only over MCP |
| [`ma_get_time_series_data`](/docs/area-insights/get_time_series_data) | [`POST /market-analytics-api/time-series`](/docs/rest/area-insights/time-series) | Equivalent. 19 request fields in common; REST only: `types`; MCP only: `type_group`, `alias`. |
| [`ma_get_time_series_operations`](/docs/area-insights/get_time_series_operations) | — | Only over MCP |
| [`ma_get_price_distribution`](/docs/area-insights/get_price_distribution) | [`POST /market-analytics-api/distributions/prices`](/docs/rest/area-insights/price-distribution) | Equivalent. 16 request fields in common; REST only: `types`; MCP only: `type_group`. |
| [`ma_get_bedrooms_distribution`](/docs/area-insights/get_bedrooms_distribution) | [`POST /market-analytics-api/distributions/bedrooms`](/docs/rest/area-insights/bedrooms-distribution) | Equivalent. 16 request fields in common; REST only: `types`; MCP only: `type_group`. |
| [`ma_get_time_on_market_distribution`](/docs/area-insights/get_time_on_market_distribution) | [`POST /market-analytics-api/distributions/time-on-market`](/docs/rest/area-insights/time-on-market-distribution) | Equivalent. 17 request fields in common; REST only: `types`; MCP only: `type_group`. |
| [`ma_get_heatmap`](/docs/area-insights/get_heatmap) | — | Only over MCP |
| [`ma_get_location_typeahead`](/docs/area-insights/get_location_typeahead) | [`POST /api/v1/references/locations/typeahead`](/docs/rest/references/get-locations-typeahead-suggestions-scoped-by-country-code-v1) | Related. In [References](/docs/parity#references). Both turn a place name into location ids. The MCP tool takes an English name; REST takes `country_codes` (ES or PT) and a response `lang`. |
| — | [`POST /market-analytics-api/distributions/properties`](/docs/rest/area-insights/properties-distribution) | Only over REST |
| — | [`POST /market-analytics-api/analysis`](/docs/rest/area-insights/analysis) | Only over REST |

### Alerts

Over MCP: 0 tools. Over REST: 12 operations. Available over REST only. [Alerts](/docs/alerts). MCP has no tool for Alerts.


### References

Over MCP: 0 tools. Over REST: 10 operations. Available over REST only. [References](/docs/references). MCP has no tool for References, except where a tool of another product covers one operation (below).

| MCP tool | REST operation | How they relate |
|---|---|---|
| — | [`GET /api/v1/references/agencies`](/docs/rest/references/get-agencies-v1) | Only over REST |
| — | [`GET /api/v1/references/agents`](/docs/rest/references/get-agents-v1) | Only over REST |
| — | [`GET /api/v1/references/conditions`](/docs/rest/references/get-conditions-v1) | Only over REST |
| — | [`GET /api/v1/references/features`](/docs/rest/references/get-features-v1) | Only over REST |
| — | [`POST /api/v1/references/locations`](/docs/rest/references/get-locations-v1) | Only over REST |
| — | [`GET /api/v1/references/locations/by-coordinates`](/docs/rest/references/get-location-by-passed-coordinates-v1) | Only over REST |
| [`ma_get_location_typeahead`](/docs/area-insights/get_location_typeahead) | [`POST /api/v1/references/locations/typeahead`](/docs/rest/references/get-locations-typeahead-suggestions-scoped-by-country-code-v1) | Related. In [Area Insights](/docs/parity#area-insights). Both turn a place name into location ids. The MCP tool takes an English name; REST takes `country_codes` (ES or PT) and a response `lang`. |
| — | [`GET /api/v1/references/sources`](/docs/rest/references/get-sources-v1) | Only over REST |
| — | [`GET /api/v1/references/types`](/docs/rest/references/get-types-v1) | Only over REST |
| — | [`POST /api/v1/references/zipcode-boundary`](/docs/rest/references/get-zipcode-boundary-by-zipcode-and-country-code-v1) | Only over REST |

### AgentGraph AI

Over MCP: 13 tools. Over REST: 0 operations. Available over MCP only. [AgentGraph AI](/docs/agentgraph). The public REST description has no operation for AgentGraph AI, so all 13 tools can be reached over MCP only.

## Questions about this

- [What is the difference between Casafari MCP and the Casafari REST API?](/docs/faq/mcp-vs-rest-api)
- [Which products does Casafari MCP offer, and how many tools are there?](/docs/faq/which-products)
- [Can I search properties over Casafari MCP?](/docs/faq/properties-over-mcp)
- [Can I get alerts (new properties, price cuts, sales) over Casafari MCP?](/docs/faq/alerts-over-mcp)
- [Which tools exist only over MCP, and which operations only over REST?](/docs/faq/mcp-only-and-rest-only)
