Search Florida properties and new construction for sale with U.S. Prime Realty.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Calculate an estimate of home affordability
Private Mortgage Insurance (PMI) surcharge per month
Loan term (months)
Annual percentage
The debt to income ratio, as a percentage
Annual amount
Calculate an estimate of home affordability
| Argument | Type | Description |
|---|---|---|
| pmi | number | Private Mortgage Insurance (PMI) surcharge per month |
| hoaDues | number | |
| loanTerm | integer | Loan term (months) |
| calculateBy | string | |
| downPayment | number | |
| propertyTax | number | Annual percentage |
| annualIncome | number | |
| debtToIncome | number | The debt to income ratio, as a percentage |
| interestRate | number | |
| monthlyDebts | number | |
| homeInsurance | number | Annual amount |
| maximumPayment | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"pmi": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Private Mortgage Insurance (PMI) surcharge per month"
},
"hoaDues": {
"type": "number",
"default": 0,
"minimum": 0
},
"loanTerm": {
"type": "integer",
"default": 360,
"maximum": 9007199254740991,
"description": "Loan term (months)",
"exclusiveMinimum": 0
},
"calculateBy": {
"enum": [
"income",
"payment"
],
"type": "string",
"default": "income"
},
"downPayment": {
"type": "number",
"default": 20000,
"minimum": 0
},
"propertyTax": {
"type": "number",
"default": 1.2,
"minimum": 0,
"description": "Annual percentage"
},
"annualIncome": {
"type": "number",
"default": 70000,
"exclusiveMinimum": 0
},
"debtToIncome": {
"type": "number",
"default": 36,
"minimum": 0,
"description": "The debt to income ratio, as a percentage"
},
"interestRate": {
"type": "number",
"default": 5.7,
"exclusiveMinimum": 0
},
"monthlyDebts": {
"type": "number",
"default": 250,
"minimum": 0
},
"homeInsurance": {
"type": "number",
"default": 945,
"minimum": 0,
"description": "Annual amount"
},
"maximumPayment": {
"type": "number",
"default": 1850,
"exclusiveMinimum": 0
}
}
}Book an appointment on the calendar
| Argument | Type | Description |
|---|---|---|
| contactId* | string | The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first. |
| startTime* | string | The start time for the appointment (ISO 8601 format) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId",
"startTime"
],
"properties": {
"contactId": {
"type": "string",
"minLength": 1,
"description": "The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first."
},
"startTime": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "The start time for the appointment (ISO 8601 format)"
}
}
}Cancel an existing appointment on the calendar
| Argument | Type | Description |
|---|---|---|
| bookingId* | string | The booking ID returned by a previous book_appointment call in this conversation. Never guess or invent one; if you don't have it, ask the person to rebook or contact the brokerage. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"bookingId"
],
"properties": {
"bookingId": {
"type": "string",
"minLength": 1,
"description": "The booking ID returned by a previous book_appointment call in this conversation. Never guess or invent one; if you don't have it, ask the person to rebook or contact the brokerage."
}
}
}Retrieve a specific real estate guide's (or multiple guides') download link for the agent to share with the user
| Argument | Type | Description |
|---|---|---|
| guideIds* | array | The IDs of the guides to download. Reference IDs from get_guides_list. |
| contactId* | string | The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId",
"guideIds"
],
"properties": {
"guideIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "The IDs of the guides to download. Reference IDs from get_guides_list."
},
"contactId": {
"type": "string",
"minLength": 1,
"description": "The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first."
}
}
}Retrieve available appointment slots from the calendar
| Argument | Type | Description |
|---|---|---|
| endTime* | string | The end time for the range of available slots to retrieve (ISO 8601 format) - max range is 2 weeks |
| timezone | string | The timezone for the appointment slots (e.g.: America/New_York) |
| startTime* | string | The start time for the appointment (ISO 8601 format) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"startTime",
"endTime"
],
"properties": {
"endTime": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "The end time for the range of available slots to retrieve (ISO 8601 format) - max range is 2 weeks"
},
"timezone": {
"type": "string",
"default": "America/New_York",
"description": "The timezone for the appointment slots (e.g.: America/New_York)"
},
"startTime": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "The start time for the appointment (ISO 8601 format)"
}
}
}Retrieve a list of all available real estate guides for the agent to share with the user
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get details for either a single listing or several listings
| Argument | Type | Description |
|---|---|---|
| listings* | array | An array of full listing IDs to retrieve details for (include at least 1) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"listings"
],
"properties": {
"listings": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"brokerage"
],
"properties": {
"id": {
"type": "string"
},
"brokerage": {
"type": "string"
}
}
},
"minItems": 1,
"description": "An array of full listing IDs to retrieve details for (include at least 1)"
}
}
}Calculate an estimated mortgage price for a property
| Argument | Type | Description |
|---|---|---|
| rate* | number | Annual interest rate (e.g., 7.5) |
| price* | number | Total listing price |
| years* | integer | Loan term (years) |
| downPayment* | number | |
| rentalIncome | number | Monthly rental income (dollars) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"price",
"downPayment",
"rate",
"years"
],
"properties": {
"rate": {
"type": "number",
"description": "Annual interest rate (e.g., 7.5)",
"exclusiveMinimum": 0
},
"price": {
"type": "number",
"description": "Total listing price",
"exclusiveMinimum": 0
},
"years": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Loan term (years)",
"exclusiveMinimum": 0
},
"downPayment": {
"type": "number",
"minimum": 0
},
"rentalIncome": {
"type": "number",
"description": "Monthly rental income (dollars)",
"exclusiveMinimum": 0
}
}
}Send a request to notify an agent that the user requires attention
| Argument | Type | Description |
|---|---|---|
| notes | string | Notes that should be saved along with the contact from the agent |
| message | string | Additional message or notes from the user |
| contactId* | string | The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId"
],
"properties": {
"notes": {
"type": "string",
"description": "Notes that should be saved along with the contact from the agent"
},
"message": {
"type": "string",
"description": "Additional message or notes from the user"
},
"contactId": {
"type": "string",
"minLength": 1,
"description": "The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first."
}
}
}Reschedule an existing appointment on the calendar
| Argument | Type | Description |
|---|---|---|
| bookingId* | string | The booking ID returned by a previous book_appointment call in this conversation. Never guess or invent one; if you don't have it, ask the person to rebook or contact the brokerage. |
| startTime* | string | The start time for the appointment (ISO 8601 format) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"bookingId",
"startTime"
],
"properties": {
"bookingId": {
"type": "string",
"minLength": 1,
"description": "The booking ID returned by a previous book_appointment call in this conversation. Never guess or invent one; if you don't have it, ask the person to rebook or contact the brokerage."
},
"startTime": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "The start time for the appointment (ISO 8601 format)"
}
}
}Save listings to a custom URL for the user, which should then be shared by the agent
| Argument | Type | Description |
|---|---|---|
| contactId* | string | The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first. |
| listingIds* | array | Full list of Listing IDs to save to the user's profile, overwriting any previous saved listings |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId",
"listingIds"
],
"properties": {
"contactId": {
"type": "string",
"minLength": 1,
"description": "The contact ID returned in the `contact` field of a previous send_contact_info call in this conversation.Never guess, invent, or reuse an ID from elsewhere. If you don't have one yet, collect the person's name and email or phone and call send_contact_info first."
},
"listingIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "Full list of Listing IDs to save to the user's profile, overwriting any previous saved listings"
}
}
}Search Florida listings through IDX Broker. Provide community OR zipcode (zipcode overrides community). listingIds overrides every filter except sort. Sort 'pra' requires mip; sort 'sqfta' requires sqft. Returns up to 25 results by default plus a searchURL to share with the client.
| Argument | Type | Description |
|---|---|---|
| beds | integer | |
| sort | string | How to sort the results (note that only the top 25 will be returned by default); newest = newest listings, oldest = oldest listings, pra = least expensive to most (requires minimum asking price parameter), prd = most expensive to least, bda = bedrooms (low to high), bdd = bedrooms (high to low), tba = bathrooms (low to high) tbd = bathrooms (high to low), sqfta = square footage (low to high, requires sqft parameter), sqftd = square footage (high to low) |
| sqft | integer | Required when sorting by low-to-high square footage |
| baths | integer | |
| limit | integer | Maximum number of results to return (default: 25) |
| daysOld | integer | Maximum number of days since the listing was created |
| zipcode | integer | |
Upload the user's contact information to U.S. Prime Realty's CRM
| Argument | Type | Description |
|---|---|---|
| name* | string | The name of the user (preferably full name |
| notes | string | Notes that should be saved along with the contact from the agent |
| address | string | |
| contact* | object | At least ONE OF email/phone is required |
| message | string | Additional message or notes from the user |
| interestedIn | array | The type of property/properties the user is interested in; i.e. Waterfront Homes, School-Zone Properties, Pre-Construction Condos, Gulf Access, Pool Homes, New Builds, Waterfront Only, High-Rise Condos, Gated Communities, New Construction, Beachfront Condos, Gated Homes |
| targetLocation | array | The location the user is interested in |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"contact"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the user (preferably full name"
},
"notes": {
"type": "string",
"description": "Notes that should be saved along with the contact from the agent"
},
"address": {
"type": "string"
},
"contact": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string"
}
},
"description": "At least ONE OF email/phone is required"
},
"message": {
"type": "string",
"description": "Additional message or notes from the user"
},
"interestedIn": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "The type of property/properties the user is interested in; i.e. Waterfront Homes, School-Zone Properties, Pre-Construction Condos, Gulf Access, Pool Homes, New Builds, Waterfront Only, High-Rise Condos, Gated Communities, New Construction, Beachfront Condos, Gated Homes"
},
"targetLocation": {
"type": "array",
"items": {
"enum": [
"Aventura",
"Cape Coral",
"Fort Lauderdale",
"Fort Myers",
"Miami",
"Naples",
"Orlando",
"Tampa"
],
"type": "string"
},
"default": [],
"description": "The location the user is interested in"
}
}
}| community |
| string |
| furnished | string | Leave blank for 'No Preference' |
| yearBuilt | integer | Set to current year for 'New Construction' |
| listing_ids | array | Exact MLS listing IDs to look up directly |
| maximumPrice | integer |
| minimumPrice | integer | Required when sorting by low-to-high price |
| pets_allowed | boolean | Leave blank for 'No Preference' |
| property_type | string | The sub-category of properties to include in the search; sfr = Single Family Residential, rnt = Rental, lse = Lease |
| hoa_preference | string | Leave blank for 'No Preference' |
| propertySubType | string | Overrides property_type |
| community_feature | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"beds": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"sort": {
"enum": [
"newest",
"oldest",
"pra",
"prd",
"bda",
"bdd",
"tba",
"tbd",
"sqfta",
"sqftd"
],
"type": "string",
"description": "How to sort the results (note that only the top 25 will be returned by default); newest = newest listings, oldest = oldest listings, pra = least expensive to most (requires minimum asking price parameter), prd = most expensive to least, bda = bedrooms (low to high), bdd = bedrooms (high to low), tba = bathrooms (low to high) tbd = bathrooms (high to low), sqfta = square footage (low to high, requires sqft parameter), sqftd = square footage (high to low)"
},
"sqft": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Required when sorting by low-to-high square footage"
},
"baths": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 9007199254740991,
"description": "Maximum number of results to return (default: 25)",
"exclusiveMinimum": 0
},
"daysOld": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Maximum number of days since the listing was created"
},
"zipcode": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"community": {
"enum": [
"Aventura",
"Cape Coral",
"Fort Myers",
"Fort Lauderdale",
"Miami",
"Naples",
"Orlando",
"Tampa"
],
"type": "string"
},
"furnished": {
"enum": [
"Furnished",
"Partially",
"Unfurnished"
],
"type": "string",
"description": "Leave blank for 'No Preference'"
},
"yearBuilt": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Set to current year for 'New Construction'"
},
"listing_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Exact MLS listing IDs to look up directly"
},
"maximumPrice": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"minimumPrice": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1000,
"description": "Required when sorting by low-to-high price"
},
"pets_allowed": {
"type": "boolean",
"description": "Leave blank for 'No Preference'"
},
"property_type": {
"enum": [
"sfr",
"rnt",
"lse"
],
"type": "string",
"description": "The sub-category of properties to include in the search; sfr = Single Family Residential, rnt = Rental, lse = Lease"
},
"hoa_preference": {
"enum": [
"No HOA",
"HOA"
],
"type": "string",
"description": "Leave blank for 'No Preference'"
},
"propertySubType": {
"enum": [
"Apartment",
"Condominium",
"Duplex",
"Townhouse"
],
"type": "string",
"description": "Overrides property_type"
},
"community_feature": {
"enum": [
"Beach",
"Gated",
"Golf"
],
"type": "string"
}
}
}