Skip to main content
Glama
robcerda

RentCast MCP Server

by robcerda
README.md
# RentCast MCP Server

Model Context Protocol (MCP) server for connecting Claude with the RentCast API. It provides tools for accessing property data, valuations, and market statistics through the RentCast API.

## Requirements

* Python 3.12 or higher
* Model Context Protocol (MCP) Python SDK
* httpx
* python-dotenv

## Setup

### 1. Install uv (recommended)

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

### 2. Clone this repository

```bash
git clone https://github.com/yourusername/rentcast-mcp-server.git
cd rentcast-mcp-server
```

### 3. Create and activate a virtual environment

```bash
# Create virtual environment
uv venv

# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
```

### 4. Install dependencies

```bash
# Option 1: Using uv (recommended)
uv sync

# Option 2: Using pip with requirements.txt
pip install -r requirements.txt

# Option 3: Install as editable package
uv pip install -e .
```

### 5. Set up environment variables

Create a `.env` file in the project root with your RentCast API key:

```bash
RENTCAST_API_KEY=your_api_key_here
```

## Usage

### 1. Configure Claude Desktop

First, install the MCP CLI globally:

```bash
uv tool install "mcp[cli]"
```

Then add this server to your Claude Desktop configuration file (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "RentCast": {
      "command": "/Users/<USERNAME>/.local/share/uv/tools/mcp/bin/mcp",
      "args": ["run", "/full/path/to/rentcast-mcp-server/src/rentcast_mcp_server/server.py"]
    }
  }
}
```

**Important**: Replace `/full/path/to/` with the actual absolute path to your `rentcast-mcp-server` directory.

Restart Claude Desktop after saving the configuration.

### 2. Use the MCP server with Claude

Once configured, Claude Desktop will have access to these RentCast tools:

* **`get_property_data`**: Get detailed property data for a specific property ID
* **`get_property_valuation`**: Get property value estimates
* **`get_rent_estimate`**: Get rent estimates for a property
* **`get_market_statistics`**: Get market statistics for a ZIP code area
* **`get_property_listings`**: Get active property listings in a ZIP code area

**Example queries to try with Claude:**
- "Get market statistics for ZIP code 90210"
- "Show property listings in ZIP code 10001"
- "What are the market trends in ZIP code 02101?"

## Development and testing

Install development dependencies and run the test suite with:

```bash
uv sync --all-extras
pytest -v tests
```

### Running the server locally

To start the server manually (useful when developing or testing), run:

```bash
rentcast-mcp
```

Alternatively, you can run it directly with:

```bash
uv run python src/rentcast_mcp_server/server.py
```

### Installing MCP CLI globally

If you want to use `mcp run` commands, install the MCP CLI globally:

```bash
uv tool install "mcp[cli]"
```

Then you can run:

```bash
mcp run src/rentcast_mcp_server/server.py
```

## License

MIT

TDQS

B3/5.0

Scored across 12 tools

Disambiguation3/5

The tools have clear distinctions between property, rental, and sale data, but there is significant overlap in the 'get_property_data', 'get_property_record_by_id', and 'get_property_records' tools, which could confuse agents about which to use for specific property queries. Descriptions help clarify, but the boundaries are not entirely distinct.

Naming Consistency5/5

All tool names follow a consistent 'get_<resource>_<action>' pattern using snake_case, with variations like 'by_id' or 'listings' that are predictable and readable. There are no deviations in naming conventions across the set.

Tool Count4/5

With 12 tools, the count is reasonable for a real estate data server, covering market stats, property details, and listings. It might be slightly heavy, but each tool serves a specific purpose without obvious redundancy, fitting well within the typical 3-15 range for a focused domain.

Completeness4/5

The tool set provides comprehensive read-only coverage for real estate data, including statistics, property records, and listings for rentals and sales. Minor gaps exist, such as no update or delete operations, but this is typical for a data retrieval API, and agents can work around it for most use cases.

Maintenance

ActivityInactive
ResponsivenessNo issues