Skip to main content
Glama
markswendsen-code

MCP Apartments

README.md
# @striderlabs/mcp-apartments

MCP server for Apartments.com — let AI agents search rental listings, compare properties, schedule tours, contact managers, and more.

## Tools

| Tool | Description |
|------|-------------|
| `apartments_status` | Check Apartments.com login status |
| `apartments_login` | Get login URL and instructions |
| `apartments_logout` | Log out and clear session |
| `apartments_search` | Search by location, price, beds, baths, pet policy, amenities |
| `apartments_filter` | Filter last search results in memory |
| `apartments_sort` | Sort last search results (price, rating, beds) |
| `apartments_details` | Full property details: floor plans, photos, fees, policies |
| `apartments_floor_plans` | Available floor plans and pricing for a property |
| `apartments_schedule_tour` | Schedule in-person, virtual, or self-guided tours |
| `apartments_contact` | Send a message to a property manager |
| `apartments_save_favorite` | Save a property to favorites (requires login) |
| `apartments_get_favorites` | Get your saved favorite properties (requires login) |
| `apartments_compare` | Compare up to 5 properties side by side |
| `apartments_price_alert` | Set a price drop alert for a property (requires login) |
| `apartments_neighborhood` | Walk/transit scores and nearby amenities for a location |

## Requirements

- Node.js 18+
- Chromium (installed automatically via patchright)

## Installation

```bash
npm install -g @striderlabs/mcp-apartments
npx patchright install chromium
```

## MCP Configuration

Add to your MCP client config (e.g. `~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "apartments": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-apartments"]
    }
  }
}
```

Or if installed globally:

```json
{
  "mcpServers": {
    "apartments": {
      "command": "striderlabs-mcp-apartments"
    }
  }
}
```

## Authentication

Most tools work without login. Sign in for access to favorites, price alerts, and saved searches:

1. Call `apartments_login` to get the sign-in URL
2. Open the URL in your browser and complete login
3. Call `apartments_status` to confirm — session is saved locally

Session cookies are stored at `~/.strider/apartments/`.

## Usage Examples

### Search for apartments

```
Search for 2-bedroom apartments in Austin TX under $2500/month that allow dogs
```

Tools called: `apartments_search` → `apartments_filter` (petFriendly)

### Compare properties

```
Compare these three apartments side by side: [url1, url2, url3]
```

Tool called: `apartments_compare`

### Schedule a tour

```
Schedule an in-person tour at [property url] for March 20 at 2pm
```

Tool called: `apartments_schedule_tour` (preview first, then confirm: true)

### Get neighborhood info

```
What's the walkability and transit score for South Austin TX?
```

Tool called: `apartments_neighborhood`

### Set a price alert

```
Alert me at email@example.com if this apartment drops below $1800/mo
```

Tool called: `apartments_price_alert`

## Safety

Tools that submit data (`apartments_schedule_tour`, `apartments_contact`) require `confirm: true`. Without it, they return a preview of the action. This prevents accidental submissions.

## Development

```bash
git clone <repo>
cd striderlabs-mcp-apartments
npm install
npx patchright install chromium
npm run build
npm start
```

---

Built by [Strider Labs](https://striderlabs.ai) · [MCP Protocol](https://modelcontextprotocol.io)