zameen-mcp
Enables AI assistants to research Zameen.com property listings with verified/titanium filtering, local watchlists, listing details, and agent-message drafting through structured tools.
README
<div align="center">
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/lonewolfmasanaga/zameen.com-mcp/main/assets/zameen-logo-white.svg"> <img src="https://raw.githubusercontent.com/lonewolfmasanaga/zameen.com-mcp/main/assets/zameen-logo.png" alt="zameen.com" width="360"> </picture>
MCP server for researching property listings on Zameen.com
Verified / Titanium-agent filtering · local watchlists · listing details · agent-message drafting — through 9 structured tools in any MCP client.
Tool reference · Deployment guide · Contributing · Changelog
</div>
An MCP (Model Context Protocol) server for researching property listings on Zameen.com — Pakistan's largest real estate portal — through structured tools instead of fragile screen scraping.
Trademark notice: "Zameen" and the Zameen.com logo are trademarks of Zameen.com (EMPG). They are used here solely to identify the service this tool interfaces with. This project is unaffiliated with, and not endorsed by, Zameen.com.
Works with any MCP client: Claude Desktop, Hermes Agent, Cursor, and others.
Install
# run directly with no permanent install (recommended)
uvx zameen-mcp
# or install as an isolated CLI tool
pipx install zameen-mcp
Register in your MCP client
{
"mcpServers": {
"zameen": {
"command": "uvx",
"args": ["zameen-mcp"]
}
}
}
That's it — 9 tools appear in your AI client.
Tools
| Tool | What it does |
|---|---|
search_properties |
Structured search: city, purpose, type, beds, price, area, keywords, sort |
get_listing_details |
Full detail page for one listing (URL or numeric id) |
list_supported_cities |
Verified city slugs + property types |
add_watch / check_watch |
Save search criteria locally; later re-checks report only NEW listings |
list_watches / remove_watch |
Manage saved watches |
draft_agent_message |
Compose a polite inquiry for a listing — draft only, never sends |
account_status |
Whether an authenticated session is loaded |
Badge-level filtering Zameen's own UI can't do: verified_only,
agent_tier (e.g. "titanium"), exclude_promoted.
Full parameter reference + natural-language cheat sheet: docs/TOOLS.md
Optional: log in to your Zameen account
Anonymous searching works out of the box. To also ride your logged-in session (saved searches, personalized pages):
pipx inject zameen-mcp playwright && .venv/bin/playwright install chromium # pipx
uv tool install zameen-mcp --with playwright && playwright install chromium # uv
zameen-mcp-login # opens a Chromium window; YOU log in; cookies stay local
Your password is never seen or stored by this software — only the resulting
session cookies, kept in ~/.zameen-mcp/ on your machine. Wipe anytime:
zameen-mcp-login --logout.
Data location
All state lives in ~/.zameen-mcp/ (watches.json, session_state.json,
chrome-profile/). Override with the ZAMEEN_MCP_HOME environment variable.
Treat session_state.json like a password: it grants access to your account
while valid.
Development
git clone <repo-url> && cd zameen.com
uv venv .venv && uv pip install -p .venv/Scripts/python.exe -e ".[dev]"
.venv/Scripts/python.exe -m pytest -q # offline suite against real captured pages
.venv/Scripts/python.exe smoke_test.py # live end-to-end check
Compliance & fair use
- Zameen.com's
robots.txtdisallows crawling its major-city listing pages. This server is built for interactive, human-paced research — a person asking their assistant questions — not bulk harvesting or redistribution. - Requests go out one at a time with browser-like headers. Don't remove the pacing or loop searches unattended.
- Listing data belongs to Zameen.com and its advertisers; "Zameen" is a trademark of Zameen.com. This project is unaffiliated and not endorsed.
- Prices are agent-entered, as-listed — not verified market valuations.
Limitations
- Read-only by design: no posting, messaging, or account changes — contacting
agents is deliberately a human action (
draft_agent_messageonly drafts). - Badge filters operate on fetched result pages (up to 3 per call).
- Parsing targets Zameen's current HTML; site redesigns may require parser updates (fixtures make regressions easy to catch).
MIT licensed — see LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.