RentReboot Apartment Search
NYC rent data and guides; OAuth tools for apartment alerts, saved searches and lottery status.
Should I use this
Quality & Safety
Findings (1)
- LOWin list_housing_lottery_applications
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"rentreboot": {
"url": "https://rentreboot.com/api/mcp"
}
}
}Remote endpoints
https://rentreboot.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (13)
π’search_guides(query, limit)
Search RentReboot public NYC renter guides by keyword and return canonical URLs.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Keywords such as rent stabilization, guarantor, or security deposit"
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_alerted_listings(limit, cursor, includeHidden)
List apartments RentReboot already sent to the connected renter, newest first, with saved, hidden, and contacted/toured/applied state. Pass nextCursor to see older alerts (up to the latest 200). Hidden apartments are left out unless includeHidden is true. Links open the listing through RentReboot. Never returns account identifiers or broker contact details.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 25
},
"cursor": {
"description": "nextCursor from the previous page",
"type": "string",
"pattern": "^\\d{1,4}$"
},
"includeHidden": {
"default": false,
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"listingId": {
"type": "string"
},
"address": {
"type": "string"
},
"neighborhood": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"bedrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"bathrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"availableAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"alertSentAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"noFee": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"rentStabilized": {
"type": "boolean"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"saved": {
"type": "boolean"
},
"hidden": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"none",
"contacted",
"toured",
"applied"
]
}
},
"required": [
"listingId",
"address",
"neighborhood",
"bedrooms",
"bathrooms",
"price",
"availableAt",
"alertSentAt",
"source",
"noFee",
"rentStabilized",
"url",
"saved",
"hidden",
"status"
],
"additionalProperties": false
}
},
"nextCursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"count",
"results",
"nextCursor"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π‘update_alerted_listing(listingId, saved, hidden, status)
Change the connected renter's state for one apartment from their alerts: save it, hide it, or mark it contacted, toured, or applied (status "none" clears it). Same as the buttons on the RentReboot dashboard. Use a listingId from list_alerted_listings.
Input Schema
{
"type": "object",
"properties": {
"listingId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
},
"saved": {
"type": "boolean"
},
"hidden": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"none",
"contacted",
"toured",
"applied"
]
}
},
"required": [
"listingId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_account
Show the connected renter's plan (free or paid), whether apartment alerts are on or paused, market, alert frequency, and delivery channel, plus a link to manage the account.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_search_preferences
Show the connected renter's saved alert search: budget, bedrooms, bathrooms, neighborhoods, move-in date, no-fee and rent-stabilized filters, amenities, subway lines, alert frequency, and channel. Read this before changing the search.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}π’find_search_neighborhoods(query, limit)
Look up neighborhood names and ids the connected renter can add to their alert search, in their own market. Returns names only, not listings.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Part of a name, for example \"williams\" or \"upper\"",
"type": "string",
"maxLength": 60
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}π΄update_search_preferences(city, maxRent, minRent, bedrooms, includeNearbyBedroomCounts, ...)
Change the connected renter's saved alert search. Send only the fields to change; everything else stays. Saves exactly like the RentReboot preferences page, so its rules apply (for example a search always keeps at least one neighborhood). For a new account, set city together with neighborhoods once; after that the market cannot change here. Confirm the change with the renter first. Weekly recap pauses individual alerts.
Input Schema
{
"type": "object",
"properties": {
"city": {
"description": "Only for a new search with no neighborhoods yet; send neighborhoods with it",
"type": "string",
"enum": [
"nyc",
"sf",
"la",
"chicago",
"dc",
"miami",
"boston",
"seattle",
"philadelphia",
"london"
]
},
"maxRent": {
"type": "integer",
"minimum": 500,
"maximum": 100000
},
"minRent": {
"description": "null removes the minimum",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000
},
{
"type": "null"
}
]
},
"bedrooms": {
"description": "0 is a studio, 4 means 4 or more",
"minItems": 1,
"maxItems": 5,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4
}
},
"includeNearbyBedroomCounts": {
"type": "boolean"
},
"bathrooms": {
"minItems": 1,
"maxItems": 4,
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 4
}
},
"moveInDate": {
"description": "YYYY-MM-DD, or null for no date",
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"strictMoveInDate": {
"description": "Only listings available within 31 days before the move-in date",
"type": "boolean"
},
"neighborhoods": {
"description": "Names or ids from find_search_neighborhoods",
"type": "object",
"properties": {
"add": {
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"remove": {
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"set": {
"minItems": 1,
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
}
}
},
"noFeeOnly": {
"type": "boolean"
},
"rentStabilized": {
"type": "string",
"enum": [
"all",
"likely",
"verified"
]
},
"amenities": {
"description": "Replaces the whole amenity list",
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"amenity": {
"type": "string",
"enum": [
"elevator",
"pets",
"dishwasher",
"laundry",
"central_ac",
"doorman",
"gym",
"public_outdoor_space",
"storage",
"bike_room",
"package_room",
"roofdeck",
"virtual_doorman",
"washer_dryer",
"parking",
"furnished"
]
},
"required": {
"type": "boolean"
}
},
"required": [
"amenity",
"required"
]
}
},
"subwayLines": {
"description": "NYC only; replaces the whole list",
"maxItems": 30,
"type": "array",
"items": {
"type": "object",
"properties": {
"line": {
"type": "string",
"pattern": "^[A-Za-z0-9]{1,2}$"
},
"required": {
"type": "boolean"
}
},
"required": [
"line",
"required"
]
}
},
"includeUndisclosedAddresses": {
"type": "boolean"
},
"alertFrequency": {
"description": "minimal (1-2/day), medium (3-4/day), all, or weekly_recap",
"type": "string",
"enum": [
"minimal",
"medium",
"all",
"weekly_recap"
]
},
"weeklyRecapDay": {
"type": "string",
"enum": [
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
]
},
"channel": {
"description": "Text alerts need a phone number already on the account",
"type": "string",
"enum": [
"email",
"sms",
"both"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}π‘set_apartment_alerts(enabled)
Pause (enabled=false) or resume (enabled=true) the connected renter's apartment alerts. Their search, plan, billing, and Housing Connect settings stay as they are. Confirm with the renter first.
Input Schema
{
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_upcoming_matches(limit)
List historical apartment records matching the connected renterβs saved requirements, useful for planning upcoming availability. Read-only and excludes broker contact details and account identifiers.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"neighborhood": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"bedrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"bathrooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"availableAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"alertSentAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"noFee": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"rentStabilized": {
"type": "boolean"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"address",
"neighborhood",
"bedrooms",
"bathrooms",
"price",
"availableAt",
"alertSentAt",
"source",
"noFee",
"rentStabilized",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"count",
"results"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’list_housing_lottery_applications(limit)
List the connected renterβs provider-confirmed NYC Housing Connect application statuses. Read-only. Excludes credentials, application numbers, income, household details, email, and internal identifiers.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"area": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string"
},
"submittedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"deadline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"area",
"status",
"submittedAt",
"deadline"
],
"additionalProperties": false
}
}
},
"required": [
"count",
"results"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}π’get_guide(slug)
Retrieve a public RentReboot guide as Markdown using its slug.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"maxLength": 120,
"pattern": "^[a-z0-9-]+$"
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_neighborhoods(query, limit)
List NYC neighborhoods that have published RentReboot asking-rent percentile data.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 100
},
"limit": {
"default": 50,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}π’get_rent_data(area, bedrooms, category)
Retrieve aggregate asking-rent percentiles and sample sizes for a published NYC neighborhood. Values are not individual listings or personal data.
Input Schema
{
"type": "object",
"properties": {
"area": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Neighborhood name or URL slug, for example Chelsea or upper-west-side"
},
"bedrooms": {
"description": "0 means studio; omit to return all bedroom counts",
"type": "integer",
"minimum": 0,
"maximum": 6
},
"category": {
"default": "all",
"type": "string",
"enum": [
"all",
"likely",
"verified"
]
}
},
"required": [
"area"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence