MCP vs REST API: which to use
Short answer: use the MCP servers when an AI assistant or agent does the work (it discovers the tools, reads their descriptions and calls them for you); use the REST API when your own code does (fixed requests, your own app, bulk jobs).
Casafari's data can be reached in two ways: the MCP servers, one per product under https://platform.casafari.com/mcp/, and the platform's REST API under https://platform.casafari.com/v1/<product>, both with the same platform API key or OAuth sign-in and the same tokens. 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 platform's own OpenAPI files, so it changes when either does: on the platform a tool and an operation that do the same job share an operation id, and that is how the pairs below are found.
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 platform's REST API; an operation marked existing API is one of the existing API at https://api.casafari.com (contract clients, bearer token), paired by hand where a tool does its job.
By product
| Product | MCP tools | REST operations | Linked tools | Linked operations | Available over |
|---|---|---|---|---|---|
| Property Sourcing | 5 | 10 | 5 | 5 | Both |
| High Potential Seller Leads | 0 | 2 | 0 | 0 | REST only |
| Private Seller Leads | 3 | 3 | 3 | 3 | Both |
| Comparables & Valuation | 1 | 5 | 1 | 4 | Both |
| Comparables with Transactions | 1 | 1 | 1 | 1 | Both |
| Area Insights | 10 | 16 | 8 | 12 | Both |
| New Market Leads | 0 | 12 | 0 | 0 | REST only |
| References | 0 | 10 | 0 | 0 | REST only |
| Cadastre | 5 | 0 | 0 | 0 | MCP only |
| Parcel Zoning | 2 | 6 | 2 | 2 | Both |
| Total | 27 | 65 | 20 | 27 |
Location Lookup (/v1/locations, free, the dictionary every product takes) and the account and sign-up operations (/v1/account) belong to no product; their MCP side is locations_search, locations_get and account_status, on every product's server. The existing API's sign-in operations (POST /login, GET /refresh-token) are described in REST API; MCP signs in with OAuth instead (Authentication).
Gaps
Only over MCP
- Area Insights:
area-insights_get_current_datetime,area-insights_get_time_series_operations. - Cadastre: all 5 tools.
Only over REST
- Property Sourcing:
POST /api/v1/properties/match-by-listings(existing API),POST /api/v1/properties/search(existing API),GET /api/v1/properties/search/{property_id}(existing API),POST /api/v1/properties/smart-links(existing API),POST /api/v2/properties/search(existing API). - High Potential Seller Leads: all 2 operations (
GET /v1/seller-leads,GET /v1/seller-leads/{lead_id}). - Comparables & Valuation:
POST /api/v2/comparables/ai-builder(existing API). - Area Insights:
POST /v1/area-insights/analysis,POST /v1/area-insights/distributions/properties,POST /market-analytics-api/distributions/properties(existing API),POST /market-analytics-api/analysis(existing API). - New Market Leads: all 12 operations.
- References: all 10 operations.
- Parcel Zoning:
GET /v1/parcel-zoning/es/parcels,GET /v1/parcel-zoning/de/parcels/{cadastral_ref},GET /v1/parcel-zoning/de/parcels,GET /v1/parcel-zoning/health.
Product by product
Property Sourcing
Over MCP: 5 tools. Over REST: 10 operations. Available over both. Property Sourcing.
| MCP tool | REST operation | How they relate |
|---|---|---|
property-sourcing_search | POST /v1/property-sourcing/searches | Equivalent. 14 request fields in common. |
property-sourcing_next_page | GET /v1/property-sourcing/searches/{cursor} | Equivalent. |
property-sourcing_get_property | GET /v1/property-sourcing/properties/{property_id} | Equivalent. |
property-sourcing_resolve_listing | POST /v1/property-sourcing/properties/resolve | Equivalent. 4 request fields in common. |
property-sourcing_get_closing_prices | GET /v1/property-sourcing/properties/{property_id}/closing-prices | Equivalent. |
| — | POST /api/v1/properties/match-by-listings (existing API) | Only over REST |
| — | POST /api/v1/properties/search (existing API) | Only over REST |
| — | GET /api/v1/properties/search/{property_id} (existing API) | Only over REST |
| — | POST /api/v1/properties/smart-links (existing API) | Only over REST |
| — | POST /api/v2/properties/search (existing API) | Only over REST |
High Potential Seller Leads
Over MCP: 0 tools. Over REST: 2 operations. Available over REST only. High Potential Seller Leads. MCP has no tool for High Potential Seller Leads.
Private Seller Leads
Over MCP: 3 tools. Over REST: 3 operations. Available over both. Private Seller Leads.
| MCP tool | REST operation | How they relate |
|---|---|---|
private-sellers_search | POST /v1/private-sellers/search | Equivalent. 8 request fields in common. |
private-sellers_get_listing | GET /v1/private-sellers/listings/{id} | Equivalent. |
private-sellers_coverage | GET /v1/private-sellers/coverage | Equivalent. |
Comparables & Valuation
Over MCP: 1 tool. Over REST: 5 operations. Available over both. Comparables & Valuation.
| MCP tool | REST operation | How they relate |
|---|---|---|
comparables_get_comparables | POST /v1/comparables/search | Equivalent. 26 request fields in common. |
comparables_get_comparables | POST /api/v2/comparables/search (existing API) | Equivalent. 26 request fields in common; REST only: coordinates, target_point, distance, business_type, comparables_type, property_type, floor, view, 3 more. |
comparables_get_comparables | POST /api/v1/comparables/search (existing API) | Related. The v1 version of the comparables search. |
comparables_get_comparables | POST /api/v1/valuation/comparables-prices (existing API) | Related. The tool's response includes estimated price ranges; REST returns estimated prices from this separate operation. |
| — | POST /api/v2/comparables/ai-builder (existing API) | Only over REST |
Comparables with Transactions
Over MCP: 1 tool. Over REST: 1 operation. Available over both. Comparables with Transactions.
| MCP tool | REST operation | How they relate |
|---|---|---|
comparables-transactions_get_comparables | POST /v1/comparables-transactions/search | Equivalent. 26 request fields in common. |
Area Insights
Over MCP: 10 tools. Over REST: 16 operations. Available over both. Area Insights.
New Market Leads
Over MCP: 0 tools. Over REST: 12 operations. Available over REST only. New Market Leads. MCP has no tool for New Market Leads.
References
Over MCP: 0 tools. Over REST: 10 operations. Available over REST only. References. MCP has no tool for References.
Cadastre
Over MCP: 5 tools. Over REST: 0 operations. Available over MCP only. Cadastre. REST has no operation for Cadastre yet, so all 5 tools can be reached over MCP only.
Parcel Zoning
Over MCP: 2 tools. Over REST: 6 operations. Available over both. Parcel Zoning.
| MCP tool | REST operation | How they relate |
|---|---|---|
parcel-zoning_lookup | GET /v1/parcel-zoning/es/parcels/{cadastral_ref} | Equivalent. |
parcel-zoning_coverage | GET /v1/parcel-zoning/coverage | Equivalent. |
| — | GET /v1/parcel-zoning/es/parcels | Only over REST |
| — | GET /v1/parcel-zoning/de/parcels/{cadastral_ref} | Only over REST |
| — | GET /v1/parcel-zoning/de/parcels | Only over REST |
| — | GET /v1/parcel-zoning/health | Only over REST |
Claro AI
Claro AI is a platform product with its own MCP server (https://platform.casafari.com/mcp/claro) and REST API (https://platform.casafari.com/v1/claro), not part of the products above. Its two interfaces are one to one: 9 tools and 12 operations, and 3 operations that only REST has.
| MCP tool | REST operation | How they relate |
|---|---|---|
search_premises | POST /v1/search | Equivalent. |
refine_search | POST /v1/search/refine | Equivalent. |
get_premises | GET /v1/premises/{id} | Equivalent. |
compare_premises | POST /v1/compare | Equivalent. |
explain_location | POST /v1/location | Equivalent. |
market_snapshot | POST /v1/market | Equivalent. |
brief_from_file | POST /v1/brief/file | Equivalent. Over REST the file is a multipart upload; over MCP, which has no multipart, it is sent as base64 in JSON. |
search_plots | POST /v1/plots/search | Equivalent. Germany, commercial plots: plots only, never premises. |
get_plot | GET /v1/plots/{id} | Equivalent. Germany, commercial plots. |
| — | PUT /v1/stores | Only over REST |
| — | GET /v1/health | Only over REST |
| — | POST /v1/search/ask | Only over REST |