Rate-My-Agent
Get matched with a top-rated, review-verified real estate agent in the US or Canada.
Should I use this
Quality & Safety
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": {
"rate-my-agent": {
"url": "https://mcp.rate-my-agent.com/mcp"
}
}
}Remote endpoints
https://mcp.rate-my-agent.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢get_local_agent_review_data(city, prov_state)
Returns Rate-My-Agent.com's verified-review statistics for one city: how many reviewed agents and verified reviews exist there and site-wide, the average rating, the most-reviewed neighbourhoods, and whether the free matching service covers that city (it covers every US and Canadian city). Call it when the user asks about real estate agents in a specific place, or before running the matching questionnaire, to show what the ratings are based on. It returns aggregate statistics only — it does not return, rank or recommend individual agents. To collect the user's requirements, call get_matching_questions next.
Input Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name, e.g. \"Austin\" or \"Vancouver\"."
},
"prov_state": {
"type": "string",
"description": "2-letter province/state code, e.g. \"BC\", \"TX\"."
}
},
"required": [
"city",
"prov_state"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"adapter_version": {
"type": "string"
},
"city": {
"type": "string"
},
"prov_state": {
"type": "string"
},
"network_proof": {},
"city_proof": {},
"coverage": {}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_matching_questions
Returns the questions the matching service asks, each with its exact answer options and the values submit_match_request expects, plus the questionnaire version. Call it when the user wants to be matched with an agent, so the questions and accepted values always come from the service itself rather than from memory. Ask only the questions the conversation has not already answered, one at a time, presenting options as a numbered list. Financing applies to buyers and property condition to sellers. Once every required question is answered and you have the user's name, email and phone, confirm the details with them and call submit_match_request.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"adapter_version": {
"type": "string"
},
"quiz_version": {
"type": "string"
},
"principle": {
"type": "string"
},
"questions": {},
"then": {
"type": "string"
},
"assistant_instructions": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡submit_match_request(buy_sell, property_type, address, budget, also_buying_or_selling, ...)
Submits the user's completed questionnaire and contact details to Rate-My-Agent.com's free agent-matching service. Call it only after showing the user their answers and contact details and receiving an explicit confirmation; set consent to true to record that confirmation. Use each option's exact value from get_matching_questions. Handling the result: report success only on "ok":true, and relay the returned message verbatim. On "ok":false with code "no_response" the service did not answer in time — call it once more. On "ok":false with a field and message (for example an invalid email), tell the user what to correct, collect the new value and submit again.
Input Schema
{
"type": "object",
"properties": {
"buy_sell": {
"type": "string",
"enum": [
"buying",
"selling"
]
},
"property_type": {
"type": "string",
"enum": [
"single_family",
"condominium",
"townhouse",
"commercial",
"vacant_lot",
"other"
]
},
"address": {
"type": "string",
"description": "For SELLERS: the property's full street address. For BUYERS: the city or neighbourhood they are targeting."
},
"budget": {
"type": "string",
"description": "Use an exact option value from get_matching_questions."
},
"also_buying_or_selling": {
"type": "string",
"enum": [
"yes",
"no",
"maybe"
]
},
"financing_help": {
"type": "string",
"description": "Buyers only — exact option value."
},
"property_condition": {
"type": "string",
"description": "Sellers only — exact option value."
},
"notes": {
"type": "string"
},
"full_name": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string",
"description": "North-American number; 10 digits."
},
"consent": {
"type": "boolean",
"description": "Set to true ONLY after the user picks \"1. Confirm and Submit Request\". Must be true to submit."
},
"quiz_version": {
"type": "string",
"default": "mcp-v1"
}
},
"required": [
"buy_sell",
"address",
"full_name",
"email",
"phone",
"consent"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"description": "true only when the lead was accepted."
},
"status": {
"type": "string"
},
"message": {
"type": "string",
"description": "Relay verbatim on success; on error, the fix to explain."
},
"code": {
"type": "string",
"description": "e.g. invalid_input, invalid_email, no_response."
},
"field": {
"type": "string",
"description": "Which field to correct, when applicable."
},
"http_status": {
"type": "number"
},
"retryable": {
"type": "boolean",
"description": "true means submit once more."
}
},
"required": [
"ok"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence