Leasing pace and prelease
Compare leasing pace and prelease estimates for your properties.
Connect your AI tool to ask questions about your Rentametrix properties.
https://api.rentametrix.com/mcpNo API key. You sign in with your Rentametrix login.
Claude needs a paid plan. ChatGPT needs developer mode on a Plus, Pro, Business, Enterprise, or Edu plan. A workspace admin may need to allow it.
Client menus change over time. Each tab links to the vendor’s setup guide.
https://api.rentametrix.com/mcp as the MCP server URL.A browser window opens. Sign in with your Rentametrix login. Click Allow.
https://api.rentametrix.com/mcp. Leave Advanced empty.A browser window opens. Sign in with your Rentametrix login. Click Allow.
Connectors added on claude.ai show up in Claude Desktop. On Team or Enterprise, an owner adds the connector for the organization.
Run this in your terminal:
claude mcp add --transport http rentametrix https://api.rentametrix.com/mcpIn claude, run /mcp, pick rentametrix, and choose Authenticate.
A browser window opens. Sign in with your Rentametrix login. Click Allow.
For the CLI and IDE extension, run:
codex mcp add rentametrix --url https://api.rentametrix.com/mcpcodex mcp login rentametrixA browser window opens. Sign in with your Rentametrix login. Click Allow.
In Codex, /mcp lists rentametrix.
mcp.json (project settings use .cursor/mcp.json):{"mcpServers":{"rentametrix":{"url":"https://api.rentametrix.com/mcp"}}}A browser window opens. Sign in with your Rentametrix login. Click Allow.
Use Agent mode to call tools.
https://api.rentametrix.com/mcp, and name the server rentametrix.A browser window opens. Sign in with your Rentametrix login. Click Allow.
You can also use this configuration in .vscode/mcp.json:
{"servers":{"rentametrix":{"type":"http","url":"https://api.rentametrix.com/mcp"}}}Use GitHub Copilot Agent mode to call tools.
Run this in your terminal:
gemini mcp add --transport http rentametrix https://api.rentametrix.com/mcpIn gemini, run /mcp auth rentametrix.
A browser window opens. Sign in with your Rentametrix login. Click Allow.
Your client lists Rentametrix tools. Ask:
List my authorized Rentametrix properties.
Approve the tool call the first time.
Leasing pace and prelease
Compare leasing pace and prelease estimates for your properties.
Rates and rate tiers
Review rates, tier ladders, and rate schedules.
Market and comps
Compare your property’s position with its market and competitors.
Leases and renewals
Check lease trends and renewal rates by season.
Your client sees four tools: search_tools, describe_tool, describe_bundle, and invoke_tool. Behind them are the data tools below. What you can use depends on what your admin granted. If nothing is granted yet, search_tools returns an empty list; ask your admin. The API overview explains the four tools.
| Tool | What it does | Access needed |
|---|---|---|
context.list_authorized_resources | List a bounded page of resources authorized for this request. The result contains usable resource identities and no grant metadata. | Read, resident data access |
context.resolve_authorized_resource | Resolve one authorized resource by exact name or canonical ID. Unauthorized and nonexistent resources return the same safe result. | Read, resident data access |
| Tool | What it does | Access needed |
|---|---|---|
leasing.get_floorplan_renewal_rate | Get minimized renewal rates by floor-plan type for an exact authorized property and season. | Read, resident data access |
leasing.get_renewal_rate | Get the season's renewal reading for one authorized property and lease season, every figure on a named population: renewals and new leases executed season to date (with the executed renewal percentage), renewals committed but not yet executed (pending), committed renewals and committed leases, the prior season's expiring book as the renewal-rate denominator with that season's name, and the latest week's executed and pending renewal activity as a separate block. Counts are read off the season's bed placements through its as-of date, grouped by lease origination type, the same population the flight-path contract uses. Renewals and new leases are counted separately at the source; neither is derived by subtracting the other from a total, and a season whose renewals are all still pending is a readable population, not a gap. | Read, resident data access |
| Tool | What it does | Access needed |
|---|---|---|
lease_query.aggregate_leases | Aggregate leases for one authorized property and season with composable filters and grouping. Count includes real, active leases assigned to virtual-overflow beds; overflowLeases reports that subset so totals reconcile with physical bed inventory. Renewal rate is renewals divided by total leases in each group. Non-Rentable placeholder rows and Terminated leases are excluded from the default population; pass origination=unknown or status=Terminated/all to include them. cohort.statuses reports the included status set. | Read, resident data access |
lease_query.aggregate_leases_by_group | Aggregate leases across every member property of one authorized property group and season. Count includes real, active leases assigned to virtual-overflow beds; overflowLeases reports that subset. Non-Rentable placeholder rows and Terminated leases are excluded from the default population; pass origination=unknown or status=Terminated/all to include them. cohort.statuses reports the included status set. | Read, resident data access |
lease_query.get_flight_path | Get observed leasing for one authorized property and season, including event markers and planState. Without a rate-tier packet, returns partial observations and inventory; with a packet, also returns plan curves, tolerance bands and velocity projections. | Read, resident data access |
lease_query.get_lease_details | Get charges and adjustments for a specific lease in an authorized property. | Read, resident data access |
lease_query.get_rate_tiers | Get minimized configured rate tiers for an exact authorized property and lease season. | resident data access |
lease_query.get_resident_lease_details | Get minimized non-PII lease terms and bounded charges for an exact lease in an authorized property. | resident data access |
lease_query.list_leases | List minimized non-PII leases for one authorized property and season with composable filters and cursor pagination. Non-Rentable placeholder rows are excluded by default; pass origination=unknown to include them. | Read, resident data access |
lease_query.search_lease_records | Search the Records lens for one authorized property and global lease season (e.g. 2026). Optional scopeKind narrows to a floorPlanType, floorPlan or unit (pass the ancestor ids the same way the Records page does); search reaches the server (unit, property, floor plan and plan type names, exact ids) and then narrows the returned rows locally over unit, bed, floor plan, plan type, lease id, property and unit id text, exactly as the Records page does (bed and partial-id text only narrow returned rows); status and origin (new | renewal) facets, includeOverflow (default false) and includeLegacy (default true) apply the page's own rules. Cursor paging is the endpoint's own keyset cursor; limit is clamped to 100. Facets and local search narrow each server page after it is fetched, so a page may come back with zero records while nextCursor is still set: pageRowsBeforeFilters says how many rows the page held, and the caller should page forward. | Read, resident data access |
| Tool | What it does | Access needed |
|---|---|---|
market.get_comp_set | Get semantic market-property rate rows. Returns ALL active properties in the market by default and filters to configured competitors only when explicitly requested. Contributed values are visible only to the contributing account. | Read, resident data access |
market.get_market_lens | Get the Market lens composite for one market: weekly timeline, rate position against the comp set, bedroom-type rows, intel sources, public rates, movements and counts, specials, incentives, intel articles, freshness and survey coverage. Optionally anchor it on one of the caller's own properties to get 'ours vs the comp set'. Contributed values are visible only to the contributing account. Remote MCP callers must pass the market and property as UUIDs; NOT FOR full standalone specials or review history (use market.get_market_specials instead) and NOT FOR the public comp-set roster alone (use market.get_comp_set instead). | Read, resident data access |
market.get_prelease_estimates | Get prelease for every property in one market for a lease season, plus the market total, the market ceiling and the supply and demand behind it. Each property is `reported` (a value someone reported, with its date and source), `estimated` (a range from the market model, never a reported value) or `unknown`. When you cite an estimated row, say "estimated" and give the range (for example "22 to 31%, estimated"). Never present an estimate as reported and never read an unknown as 0%. `estimateScope` says whether the numbers use public data only or also your account's own reports; say which. If `estimatesServed` is false, only reported values are available. NOT FOR our own property's pace against its goal (use `lease_query.get_flight_path`) and NOT FOR advertised rents (use `market.list_rate_observations`). | Read |
market_history.get_market_pacing_data | Get tenant-scoped market pacing data for Partner and Customer callers. Returns only internally tracked properties owned by the caller's account. | Read |
| Tool | What it does | Access needed |
|---|---|---|
position.get_position_by_portfolio | Get this week's Position KPI ticker (blended rate, net revenue, tours, new leases, prelease) for every property in one authorized portfolio and lease season, exactly as GET /api/v1/position returns it. Most accounts have no authorized 'portfolio' resources; check context.list_authorized_resources(resourceKind: 'portfolio') first and use get_position_by_property_group when it is empty. | Read, resident data access |
position.get_position_by_property | Get this week's Position KPI ticker (blended rate, net revenue, tours, new leases, prelease) for one authorized property and lease season, exactly as GET /api/v1/position returns it. | Read, resident data access |
position.get_position_by_property_group | Get this week's Position KPI ticker (blended rate, net revenue, tours, new leases, prelease) for every member of one authorized property group and lease season, exactly as GET /api/v1/position returns it. | Read, resident data access |
| Tool | What it does | Access needed |
|---|---|---|
property_setup.get_property_address | Get the minimized configured postal address for an exact authorized property. | resident data access |
property_setup.get_rate_tier | Get minimized rate-tier packet detail for an exact authorized property and lease season. | resident data access |
property_setup.list_rate_tiers | List minimized configured rate-tier packets for an exact authorized property. | resident data access |
| Tool | What it does | Access needed |
|---|---|---|
rate_tier.get_schedule | Read the rate-tier schedule, committed-bed usage, and plan revisions for one authorized property and season. | Read, resident data access |
| Tool | What it does | Access needed |
|---|---|---|
specials.get_specials | Captured property specials with floor-plan attribution, source links, and retirement state. Retired history is opt-in. | Read, resident data access |
| Tool | What it does | Access needed |
|---|---|---|
fees_concessions.list_concessions | List minimized active concessions for an exact authorized property, optionally filtered to one floor plan. Each concession's floorPlan names the plan it was observed against; null means the concession applies property-wide rather than to a specific plan - floor-plan scope is only recorded for some concessions, so null is not the same as 'not modelled', it means this concession has no plan-level restriction. | resident data access |
| Tool | What it does | Access needed |
|---|---|---|
residents.get_residents | List the synced Entrata resident roster for an authorized property. Gender and employment/salary values are returned only when protected-field exposure is enabled; otherwise those stable fields are null. | Read, resident data access |
The connector does not show up
Check that you added Rentametrix in the client’s settings. Reopen the client and check its tools menu. On a managed workspace, ask your workspace admin to allow custom connectors.
Sign-in says my account is not enabled
Ask your Rentametrix admin to turn on AI connector access for your invited account.
The browser did not open
CLI clients need a browser on the same machine. Run the client on a machine with a browser, then try authentication again.
The tools list is empty or says insufficient scope
Disconnect Rentametrix and connect again. If it still fails, ask your admin to check your access.
I am asked to sign in again
The session expired. Sign in with your Rentametrix login and click Allow again.
Cursor or VS Code does not use the tools
Switch to Agent mode. Cursor and VS Code only use these tools in Agent mode.
ChatGPT developer mode is off in my workspace
Ask your workspace admin to allow developer mode and the Rentametrix connector.
If sign-in is not available for your account yet, or the client runs without a browser (a script or a scheduled agent), use an account key. Write to support@rentametrix.com with your account, the properties and what the tool must do. The full key shows once; keep it in a secret store.
Send it as a header on every request to the same URL:
Authorization: Bearer <your key>For example, in Claude Code:
claude mcp add --transport http rentametrix https://api.rentametrix.com/mcp \ --header "Authorization: Bearer <your key>"Most clients take the same header in their MCP settings. Never paste a key into a chat.
Remove Rentametrix in your client’s connector or MCP settings. Your admin can also turn access off; see revoking access. Tokens your client already holds stay valid until they expire.