CIAN MCP server
CIAN MCP Server
An MCP server for searching Moscow apartment listings on CIAN: filters, price history and rental yield estimates
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- Only reads public listings and price history; it does not publish or change data
- Uses an unofficial internal API that may rate-limit or block frequent requests
Install
Manual install
uv sync && uv run python server.pyLocal run; the server listens on http://localhost:8080/mcp.
This is third-party code. Review the repository files before installing.
What it does
The server talks to CIAN's internal API through cloudscraper and gives an agent four tools: apartment search by district or administrative area with price, room count and floor filters, the full price history for a specific listing, a rental yield and payback estimate, and clearing the in-memory cache. Results are cached in the process's memory to speed up repeated queries and reset on restart. It runs locally via uv run or in Docker and listens over HTTP on its own port.
Who it is for. For people searching for an apartment in Moscow or evaluating real estate as an investment who want to do it through an agent.
Good fit when
- You want to filter apartments by district and budget in one request
- You want to see how a specific listing's price has changed over time
- You want a rough rental yield and payback estimate to compare options
Not a fit when
- You need search outside Moscow: the district data in the project only covers Moscow
- You need a precise financial estimate: the yield calculation is simplified, not full investment analysis
- You need an official CIAN API: the server uses the site's internal, undocumented interface
Example request
Find one-bedroom apartments on CIAN inside the Third Ring Road for up to 12 million rublesLimitations
The project has a single author, no license, and is marked in the README as private, use at your own discretion. The server depends on CIAN's internal API, which can change without notice and break it. The cache is in-memory only and does not survive a restart. District data is limited to Moscow and the Moscow region.
How to disable. Stop the server process or container and remove it from your MCP client config.
MCP
- Transport
- http
- Authentication
- not required
Security check
- Only reads public listings and price history; it does not publish or change data
- Uses an unofficial internal API that may rate-limit or block frequent requests
README in short
The English README covers the project structure, stack (Python, FastMCP, cloudscraper, Docker), four tools, local launch via uv and Docker, health check and MCP endpoints. It separately notes the project depends on CIAN's internal API and is meant for personal use or lightweight deployment.
FAQ
Do I need a CIAN API key?
No, the server talks to the site's internal API through cloudscraper without a separate key.
Can the server run in Docker?
Yes, the repository has a Dockerfile, built with docker build -t cian-mcp . and run with docker run -p 8080:8080 cian-mcp.
Related
A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes
A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more
Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI