API Reference
Complete reference for all 15 Investra MCP tools — parameters, usage examples, and response structures.
Overview
Investra exposes 17 tools through the Model Context Protocol. Each tool is called by Claude automatically when it determines the tool is relevant to your prompt. You do not need to call these tools directly — simply ask your question in natural language and Claude will select the appropriate tool.
Below you will find the tool name, description, parameter table, an example prompt, and a representative response structure for each tool.
Parameters marked required must be provided for the tool to execute. Optional parameters refine the query and have sensible defaults.
search_properties
Search on-market property listings by location, price range, bedrooms, bathrooms, and property type. Returns a list of matching properties with key details.
| Parameter | Type | Required | Description |
|---|---|---|---|
location | string | Yes | City and state, or zip code (e.g. "Tampa, FL" or "33601"). |
minPrice | number | No | Minimum listing price in USD. |
maxPrice | number | No | Maximum listing price in USD. |
beds | number | No | Minimum number of bedrooms. |
baths | number | No | Minimum number of bathrooms. |
propertyType | string | No | One of house, condo, townhouse, or multifamily. |
limit | number | No | Number of results to return. Default 10, max 40. |
Example prompt:
Find 3-bedroom houses in Orlando, FL between $250k and $400k
Example response structure:
{
"properties": [
{
"address": "123 Oak Lane, Orlando, FL 32801",
"price": 349000,
"beds": 3,
"baths": 2,
"sqft": 1650,
"propertyType": "house",
"yearBuilt": 2004,
"daysOnMarket": 12,
"listingUrl": "https://..."
}
],
"total": 87,
"returned": 10
}get_property_details
Retrieve detailed information for a specific property by its full street address, including valuation, tax history, and property characteristics.
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Full property address including city, state, and zip. |
Example prompt:
Get details for 456 Elm Street, Austin, TX 78701
Example response structure:
{
"address": "456 Elm Street, Austin, TX 78701",
"price": 525000,
"beds": 4,
"baths": 3,
"sqft": 2200,
"lotSize": 0.18,
"yearBuilt": 1998,
"propertyType": "house",
"taxAssessment": 485000,
"annualTax": 9200,
"zestimate": 530000,
"description": "...",
"features": ["Central AC", "Hardwood floors", "Garage"]
}analyze_market
Get a comprehensive market analysis for a given city, including median prices, days on market, inventory levels, price trends, and an overall market summary.
| Parameter | Type | Required | Description |
|---|---|---|---|
city | string | Yes | City name (e.g. "Jacksonville"). |
state | string | Yes | Two-letter state code (e.g. "FL"). |
Example prompt:
Analyze the real estate market in Jacksonville, FL
Example response structure:
{
"city": "Jacksonville",
"state": "FL",
"medianPrice": 310000,
"medianPriceChange": 5.2,
"avgDaysOnMarket": 28,
"activeListings": 4350,
"medianPricePerSqft": 185,
"marketTemperature": "warm",
"summary": "Jacksonville continues to see steady appreciation..."
}get_market_data
Retrieve national or categorical market data. Use the optional category parameter to drill into a
specific data segment.
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | No | One of rates, prices, supply, demand, economy, or rental. Omit for a broad overview. |
Example prompt:
Show me the latest rental market data
Example response structure:
{
"category": "rental",
"data": {
"nationalMedianRent": 1850,
"yearOverYearChange": 3.1,
"vacancyRate": 6.2,
"topMarkets": [
{ "city": "Miami", "medianRent": 2400, "change": 4.5 },
{ "city": "Austin", "medianRent": 1950, "change": -1.2 }
]
},
"asOf": "2026-04-01"
}get_sales_comps
Pull recent comparable sales for a given property address. Optionally provide property characteristics to improve matching accuracy.
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Full property address. |
beds | number | No | Number of bedrooms in the subject property. |
baths | number | No | Number of bathrooms in the subject property. |
sqft | number | No | Square footage of the subject property. |
currentPrice | number | No | Current listing or estimated price for comparison. |
Example prompt:
Get sales comps for 789 Pine Ave, Denver, CO 80202 — it's a 3-bed, 2-bath, 1400 sqft
Example response structure:
{
"subject": "789 Pine Ave, Denver, CO 80202",
"comps": [
{
"address": "801 Pine Ave, Denver, CO 80202",
"salePrice": 415000,
"saleDate": "2026-02-14",
"beds": 3,
"baths": 2,
"sqft": 1380,
"distance": 0.1
}
],
"medianCompPrice": 420000,
"avgPricePerSqft": 298
}get_rent_estimate
Estimate monthly rent for a property based on its address and characteristics. Returns a rent range and comparable rental data.
| Parameter | Type | Required | Description |
|---|---|---|---|
address | string | Yes | Full property address. |
beds | number | No | Number of bedrooms. |
baths | number | No | Number of bathrooms. |
sqft | number | No | Square footage. |
Example prompt:
What would 123 Main St, Tampa, FL 33601 rent for? It's a 3/2 with 1500 sqft.
Example response structure:
{
"address": "123 Main St, Tampa, FL 33601",
"rentEstimate": 1950,
"rentRangeLow": 1750,
"rentRangeHigh": 2150,
"comparables": [
{
"address": "130 Main St, Tampa, FL 33601",
"rent": 1900,
"beds": 3,
"baths": 2,
"sqft": 1475
}
]
}estimate_costs
Run a complete investment underwrite on a property using one of three strategies. estimate_costs mirrors
the exact calculation engine that powers the Investra platform's PropertyDetails modal — every slider you can tune
in the UI is exposed here as an optional parameter, so Claude can pass the same scenario assumptions a real investor
would.
Three strategies:
rental— Buy-Hold-Rent. Returns financing, monthly cash flow, cap rate, cash-on-cash, DSCR, 1% rule, GRM, and an A–F investment grade. (Default)flip— Fix & Flip. Returns total investment, net profit, ROI, profit margin, annualized ROI.brrrr— Buy-Rehab-Rent-Refinance-Repeat. Returns refinance amount, capital recovered, post-refi cash flow, and an infinite-return flag when capital is fully pulled out.
Required parameters (all strategies):
| Parameter | Type | Description |
|---|---|---|
address | string | Full property address. |
price | number | Purchase price in USD. |
strategy | enum | One of rental (default), flip, or brrrr. |
Rental strategy sliders (all optional):
| Parameter | Default | Description |
|---|---|---|
downPaymentPct | 25 | Down payment as a percent of purchase price. |
interestRate | 7 | Mortgage interest rate (e.g. 6.5). |
loanTermYears | 30 | Loan term in years. |
closingCostsPct | auto | Closing costs as % of price (e.g. 3). |
monthlyRentOverride | auto | Override the rent estimate ($/mo). Use when you have a known lease or comp. |
propertyTaxAnnual | auto | Override annual property tax in $. |
insuranceMonthly | auto | Override monthly insurance in $. |
hoaMonthly | 0 | Monthly HOA fees in $. |
utilitiesMonthly | auto | Override landlord-paid utilities in $/mo. |
maintenancePct | 5 | Maintenance as % of monthly rent. |
vacancyRatePct | 5 | Vacancy rate as % of rent. |
propertyManagementPct | 10 | Property management as % of rent. |
selfManaged | false | If true, removes the property management line entirely. |
rehabScope | — | light, moderate, or heavy — adds to upfront cash needed. |
Fix & Flip strategy sliders:
| Parameter | Default | Description |
|---|---|---|
renovation | — | Required. Renovation budget in $. |
arv | — | Required. After-Repair Value in $. |
holdingPeriod | 6 | Holding period in months. |
purchaseClosingPct | 2 | Purchase closing as % of price. |
saleClosingPct | 6 | Sale closing as % of ARV. |
carryingCostsMonthly | 500 | Carrying costs per month in $ (utilities + insurance + taxes during hold). |
financingRatePct | 12 | Hard money / bridge loan rate as %. |
BRRRR strategy sliders:
| Parameter | Default | Description |
|---|---|---|
renovation | — | Required. Renovation budget in $. |
arv | — | Required. After-Repair Value in $. |
monthlyRent | — | Required. Post-rehab monthly rent in $. |
refinanceLTVPct | 75 | Refinance loan-to-value as % of ARV. |
refinanceRatePct | 6.5 | Refinance interest rate as %. |
loanTermYears | 30 | New loan term in years. |
propertyTaxAnnual | 0 | Annual property tax in $. |
insuranceMonthly | 100 | Monthly insurance in $. |
propertyManagementPct | 10 | Property management as % of rent. |
vacancyRatePct | 5 | Vacancy rate as %. |
Example prompts — let Claude pick the strategy from your wording:
Underwrite 321 Cedar Blvd, Nashville TN at $375k as a rental — assume 25% down, 7% rate, 8% vacancy
Run the flip math on 1245 Maple Ave, Cleveland OH at $85k with $40k rehab and $180k ARV, 6-month hold
Run BRRRR on 542 Oak St, Pittsburgh PA: $100k buy, $35k rehab, $200k ARV, $1800/mo rent at 75% LTV refi
Compare 25% down vs 30% down at 7% on this property — does the cash flow change much?
Pro tip: Claude can run the same property through multiple strategies in a single conversation by calling estimate_costs multiple times with different strategy values. Useful for "should I flip or hold this?" analyses.
get_interest_rate
Returns the current average 30-year fixed mortgage interest rate. No parameters required.
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters | |||
Example prompt:
What is the current mortgage interest rate?
Example response structure:
{
"rate": 6.78,
"type": "30-year fixed",
"asOf": "2026-04-07",
"weeklyChange": -0.03
}browse_deals
Browse curated investment deals with projected ROI. Filter by deal strategy, location, and minimum return.
| Parameter | Type | Required | Description |
|---|---|---|---|
dealType | string | No | One of fix_flip, brrrr, buy_hold, wholesale, or syndication. |
city | string | No | Filter by city name. |
state | string | No | Filter by two-letter state code. |
minRoi | number | No | Minimum projected ROI percentage. |
limit | number | No | Number of results. Default 10, max 50. |
Example prompt:
Show me BRRRR deals in Ohio with at least 15% ROI
Example response structure:
{
"deals": [
{
"dealId": "a1b2c3d4-...",
"title": "Duplex BRRRR in Columbus",
"dealType": "brrrr",
"city": "Columbus",
"state": "OH",
"askingPrice": 185000,
"arv": 265000,
"projectedRoi": 22.5,
"capRate": 8.1,
"summary": "..."
}
],
"total": 34,
"returned": 10
}get_deal_details
Retrieve the full details of a specific deal by its unique deal ID (UUID). Returns financials, photos, description, and contact information.
| Parameter | Type | Required | Description |
|---|---|---|---|
dealId | string (UUID) | Yes | The unique identifier of the deal. |
Example prompt:
Get the full details for deal a1b2c3d4-e5f6-7890-abcd-ef1234567890
Example response structure:
{
"dealId": "a1b2c3d4-...",
"title": "Duplex BRRRR in Columbus",
"dealType": "brrrr",
"address": "456 Broad St, Columbus, OH 43215",
"askingPrice": 185000,
"arv": 265000,
"rehabCost": 35000,
"projectedRoi": 22.5,
"capRate": 8.1,
"cashFlow": 680,
"description": "...",
"photos": ["https://..."],
"postedBy": "InvestorJane",
"postedAt": "2026-03-28T14:00:00Z"
}search_off_market
Search Investra's database of 40M+ off-market properties. These are properties not currently listed on the MLS, offering opportunities for direct-to-seller outreach.
This tool requires a paid plan. Free-tier users will receive an authorization error.
| Parameter | Type | Required | Description |
|---|---|---|---|
city | string | Yes | City name. |
state | string | Yes | Two-letter state code. |
zip | string | No | ZIP code to narrow results. |
minPrice | number | No | Minimum estimated value. |
maxPrice | number | No | Maximum estimated value. |
limit | number | No | Number of results. Default 20, max 200. |
Example prompt:
Find off-market properties in Atlanta, GA under $200k
Example response structure:
{
"properties": [
{
"street": "789 Peach St",
"city": "Atlanta",
"state": "GA",
"zip": "30301",
"estimatedValue": 175000,
"beds": 3,
"baths": 1,
"sqft": 1200,
"yearBuilt": 1965,
"ownerType": "individual",
"investmentScore": 72
}
],
"total": 1240,
"returned": 20
}get_off_market_details
Retrieve detailed information for a specific off-market property, including investment metrics, tax history, and ownership data. Each call uses 1 credit from your plan.
Requires a paid plan. Each lookup consumes 1 credit from your monthly allowance.
| Parameter | Type | Required | Description |
|---|---|---|---|
street | string | Yes | Street address (e.g. "789 Peach St"). |
city | string | Yes | City name. |
state | string | Yes | Two-letter state code. |
zip | string | Yes | ZIP code. |
Example prompt:
Get details for 789 Peach St, Atlanta, GA 30301
Example response structure:
{
"street": "789 Peach St",
"city": "Atlanta",
"state": "GA",
"zip": "30301",
"estimatedValue": 175000,
"beds": 3,
"baths": 1,
"sqft": 1200,
"lotSize": 0.15,
"yearBuilt": 1965,
"ownerName": "John Doe",
"ownerType": "individual",
"investmentScore": 72,
"rentalEstimate": 1350,
"capRateEstimate": 7.8,
"cashFlowMonthly": 420,
"marketTrend": "appreciating",
"riskRating": "medium",
"neighborhoodScore": 65,
"taxAssessment": 162000,
"annualTax": 3100
}skip_trace
Look up owner contact information for a property, including phone numbers and email addresses. Designed for direct-to-seller outreach on off-market properties. Each call uses 1 lead credit.
Requires Pro Plus plan. Each skip trace consumes 1 lead credit from your monthly allowance. Please use responsibly and in compliance with applicable laws.
| Parameter | Type | Required | Description |
|---|---|---|---|
street | string | Yes | Street address. |
city | string | Yes | City name. |
state | string | Yes | Two-letter state code. |
zip | string | Yes | ZIP code. |
Example prompt:
Skip trace the owner of 789 Peach St, Atlanta, GA 30301
Example response structure:
{
"street": "789 Peach St",
"city": "Atlanta",
"state": "GA",
"zip": "30301",
"ownerName": "John Doe",
"phones": [
{ "number": "+14045551234", "type": "mobile", "carrier": "Verizon" }
],
"emails": [
{ "address": "johndoe@email.com", "type": "personal" }
],
"mailingAddress": "100 Other St, Atlanta, GA 30302",
"creditsRemaining": 47
}get_zip_market_data
Pull hard-data, real-source market statistics for a specific ZIP code (or all ZIPs in a city). Backed by Investra's
indexed market_data table, which aggregates HUD Fair Market Rents, Census ACS demographics, and FRED
economic indicators. Use this before running estimate_costs or analyze_market
when you want grounded numbers instead of LLM guesses.
| Parameter | Type | Required | Description |
|---|---|---|---|
zip | string | One of | 5-digit ZIP code (most precise). |
city | string | One of | City name (returns all matching ZIPs). |
state | string | No | Two-letter state code (improves city matching). |
Example prompt:
What's the HUD Fair Market Rent for a 3-bed in 28202?
Pull all the ZIP-level market data for Charlotte, NC
What you get back:
- HUD Fair Market Rents by bedroom count (0BR through 4BR)
- Median home value and median rent
- Vacancy rate and owner-occupied %
- Year-over-year appreciation, days on market, $/sqft
- Unemployment, job growth, median household income
- Crime index, school rating, flood-zone exposure
find_local_partners
Find local service partners for a specific market — mortgage lenders, property managers, home inspectors, contractors / GCs, or real estate agents. Useful when an investor is building a deal team in a new city. Backed by Google Places.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Free-text search like "mortgage lender in Austin, TX" or "property manager near Charlotte, NC". |
partnerType | enum | No | Optional filter: lenders, managers, inspectors, contractors, or agents. |
Example prompts:
Find me a property manager in Indianapolis, IN
I'm investing in Birmingham, AL — give me 5 mortgage lenders, 3 GCs, and 3 property managers
Build me a deal team for Cleveland, OH