All Projects

RentCafe MCP Server

A Model Context Protocol server that lets Claude (or any MCP client) query RentCafe Site Manager directly. Built on Anthropic's MCP SDK with a browser-authenticated headless Puppeteer session, because RentCafe doesn't expose a public API.

Why this exists

RentCafe is the system of record for leasing data across the portfolio, but Site Manager has no public API at our tier. Day-to-day questions (which units are vacant, what notices were sent, what rent changes are pending) require manual lookup. I built an MCP server that holds an authenticated browser session and exposes those same actions to any Model Context Protocol client, so an agent can answer them live.

Architecture

1

Browser Auth

One-time `npm run auth` opens a real Chromium window. The user signs into RentCafe; cookies and tokens are persisted to the local profile.

2

MCP Server

Node server speaks the Model Context Protocol over stdio, registering each Site Manager action as an MCP tool with typed input and output schemas.

3

Headless Session

Tool calls are executed against a long-lived Puppeteer session that reuses the persisted profile. No re-auth, no scraping cycles.

4

Agent Integration

Drop the server into Claude Desktop, Cursor, or any MCP client. The agent gets typed access to live portfolio data without leaving its tool loop.

What the agent can do

  • Query unit availability, lease status, and notices across 60+ properties
  • Pull rent change history and pending renewals without leaving the chat
  • Read leasing activity per property without ILS exports or vendor calls
  • Cross-reference Site Manager state with bv_admin's MySQL records
  • Run multi-step workflows (lookup → compare → summarize) inside one MCP session

Engineering notes

  • Anthropic SDK + @modelcontextprotocol/sdk over stdio transport
  • Tools defined with explicit JSON schemas so model output is validated before action
  • Persistent Puppeteer profile keeps the auth alive across server restarts
  • Defensive selectors and retry logic for the brittle parts of Site Manager's UI
  • Designed so adding a new RentCafe action is one tool definition + one Puppeteer routine

Status: Internal, unpublished. Built before MCP became mainstream tooling. Available to walk through on a screen-share.

MCP

Server Protocol

60+

Properties Accessible

Browser

Authenticated Session

0

Public API Required

Built With

Node.jsTypeScriptMCP SDKAnthropic SDKPuppeteerHeadless Chrome