MCP App Store
by KeenEthics
Finance
Investra icon

Investra

by Investra, Inc.

Overview

Investra connects your real estate investment workflow to your AI assistant. Search and evaluate property listings, run investment analyses, review projected returns and cash flow, and share investor-ready reports — all from chat. The integration uses the same data, permissions, and plan limits as the Investra web app, so anything done through the assistant matches what you'd see in your account. Built for real estate professionals who want to spend less time on manual analysis and more time advising on deals and closing them.

Tools

add_portfolio_property

ChatGPT
Add a property the user owns to their portfolio. It is found by address; an address matching several properties returns needs_choice with the candidates instead. Covers California and Texas. Returns the new portfolio_id and the fields that were set.

create_analysis

ChatGPT
Create and save an analysis for a property, with its price and ownership costs filled in from the property record; anything sent overrides them. It has no rental scenario, and so no cash flow or returns, until one is sent in modules (or added later with update_analysis). Counts against the plan's monthly analysis allowance. Returns the new analysis_id, the fields that were set, each scenario with its computed figures, and a link to the analysis in Investra.

create_client

ChatGPT
Add a client to the realtor's list, optionally with investment criteria, analysis defaults and a profile note. No invitation or email is sent. Counts against the plan's client allowance. Returns the new client_id, the fields that were set, and a link to the client's page.

delete_analysis

ChatGPT
Permanently delete a saved analysis. Cannot be undone. Share links already made from it keep showing the figures they were made with.

delete_client

ChatGPT
Remove a client from the realtor's list. Their analyses are kept.

delete_portfolio_property

ChatGPT
Remove a property from the user's portfolio.

find_deals

ChatGPT
Find and underwrite investment deals: scores current listings against investment criteria, prices the best of them (rent, cash flow, cash-on-cash and cap rate in conservative, base and optimistic cases) and explains the fit. One search covers one area. Covers California and Texas. - criteria alone: a one-off search; nothing is saved. - criteria_kind + criteria_id: runs that client's or saved search's own criteria and saves the results to the Saved Analyses page. Without location it returns needs_choice with the record's areas. A record searched in the last day, with its criteria unchanged, returns the stored results instead of searching again. - Both: that record's criteria with the given fields changed, for this search only; nothing is saved. Searches take 30 to 90 seconds. A client's or saved search's search still running when this call returns is marked still_running; a one-off search returns what it priced in time, with not_priced_in_time counting the rest. Rent estimates and write-ups count against the plan's allowances.

generate_pdf

ChatGPT
Build the PDF report for an analysis — the same report the analysis page produces, with the brokerage's branding — and return a link to it. Nothing is sent to anyone.

get_analysis

ChatGPT
One analysis in full: financing and ownership costs, assumptions, the property it is built on, its summary, and every rental scenario with the figures the analysis page shows for it — cash flow, cap rate, cash-on-cash return and the year-1 monthly breakdown, computed by Investra's engine. Takes an analysis_id or a name. A name matching several returns needs_choice with the candidates instead.

get_analysis_projection

ChatGPT
The figures an analysis shows beyond year one: the Insights table for one year of the hold (NOI, debt service, equity, cumulative cash flow, total profit, cap rate, ROI, IRR), the whole hold as end_of_hold, the year 1 and year 5 returns, the year the down payment is recovered, and what selling in a given year would return. Named as the analysis page names them.

get_client

ChatGPT
One client: contact details, status, their investment criteria, the defaults their analyses open with, the realtor's profile note, and a link to their page in Investra. Takes a client_id or a name. A name matching several clients returns needs_choice with the candidates instead.

get_matches

ChatGPT
Every client (realtors) or saved search (investors) whose deals are tracked, how many deals each holds and how many are new, with a link to each in Investra, and the searches run recently. Reads only what is stored; nothing is searched.

get_my_billing

ChatGPT
The user's plan, its status and renewal, the plans available with their prices, and what has been used of each allowance this period. Plans are changed on the Investra website, not here.

get_my_brokerage

ChatGPT
The realtor's brokerage: company name, contact details, licence number, status and the branding its reports and share pages carry. It is changed on the brokerage page in Investra, not here.

get_property

ChatGPT
Full detail for one property: address, price, sold price and estimated value, beds, baths, size, lot, year built, property type, listing status and days on market, HOA and annual tax, the listing description, the listing agent and office, and coordinates. Takes a property id or a street address. Both reach off-market properties, which search_properties does not: an address resolves to that one property, never to a search of the area around it.

get_rent_estimate

ChatGPT
Long-term monthly rent estimate for one property from comparable rentals, with its range. A multi-unit property is priced per unit. Returns no estimate, rather than a guess, when the data does not support one. A fresh estimate counts against the plan's monthly rent-estimate allowance; one already on file is free.

list_analyses

ChatGPT
The user's saved analyses, most recently updated first: analysis_id, name, client, property address and listing status, scenario names, when it was last updated, and a link to it in Investra. Figures are read per analysis with get_analysis.

list_deal_matches

ChatGPT
The deals already found for one client or saved search, best first, with their figures, the area that was searched and the areas that were not, and a link to each deal in Investra. Nothing is searched.

list_my_clients

ChatGPT
The realtor's clients, most recent activity first — the same list the Clients screen shows, including contacts synced from HubSpot or Follow Up Boss. Each has client_id, name, status, whether investment criteria are on file, and a link to their page in Investra. more_available is set when there are more than limit.

list_portfolio

ChatGPT
The properties the user owns, with what each earns, what it cost and what it is estimated to be worth now, plus portfolio totals and a link to the portfolio in Investra. Each row's id is the portfolio_id used to change or remove it. These are not listings for sale.

nearby_places

ChatGPT
Points of interest around a property — schools, transit, groceries, parks — with their distance from it, read from the property's own coordinates.

open_match_as_analysis

ChatGPT
Open a found deal as a saved analysis, prefilled with the exact inputs it was scored on. A deal already opened returns the analysis it has. Counts against the plan's monthly analysis allowance. Returns the analysis_id, each scenario with its figures, and a link to it.

preview_analysis_change

ChatGPT
What an analysis's figures would become with some inputs changed, beside what they are now. Nothing is saved. Send the fields as they would be; a scenario sent with its id is changed, one sent without an id is priced as a new scenario on the defaults a real one opens with.

search_properties

ChatGPT
Search for-sale listings in a city, ZIP or address, resolved the way the Investra map search resolves a place, with optional filters. Returns the area searched, how many listings match, and one page of them: property_id, address, price, beds, baths, size, type, status, days on market and price per sqft. Covers California and Texas. Reaches listings for sale or pending only; an off-market property is read by address with get_property.

share_analysis

ChatGPT
Create a public share link for an analysis: a read-only page anyone with the URL can open, for 60 days. No email is sent. Returns the URL.

update_analysis

ChatGPT
Change a saved analysis: its name, client, summary, financing, assumptions or rental scenarios. Only what is sent changes — a scenario not mentioned is left alone, and fields omitted inside one keep their values. Returns each field that changed with its value before and after, every scenario with its recomputed figures, and a link to the analysis; a call that would change nothing is refused.

update_client

ChatGPT
Change a client's name, phone number, investment criteria, analysis defaults or profile note. Only what is sent changes. A client's email cannot be changed. Returns each field that changed with its value before and after, and a link to the client's page; a call that would change nothing is refused.

update_match

ChatGPT
Dismiss a deal, or restore a dismissed one. A dismissed deal leaves that client's or saved search's results and is not priced again by later searches. Reasons given across dismissals shape later suggestions to change the criteria. Returns the deal's new status and a link to it.

update_portfolio_property

ChatGPT
Change what the user recorded about a property they own — its rent, its mortgage and running costs, whether it is let. Returns each field that changed with its value before and after; a call that would change nothing is refused.

whoami

ChatGPT
The signed-in user's own Investra profile: user_id, email, name, phone_number, address, role ("REALTOR" | "ADMIN" | "SUPER_ADMIN" | "INVESTOR" | "PENDING"), status, brokerage (its short name; null for investors), onboarded, preferences, created_at, updated_at. This is the user's own record, not a client's.

Capabilities

Writes

App Stats

30

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily