MCP tools reference

Mashvisor MCP tools

14 tools for Mashvisor on the Cotlet MCP server. Your agent picks them from tools/list.

MCP server
https://cotlet.dev/mcp/v1
Connects with
Your own Mashvisor investor account
Integration page
Mashvisor
Mashvisor Endpoints
Endpoint Access Description
mashvisor_find_properties read Property Finder: for-sale properties ranked by cash on cash return for your budget.
mashvisor_list_filter_presets read Your saved Map Property Finder filter presets, with name and filters.
mashvisor_run_filter_preset read Apply a saved preset to a city or neighborhood and return the matching listings with their metrics.
mashvisor_get_property_analysis read Property Analytics page: price, rental income, cash flow, cap rate and cash on cash return per strategy, Mashmeter and expenses.
mashvisor_get_property_comps read Comparable listings near a property, with occupancy, nightly rate, rent or sale price.
mashvisor_search_markets read Market Finder: neighborhoods and cities ranked by rental performance, with your filters.
mashvisor_list_saved_homes read Properties in your Saved Homes, with type, sale price and your rating.
mashvisor_list_property_alerts read Your Property Alerts with location, filters and email frequency.
mashvisor_export_neighborhood_data read Excel export of a neighborhood from Map Property Finder. Uses one of your plan's monthly exports.
mashvisor_download_property_report read PDF analytics report of a property, optionally with your company name and logo. Uses one download.
mashvisor_analyze_unlisted_property write Look up an off-market address, add it to Saved Homes and return its rental analysis.
mashvisor_save_home write Add a property to your Saved Homes.
mashvisor_remove_saved_home write Remove a property from your Saved Homes.
mashvisor_create_property_alert write New Property Alert: Mashvisor emails you new listings that match, only when there are any.

MCP tool mashvisor_find_properties

Searches for-sale properties in one or more cities, as in Property Finder, ranked by cash on cash return for the rental strategy you pick. Radius works only with one city. Each item has the property_id that the analysis, comps and Saved Homes tools take.

Parameters

Parameters: find_properties
NameTypeDescription
cities required string[] One or more cities, e.g. "Tampa, FL".
miles integer Radius around the city. Only with one city.
budget_min integer Minimum listing price in USD.
budget_max integer Maximum listing price in USD.
rental_strategy enum airbnb or traditional.
bedrooms integer Minimum bedrooms, 1 to 5.
bathrooms integer Minimum bathrooms, 1 to 5.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_find_properties",
    "arguments": {
      "cities": [
        "Tampa, FL"
      ]
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "properties": [
      {
        "property_id": "p_88120",
        "address": "1823 Schyler Ln, Tampa, FL",
        "price": 365000,
        "bedrooms": 3,
        "bathrooms": 2,
        "cash_on_cash": 13.1,
        "cap_rate": 9.4
      },
      {
        "property_id": "p_88144",
        "address": "57 Palm Ct, Tampa, FL",
        "price": 342000,
        "bedrooms": 3,
        "bathrooms": 2,
        "cash_on_cash": 11.7,
        "cap_rate": 8.5
      }
    ]
  },
  "isError": false
}

MCP tool mashvisor_list_filter_presets

Returns the filter presets you saved with Save Filters in Map Property Finder, each with its name and filters. Pass preset_id to run_filter_preset or export_neighborhood_data. Presets are created, renamed and deleted in Mashvisor, not through Cotlet.

Parameters

No parameters.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_list_filter_presets",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "presets": [
      {
        "preset_id": "fp_2041",
        "name": "Tampa STR under 400k",
        "filters": {
          "price_max": 400000,
          "bedrooms_min": 3,
          "property_type": "single_family"
        }
      },
      {
        "preset_id": "fp_2057",
        "name": "Cleveland cash flow",
        "filters": {
          "price_max": 200000,
          "bedrooms_min": 2
        }
      }
    ]
  },
  "isError": false
}

MCP tool mashvisor_run_filter_preset

Applies one saved preset to a city or neighborhood and returns the matching listings with their metrics, like selecting the preset in Map Property Finder. The tab picks the same three views as the app: investment, airbnb_comps or rental_comps. Results come back in the order the app shows them.

Parameters

Parameters: run_filter_preset
NameTypeDescription
preset_id required string Preset ID from list_filter_presets.
location required string City or neighborhood, e.g. "Ybor City, Tampa, FL".
tab enum investment, airbnb_comps or rental_comps. Default: investment.
limit integer 1 to 100. Default: 25.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_run_filter_preset",
    "arguments": {
      "preset_id": "fp_2041",
      "location": "Ybor City, Tampa, FL",
      "tab": "investment",
      "limit": 25
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "preset": "Tampa STR under 400k",
    "location": "Ybor City, Tampa, FL",
    "tab": "investment",
    "listings": [
      {
        "property_id": "p_88120",
        "address": "1823 Schyler Ln, Tampa, FL",
        "price": 365000,
        "cash_on_cash": 13.1,
        "cap_rate": 9.4
      },
      {
        "property_id": "p_88151",
        "address": "910 E 8th Ave, Tampa, FL",
        "price": 389000,
        "cash_on_cash": 10.8,
        "cap_rate": 8.1
      },
      {
        "property_id": "p_88163",
        "address": "2204 N 15th St, Tampa, FL",
        "price": 329000,
        "cash_on_cash": 10.2,
        "cap_rate": 7.9
      }
    ]
  },
  "isError": false
}

MCP tool mashvisor_get_property_analysis

Returns the numbers of the Property Analytics page for one property: price, rental income, expenses, cash flow, cap rate and cash on cash return, for the Airbnb and the traditional rental strategy. Set strategy to get one of them. Figures are estimates from Mashvisor, as in the app.

Parameters

Parameters: get_property_analysis
NameTypeDescription
property_id required string Property ID from find_properties, run_filter_preset or list_saved_homes.
strategy enum airbnb, traditional or both. Default: both.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_get_property_analysis",
    "arguments": {
      "property_id": "p_88120",
      "strategy": "both"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "p_88120",
    "address": "1823 Schyler Ln, Tampa, FL",
    "price": 365000,
    "cash_invested": 91250,
    "airbnb": {
      "monthly_revenue": 4000,
      "monthly_operating_expenses": 1150,
      "monthly_mortgage": 1850,
      "monthly_cash_flow": 1000,
      "cap_rate": 9.4,
      "cash_on_cash": 13.1
    },
    "traditional": {
      "monthly_revenue": 2600,
      "monthly_operating_expenses": 650,
      "monthly_mortgage": 1850,
      "monthly_cash_flow": 100,
      "cap_rate": 6.4,
      "cash_on_cash": 1.3
    }
  },
  "isError": false
}

MCP tool mashvisor_get_property_comps

Returns comparable listings near one property. short_term gives Airbnb comps with occupancy and nightly rate, long_term gives rentals with monthly rent, and sales gives sold or listed prices. Nearest comps come first.

Parameters

Parameters: get_property_comps
NameTypeDescription
property_id required string Property ID from find_properties, run_filter_preset or list_saved_homes.
type required enum short_term, long_term or sales.
limit integer 1 to 50. Default: 20.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_get_property_comps",
    "arguments": {
      "property_id": "property_8c41d2",
      "type": "short_term"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "p_90417",
    "type": "short_term",
    "comps": [
      {
        "address": "420 Oak Street, Austin, TX",
        "bedrooms": 3,
        "nightly_rate": 245,
        "occupancy": 68,
        "distance_miles": 0.2
      },
      {
        "address": "17 Elm Ave, Austin, TX",
        "bedrooms": 3,
        "nightly_rate": 229,
        "occupancy": 63,
        "distance_miles": 0.4
      }
    ]
  },
  "isError": false
}

MCP tool mashvisor_search_markets

Returns neighborhoods and cities from Market Finder, ranked by rental performance, with your filters applied. Filter by state, Mashmeter grade, minimum monthly revenue, minimum occupancy and property types. Without a state it searches nationwide.

Parameters

Parameters: search_markets
NameTypeDescription
state string Two-letter state code. Default: nationwide.
mashmeter string[] Grades to include: A, B, C, D.
min_monthly_revenue integer Minimum monthly rental revenue in USD.
min_occupancy integer Minimum occupancy rate in percent.
property_types string[] Property types to include.
limit integer 1 to 50. Default: 20.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_search_markets",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "markets": [
      {
        "market": "Gatlinburg, TN",
        "mashmeter": "A",
        "occupancy": 72,
        "monthly_revenue": 5400
      },
      {
        "market": "Destin, FL",
        "mashmeter": "A",
        "occupancy": 69,
        "monthly_revenue": 5100
      },
      {
        "market": "Pigeon Forge, TN",
        "mashmeter": "A",
        "occupancy": 67,
        "monthly_revenue": 4700
      }
    ]
  },
  "isError": false
}

MCP tool mashvisor_list_saved_homes

Returns the properties in your Saved Homes with type, sale price and your rating. Properties added by analyze_unlisted_property or save_home are included. Use property_id with get_property_analysis, get_property_comps or remove_saved_home.

Parameters

Parameters: list_saved_homes
NameTypeDescription
limit integer 1 to 100. Default: 50.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_list_saved_homes",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "homes": [
      {
        "property_id": "p_88120",
        "address": "1823 Schyler Ln, Tampa, FL",
        "type": "single_family",
        "sale_price": 365000,
        "rating": 4
      },
      {
        "property_id": "p_90417",
        "address": "412 Oak Street, Austin, TX",
        "type": "single_family",
        "sale_price": 385000,
        "rating": null
      }
    ]
  },
  "isError": false
}

MCP tool mashvisor_list_property_alerts

Returns your Property Alerts with their location, filters and email frequency. Use it before create_property_alert so your agent does not add a duplicate.

Parameters

No parameters.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_list_property_alerts",
    "arguments": {}
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "alerts": [
      {
        "alert_id": "pa_58102",
        "name": "Tampa condos",
        "location": "Tampa, FL",
        "property_type": "condo",
        "price_max": 300000,
        "frequency": "weekly"
      }
    ]
  },
  "isError": false
}

MCP tool mashvisor_export_neighborhood_data

Creates the Excel export that the Export button gives in Map Property Finder, for one neighborhood and one tab. Without preset_id it exports all data; with a preset it exports only the matching listings. City-level export is not supported. Each call uses one of your plan's monthly exports, so it reads from Mashvisor but is not free of limits.

Parameters

Parameters: export_neighborhood_data
NameTypeDescription
neighborhood required string Neighborhood name with city. City-level export is not supported.
tab required enum investment, airbnb_comps or rental_comps.
preset_id string Export only listings matching this preset. Default: all data.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_export_neighborhood_data",
    "arguments": {
      "neighborhood": "neighborhood",
      "tab": "investment"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "neighborhood": "Ybor City, Tampa, FL",
    "tab": "airbnb_comps",
    "scope": "filtered",
    "file_name": "ybor-city-airbnb-comps.xlsx",
    "download_url": "https://files.cotlet.example/exports/ybor-city-airbnb-comps.xlsx",
    "rows": 38
  },
  "isError": false
}

MCP tool mashvisor_download_property_report

Creates the PDF analytics report from the download icon on a property page. With branded set to true it adds the company name and logo saved in your account. Mashvisor limits downloads by plan, and each call uses one.

Parameters

Parameters: download_property_report
NameTypeDescription
property_id required string Property ID from find_properties, run_filter_preset or list_saved_homes.
branded boolean Add the company branding saved in your account. Default: false.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_download_property_report",
    "arguments": {
      "property_id": "property_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "p_88120",
    "branded": false,
    "file_name": "schyler-ln-tampa-report.pdf",
    "download_url": "https://files.cotlet.example/reports/schyler-ln-tampa-report.pdf"
  },
  "isError": false
}

MCP tool mashvisor_analyze_unlisted_property

Runs the "look up not listed property" flow for an address and returns the rental analysis. It adds the property to your Saved Homes. This reaches no one and is undone with remove_saved_home, so it runs without asking first.

Parameters

Parameters: analyze_unlisted_property
NameTypeDescription
address required string Full US street address.
price required integer Price in USD.
property_type required enum single_family, condo, townhouse, apartment or multi_family.
bedrooms required integer Number of bedrooms.
bathrooms required integer Number of bathrooms.
sqft required integer Square footage.
unit string Unit number for apartments, condos and townhomes.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_analyze_unlisted_property",
    "arguments": {
      "address": "412 Oak Street, Austin, TX",
      "price": 385000,
      "property_type": "single_family",
      "bedrooms": 3,
      "bathrooms": 2,
      "sqft": 1650
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "p_90417",
    "address": "412 Oak Street, Austin, TX",
    "saved_to_saved_homes": true,
    "price": 385000,
    "cash_invested": 96250,
    "airbnb": {
      "monthly_revenue": 4200,
      "monthly_operating_expenses": 1200,
      "monthly_mortgage": 1950,
      "monthly_cash_flow": 1050,
      "cap_rate": 9.4,
      "cash_on_cash": 13.1
    },
    "traditional": {
      "monthly_revenue": 2700,
      "monthly_operating_expenses": 650,
      "monthly_mortgage": 1950,
      "monthly_cash_flow": 100,
      "cap_rate": 6.4,
      "cash_on_cash": 1.2
    }
  },
  "isError": false
}

Save home

write

MCP tool mashvisor_save_home

Adds one property to your Saved Homes. This reaches no one and is undone with remove_saved_home, so it runs without asking first.

Parameters

Parameters: save_home
NameTypeDescription
property_id required string Property ID from find_properties, run_filter_preset or list_saved_homes.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_save_home",
    "arguments": {
      "property_id": "property_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "p_88144",
    "saved": true
  },
  "isError": false
}

MCP tool mashvisor_remove_saved_home

Removes one property from your Saved Homes. This reaches no one and the property can be added again with save_home, so it runs without asking first.

Parameters

Parameters: remove_saved_home
NameTypeDescription
property_id required string Property ID from find_properties, run_filter_preset or list_saved_homes.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_remove_saved_home",
    "arguments": {
      "property_id": "property_8c41d2"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "p_88144",
    "saved": false
  },
  "isError": false
}

Create Property Alert

write Confirm

MCP tool mashvisor_create_property_alert

Creates a Property Alert in your account. Mashvisor then emails you new matching listings at the frequency you set, and only when there are any. Price runs from 5,000 to 5,000,000 USD. There is no tool to delete an alert, so you remove one in Mashvisor. By default you confirm each call; you can switch that off for this tool.

Parameters

Parameters: create_property_alert
NameTypeDescription
name required string Alert name.
location required string Address, neighborhood, city or zip code.
property_type enum all, single_family, condo, townhouse or multi_family. Default: all.
price_min integer Minimum price in USD, from 5,000.
price_max integer Maximum price in USD, up to 5,000,000.
bedrooms integer Minimum bedrooms, 1 to 5.
financing enum cash or mortgage. Default: cash.
min_cap_rate integer Minimum cap rate in percent.
min_cash_on_cash integer Minimum cash on cash return in percent.
frequency enum daily, weekly or monthly. Default: weekly.

tools/call

JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "mashvisor_create_property_alert",
    "arguments": {
      "name": "Cleveland SFH under 200k",
      "location": "Cleveland, OH",
      "property_type": "single_family",
      "price_max": 200000,
      "financing": "cash",
      "min_cap_rate": 8,
      "frequency": "weekly"
    }
  }
}

Example response

{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "alert_id": "pa_58213",
    "name": "Cleveland SFH under 200k",
    "location": "Cleveland, OH",
    "frequency": "weekly",
    "email_to": "yourname@example.com",
    "status": "active"
  },
  "isError": false
}