acq_acquisitions_get_acquisition_disposition_deal_lookups
ChatGPTStage/status and template lists for ACQUISITION or DISPOSITION deals only; does not look up the deals themselves. DealType is required: 21013 for acquisition deals, 21010 for disposition deals. lookupType is required: 'stages' for deal stages (statuses), 'templates' for deal templates. Both lists are per deal type — a stage id from one type is not valid for the other. ALWAYS USE this tool (do not answer from another tool or from memory) when the user names a deal stage, status, or template in words and a tool needs the numeric id: - 'under contract', 'closed', 'dead', 'LOI', 'due diligence' and similar stage names - deal template names - 'what deal stages exist', 'what statuses can a deal be in' DO NOT USE for: - Finding a specific deal by name or code -> get_im_autocomplete - The deals themselves and their current status values -> get_acquisition_disposition_deal_summary - Voyager workflow or approval statuses -> get_approval_workflow_status Stages return rows with id (hmy), name, and iorder (display sequence) — for display only; a stage id cannot be used to filter get_acquisition_disposition_deal_summary (its dealStatuses parameter uses a fixed, separate set of outcome codes, not these ids). Templates return rows with id (hmy) and name, and those ids DO work with get_acquisition_disposition_deal_summary's dealTemplates parameter. Example: 'What stages can an acquisition deal be in?' -> call this tool with DealType=21013 and lookupType='stages' and list the returned names in iorder sequence. Example: 'Show me only our Multifamily acquisition deals' -> call this tool with DealType=21013 and lookupType='templates' to find the 'Multifamily' id, then call get_acquisition_disposition_deal_summary with objectType=21013 and dealTemplates set to that id.
acq_acquisitions_get_acquisition_disposition_deal_summary
ChatGPTAcquisition Manager deal pipeline only — acquisition (21013) or disposition (21010) deals; never Voyager properties or leases. objectType is required and selects the report: 21013 = Acquisitions Summary, 21010 = Dispositions Summary. If the user named a specific deal but not which side it sits on, call get_im_autocomplete with type='acquisitions' and again with type='dispositions' — whichever returns the record tells you the objectType to pass. If they named no deal at all, ask which report they want rather than guessing a side. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks for: - deal pipeline, pipeline overview, pipeline report - acquisitions summary / acquisition deal list / deals we are buying - dispositions summary / disposition deal list / deals we are selling - deal status, deal stage, deal owner across deals - 'show me our active/open acquisitions', 'which deals did we acquire or pass on' DO NOT USE for: - Rent roll or unit-level data on a deal -> get_acquisition_rent_roll_units - Sales comparables / comps on a deal -> get_acquisition_sales_comp_data - Resolving a single deal name to its hmy -> get_im_autocomplete - Status or template names and their hmy values -> get_acquisition_disposition_deal_lookups - Voyager property records, occupancy, or leases -> get_property / search_properties - Investment Manager investment entities and ownership -> get_investment_ownership_structure All filters other than objectType are optional. Multi-value filters use '^' as a delimiter (e.g. '123^456'); leave one blank to apply no restriction. Custom column filters (cdata_* query parameters) are also supported — append them to the query string using the column key names visible in the report grid. Known issue: each deal's ProjectedCloseData field currently returns the property's year-built value, not an actual projected close date. Treat it as unreliable — do not present it to the user as a close date until this is corrected. Example: 'Which acquisition deals have we actually acquired?' -> call this tool with objectType=21013 and dealStatuses=3. Example: 'Which acquisitions are still active, not yet closed or dead?' -> objectType=21013 and dealStatuses=0. Pipeline STAGE names like 'Under Contract' or 'Due Diligence' are shown for display only (the Stage field) and are not filterable — dealStatuses accepts only the seven outcome codes described on that parameter, not a stage id from get_acquisition_disposition_deal_lookups.
acq_amconfiguration_get_acquisition_comp_sets_config
ChatGPTFull setup of every ACQUISITION sales-comparison comp set (membership and counts); returns no comparable rows themselves. Always call this before save_acquisition_comp_sets_config, so you can see a comp set's current Name and Deals before updating them — that save fully replaces deal membership, so acting without the current list will silently drop deals. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks: - what deals are in a comp set, comp set membership - how many properties or deals a comp set matches - comp set setup or configuration before editing one DO NOT USE for: - The comparable rows/grid data themselves -> get_acquisition_sales_comp_data - Just resolving a comp set name to its id -> get_acquisition_comp_sets_list (lighter and filterable) - Changing a comp set -> save_acquisition_comp_sets_config - Retail sales volume reporting -> get_sales_report Unlike get_acquisition_comp_sets_list, this always returns the complete list with deal membership and counts and has no search parameter. Code is not populated by this endpoint even though save_acquisition_comp_sets_config accepts it. The response also carries two internal bookkeeping fields alongside CompSetsConfig, unrelated to user-managed comp sets: AcqResearchRowCompSetName is the reserved name of a hidden system comp set that stores 'Yardi Research' sourced comp rows, and GlobalYardiResearchCompSetId is that hidden comp set's hmy, or 0 if it hasn't been created yet. Both can be ignored for normal comp set list/edit workflows.
acq_amconfiguration_get_om_scan_sales_comp_config
ChatGPTOM Scan sales-comp FIELD MAPPING only — which data points exist and their sources; returns no deal, comp, or scan data. Call this before building or interpreting an OM scan so you know which fields are available and what each one means. It is a prerequisite for create_om_scan_with_acquisition_deals — the optional per-deal fields on that tool come from this list. ALWAYS USE this tool (do not answer from another tool or from memory) when the user or agent asks: - what fields can an OM scan capture - OM scan / offering memorandum data points, field mapping, or schema - which sales comp fields are available before scanning a document DO NOT USE for: - Actual sales comparable rows for a deal -> get_acquisition_sales_comp_data - Creating the scan and its deals -> create_om_scan_with_acquisition_deals - Comp set membership and configuration -> get_acquisition_comp_sets_config Returns a slimmed model per data point: datapointID, Datapoint, Datatype, acqMgrTableSource, acqMgrDataPoint, acqMgrDataPointLabel, Description.
acq_rentroll_get_acquisition_rent_roll_units
ChatGPTRent roll rows entered on an ACQUISITION DEAL only; never a property/lease rent roll from Voyager, commercial, or student housing. The id you pass must be an acquisition deal hmy, not a property or unit id. If you only have a name or code and are not certain it is an acquisition deal, call get_im_autocomplete with type='acquisitions' first and use the returned id. A deal with no rent roll yet returns an empty array — that is expected, not an error. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks, about a DEAL: - rent roll, rent roll units, rent roll rows - unit mix, unit list, unit breakdown for a deal - tenants, in-place rent, market rent, occupancy or vacancy on a deal - 'what units are on the Maple Street deal' DO NOT USE for: - A commercial property's rent roll -> get_commercial_rent_roll - Student housing rent roll by term -> get_term_rent_roll - Voyager property units or unit search -> search_units / get_unit - Property-level occupancy -> get_occupancy_report - Deal status, owner, or projected close -> get_acquisition_disposition_deal_summary - Sales comparables for the deal -> get_acquisition_sales_comp_data Call this before save_acquisition_rent_roll_units whenever you intend to edit: it is the only way to discover an existing row's id, and an update replaces every column with what you send, so you need the current values to avoid clobbering them. Example: 'What's the rent roll on the Maple Street deal?' -> call get_im_autocomplete with type='acquisitions' and searchTerm='Maple Street', then call this tool with dealId set to the returned id.
acq_salescomparison_get_acquisition_comp_sets_list
ChatGPTName-to-id lookup for ACQUISITION sales-comparison comp sets; returns id and name only, no comps and no deal membership. Use this whenever the user names a comp set in words and another tool needs its numeric id. Omit searchTerm to list every comp set. ALWAYS USE this tool (do not answer from another tool or from memory) when you need to: - resolve a comp set name or code to its hmy - confirm a comp set exists before referencing it - list the available comp sets by name DO NOT USE for: - A comp set's deal membership and match counts -> get_acquisition_comp_sets_config - The comparable rows themselves -> get_acquisition_sales_comp_data - Resolving a deal name to its id -> get_im_autocomplete Example: 'Show me the comps in the Downtown Q3 set' -> call this tool with searchTerm='Downtown', take the matching id, then call get_acquisition_sales_comp_data with compSetId set to it.
acq_salescomparison_get_acquisition_sales_comp_data
ChatGPTACQUISITION sales COMPARABLES (comps) grid only — property/deal comparables used to value a deal; NOT retail sales volume or revenue. compSetTabId is required and selects which grid you get: 'comps', 'deals', or 'properties'. If the user names a comp set in words rather than by id, call get_acquisition_comp_sets_list first and pass the returned id as compSetId. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks for: - comps, comparables, sales comps, sales comparison data - comparable sales / recent sales used to price a deal - the comp grid or comp set tied to a deal - cap rates or price per unit on comparable properties DO NOT USE for: - Retail tenant sales volume or percentage rent -> get_sales_report - A deal's own status, owner, or projected close -> get_acquisition_disposition_deal_summary - Rent roll or unit-level detail on a deal -> get_acquisition_rent_roll_units - Comp set membership and setup -> get_acquisition_comp_sets_config - Changing comp set membership -> save_acquisition_comp_sets_config - Writing comparable rows onto a comp set -> save_acquisition_sales_comp_data - Yardi Research comps saved on a comp set (they appear on no tab here) -> get_acquisition_saved_research_comps This tool is also the source of the ColumnHeader and columnsYardiResearch arrays that save_acquisition_sales_comp_data needs, so call it first when preparing a save. Optionally provide the deal id, comp set, full list mode, and the projected-close date filter. This returns the same grid data and applies the same filters as the deal screen. Example: 'Show me the comps for deal 13 in comp set 5' -> call with dealId 13, compSetId 5, compSetTabId 'comps', compSetManageFullList '1'.
ar_aranalytics_get_aging_detail
ChatGPTGet aging detail report
ast_propertylookup_get_property_info_basic
ChatGPTGet basic property information (name, address, unit count) for one or more properties
ast_propertylookup_get_property_info_detailed
ChatGPTGet detailed property information including Matrix property URL and images
ast_propertylookup_search_properties
ChatGPTSearch for properties by name, city, state, or zip code to get property codes
ast_propertyperformancekpis_get_available_kpis
ChatGPTGet list of available KPIs grouped by category with their IDs
ast_propertyperformancekpis_get_kpi_detailed_definition
ChatGPTGet detailed description and definition of a specific KPI
ast_propertyperformancekpis_get_kpi_values_by_property
ChatGPTGet KPI values grouped by property with individual results and totals
ast_propertyperformancekpis_get_kpi_values_total
ChatGPTGet total KPI values for one or more KPIs summarizing requested properties
cm_contractsearch_search_contracts
ChatGPTSearch and filter contracts by property, vendor, status, trade, or date range
cm_jobsearch_search_jobs
ChatGPTSearch and filter jobs by property, status, type, phase, manager, or budget range
cmg_affledgervirtuoso_get_affordable_resident_ledger_data
ChatGPTGet affordable tenant ledger transactions for a tenant; includes HAP(subsidy) and Tenant ledger type transactions. Collect inputs as defined by the request model. Call this tool whenever any input changes. Balance is server-calculated; do not modify it.
cmg_cmysr_generate_affordable_gpr_report
ChatGPTGenerate affordable gross potential rent (GPR) report
cmg_cmysr_generate_affordable_rentroll_report
ChatGPTGenerate an Affordable Rent Roll Report by first collecting all inputs from the user in the exact order defined by the request model. The agent must ask for every field individually and must not skip, reorder, infer, or auto-populate any field. The input sequence is: PropertyId, AsOfDate, SummarizeBy, ContractId, UnitType, UnitCode, and TenantId. The tool must not be invoked until all required fields have been requested and collected. Once all values are gathered, use them to generate and return the Affordable Rent Roll Report.
cmg_cmysr_generate_pha_caseworker_listing_report
ChatGPTThis tool generates the PHA Caseworker Listing report. The PHA Caseworker Listing report provides users with a list of families assigned to each caseworker, allowing agency staff to manage and review an individual caseworker’s specific case assignments. This report can be used alongside the PHA Caseload Listing report, which displays numeric information about caseworker assignments per property. Generate a PHA Caseworker Listing report by first collecting all inputs from the user in the exact order defined by the request model. The agent must ask for every field individually and must not skip, reorder, infer, or auto-populate any field. The input sequence is PropertyIds, UnitId, Status, Department, and CaseworkerId. Only the PropertyIds field is required. The remaining fields may be left blank if the user has no preference. The tool must not run until the agent has requested all fields from the user. Once all values are gathered, use them to generate and return the PHA Caseworker Listing report. If the response's Notice field is non-empty, tell the user the report was truncated and suggest narrowing the filters.
cmg_cmysr_generate_pha_public_housing_rentroll_report
ChatGPTThis tool generates the PHA Public Housing Rent Roll report. The PHA Public Housing Rent Roll report provides users with a rent roll report for a specified public housing property or property list, displaying the unit, resident, total tenant payment, and rent details. Agency staff can use this report to review the current rent information for all families in a public housing property. Generate a PHA Public Housing Rent Roll report by first collecting all inputs from the user in the exact order defined by the request model. The agent must ask for every field individually and must not skip, reorder, infer, or auto-populate any field. The input sequence is PropertyIds, ExcludedUnits, ShowVacantUnits, UnitId, UnitType, TenantId, AsOfDate, and SortOrder. PropertyIds (a single property or a single property list), ExcludedUnits, and ShowVacantUnits are required; the remaining fields may be left blank if the user has no preference. The tool must not run until the agent has requested all fields from the user. Once all values are gathered, use them to generate and return the PHA Public Housing Rent Roll report. If the response's Notice field is non-empty, tell the user the report was truncated and suggest narrowing the filters.
cmg_cmysr_generate_pha_vms_monthly_report
ChatGPTThis tool generates the PHA VMS Monthly report. The PHA VMS (Voucher Management System) Monthly report provides users with information about the total number of vouchers, HAP expenses, and portability expenses for the first-of-month and end-of-month. Agency staff can use this report to review voucher issuance data and ensure that their agency's information is accurate for HUD VMS reporting. Generate the full YSR PHA VMS Monthly report for a PHA property or property list and month. The user does not need to provide the VMS run; the latest matching VMS run is input automatically. The response generated is a complete VMS Monthly submission; all fields that are reported by the agency, including those with a blank or zero value, are important for HUD compliance and must be included when presenting and summarizing the results – blank or zero value fields must not be omitted or filtered out.
cmg_performancedashboard_get_performance_dashboard_data
ChatGPTGet Affordable performance dashboard data. This measures the performance of prospect and tenant applications/certifications that go through RentCafe Affordable Housing(RCAH), RightSource, and Compliance Manager.
cmg_phacaseloadlisting_generate_pha_caseload_listing_report
ChatGPTThis tool generates the PHA Caseload Listing report. The PHA Caseload Listing report provides users with the number of families assigned to each caseworker per property, allowing agency staff to review and manage the workload distribution across their properties. This report can be used alongside the PHA Caseworker Listing report, which displays the individual families assigned to caseworkers, to provide insights into caseworker workloads. Generate the PHA Caseload Listing report by first collecting all inputs from the user in the exact order defined by the request model. The agent must ask for every field individually and must not skip, reorder, infer, or auto-populate any field. The input sequence is PropertyIds, and then Caseworker. Both fields are optional; if the user has no preference for either field, leave it blank instead of inputting a default value. When PropertyIds is left blank, caseload counts across all properties are returned. The tool must not run until all fields have been requested by the agent. This report returns the count of families assigned to each caseworker per property. If the user wants to generate a list of individual families assigned to a caseworker, the generate_pha_caseworker_listing_report tool should be used instead.
cmg_phasupervisordashboard_get_tile_data
ChatGPTThis tool retrieves PHA Supervisor Dashboard KPI tile data, aggregated by caseworker, for a property, completed month, and tile. The email must be the authenticated caller's own or that of one of their subordinates; requests for any other user are rejected. Collect all inputs from the user in the exact order defined by the request model. The agent must ask for every field individually and must not skip, reorder, infer, or auto-populate any field. The input sequence is Email, PropertyIds, CompletedMonth, and TileName. All fields are required; PropertyIds must resolve to a single property or property list. The tool must not run until all fields have been requested by the agent. In each TileData item, value1 is "30 Days", value2 is "60 Days", value3 is "60+ Days", value4 is "Completed", and value is "Overdue" (ColumnTitles gives the exact wording for the current tile, in that same value1, value2, value3, value4, value order).
crm_crmanalytics_get_rent_roll_with_lease_charges_crmanalytics
ChatGPTGet Rent Roll with Lease Charges Report showing unit/resident rows with lease charge breakdown, deposits, dates, and balance. Required: PropertyId, SummaryType (ByProperty=0, ByUnitType=1, ByUnit=2), DateTo, MonthYear2. Optional: UnitTypeId, UnitIds.
crm_dashboardvirtuoso_get_leasing_perf_followups_missed
ChatGPTGet Leasing Performance missed follow-up metrics. PropertyIDs optional - omit for all properties (same as UI Any). Dates auto-resolve from PresetDateRange when omitted or 0001-01-01 (same as UI). Custom preset requires explicit dates. View modes (set IsProperty + IsByAgent): Property grid = IsProperty true, IsByAgent false. Agent grid = IsProperty false, IsByAgent true. Summary tile/KPI = IsProperty false, IsByAgent false. UseBusinessHours, CountShowAsAppt, and ExcludeInactiveAgents are always Yes (UI defaults; not configurable via MCP). Follow-ups grid: use same IsProperty/IsByAgent as volume/response. Follow-ups tile (IsProperty false, IsByAgent false) returns current, prior period, and prior year in one call. Pair with get_leasing_performance_response_times for the full Response by Period 7x3 tile. Present rows 6-7 as a 2x3 matrix (columns: Date Range | Prior | Prior Year): FollowUpsMissedPercent (append %), FollowUpsMissedCount (whole number).
crm_dashboardvirtuoso_get_leasing_performance_response_times
ChatGPTGet Leasing Performance response time metrics. PropertyIDs optional - omit for all properties (same as UI Any). Dates auto-resolve from PresetDateRange when omitted or 0001-01-01 (same as UI). Custom preset requires explicit dates. View modes (set IsProperty + IsByAgent): Property grid = IsProperty true, IsByAgent false. Agent grid = IsProperty false, IsByAgent true. Summary tile/KPI = IsProperty false, IsByAgent false. UseBusinessHours, CountShowAsAppt, and ExcludeInactiveAgents are always Yes (UI defaults; not configurable via MCP). For Response by Period tile call 3 times: current (both prior flags false), prior period (IsPriorPeriod true), prior year (IsPriorYear true). Also call get_leasing_perf_followups_missed for follow-up rows to complete the full 7x3 tile. Present rows 1-5 as a 5x3 matrix (columns: Date Range | Prior | Prior Year): LeadReply, SmsChat, Email (seconds to Xd Xh Xm; 0 = N/A), Calls (%; 0 = 0%), PropertyPerformanceMetric (Average Daily Completion Score, whole number, not %).
crm_dashboardvirtuoso_get_leasing_performance_volume_conversion
ChatGPTGet Leasing Performance volume and conversion metrics. PropertyIDs optional - omit for all properties (same as UI Any). Dates auto-resolve from PresetDateRange when omitted or 0001-01-01 (same as UI). Custom preset requires explicit dates. View modes (set IsProperty + IsByAgent): Property grid = IsProperty true, IsByAgent false. Agent grid = IsProperty false, IsByAgent true. Summary tile/KPI = IsProperty false, IsByAgent false. UseBusinessHours, CountShowAsAppt, and ExcludeInactiveAgents are always Yes (UI defaults; not configurable via MCP). For tile comparisons call 3 times: current (both prior flags false), prior period (IsPriorPeriod true), prior year (IsPriorYear true). Present Volume by Period and Conversion by Period as two 9x3 matrices (columns: Date Range | Prior | Prior Year). Volume rows (whole numbers): Leads, Prospects, Cancelled, ToursScheduled, FirstShows, Applied, Denied, LeaseExecuted, MoveIn. Conversion rows: LeadToProspect, ProspectToCancelled, ProspectToTour, ProspectToFirstShow, FirstShowtoApplied, AppliedtoApproved, AppliedtoDenied, LeadtoLeasePercent (append %), LeadToLeaseDays (days, not %).
dmx_covenant_search_covenants
ChatGPTSearch covenant records with different filters to narrow down search results
dmx_loan_search_loans
ChatGPTSearch loan records with different filters to narrow down search results. Use the debt_search_query if asked for loan measures as of a specific date
fcm_batchmcp_search_batches
ChatGPTSearch cash flow data by budget
fcm_budgetmcp_get_budget_leasing_timeline
ChatGPTGet the leasing timeline for each space in a budget: current contract, renewal and new-lease speculations, promoted deals, future leases, pending amendments and the trailing market lease assumption (MLA), plus the available deals not yet promoted. Filter by budget IDs, or by property IDs with book ID and start date.
fcm_budgetmcp_get_budget_occupancy_report
ChatGPTGet occupancy report data (area by type) for one or more budgets
fcm_budgetmcp_get_forecasting_book_id
ChatGPTResolve a Forecasting budget book name to its book ID. Searches Forecasting budget books ONLY — not GL, accounting, or actual books. Matching is case-insensitive and partial (contains); only books the caller is permitted to see are returned. Use a returned bookId as the bookId parameter of the other budget tools.
fcm_budgetmcp_search_budgets_workflows
ChatGPTSearch budgets by budget IDs, or by the combination of property IDs, book ID, and start date. Contains workflow information.
fcm_propertymcp_get_forecast_properties
ChatGPTGet properties with budget, attribute, and forecasting details
fm_comminspection_search_inspections
ChatGPTSearch commercial inspection records with flexible date, status, property, equipment, and employee filters
fm_equipment_search_equipment
ChatGPTSearch equipment records with filters for properties, buildings, units, types, service dates, maintenance status, and assets
fm_pm_search_pms
ChatGPTSearch preventative maintenance records with flexible date, status, property, equipment, and employee filters
fm_reports_forecast_report
ChatGPTForecast for PMs and CommInspections to be posted with filters for dates, properties, and more
fm_workorder_search_work_orders
ChatGPTSearch work orders with comprehensive filters for dates, statuses, properties, categories, assignments, and more
gl_apanalytics_ap_analytics_report
ChatGPTGet AP Analytics reports - unified endpoint for multiple report types. Returns structured JSON data (not HTML) with report-specific data. EXACT REQUEST FORMAT - Copy this structure (either PropertyId or PropertyCodes required): { "ReportType": "ExpenseDistribution", "PropertyId": [2], "PeriodFrom": "2025-01-01T00:00:00.000", "PeriodTo": "2025-12-01T00:00:00.000", "ShowDetail": false } Alternatively use PropertyCodes: { "ReportType": "ExpenseDistribution", "PropertyCodes": ["PROP01", "PROP02"], "PeriodFrom": ..., "PeriodTo": ... } REPORT TYPES: - "ExpenseDistribution": Expense distribution by account (default) - "Aging": AP aging with 30-day buckets (requires AgeAsOf date) FOR AGING REPORT - include AgeAsOf: { "ReportType": "Aging", "PropertyId": [2], "PeriodFrom": "2025-01-01T00:00:00.000", "PeriodTo": "2025-12-31T00:00:00.000", "AgeAsOf": "2025-12-31T00:00:00.000" } FIELD RULES (either PropertyId or PropertyCodes mandatory): - PropertyId: Array of property HMY and/or property list HMY. Either PropertyId or PropertyCodes REQUIRED. - PropertyCodes: Array of property codes or proplist codes. Either PropertyId or PropertyCodes REQUIRED. CRITICAL DATE FORMAT: - All dates MUST be in format: YYYY-MM-DDT00:00:00.000 - Example: "2025-01-01T00:00:00.000" OPTIONAL DATA FILTERING (works for all report types): - DataFilters: ^-separated conditions in column:operator:value format. Operators: eq, neq, gt, gte, lt, lte, contains, notcontains, startsWith, endsWith, in, notin. Use $ prefix for column-to-column comparison. Example: "TotalAmount:gte:1000^AccountCode:startsWith:40" - FilterLogic: 'and' (default) or 'or' - ColumnsToInclude: ^ or comma separated column names to include. Example: "AccountCode,AccountName,TotalAmount" - ColumnsToExclude: ^ or comma separated column names to exclude. Example: "IsGrandTotal"
gl_bankreports_bank_directory
ChatGPTGet bank directory data. Returns JSON rows (not HTML). Response rows contain: Bank_Code, Bank_Desc, Bank_Name, Account_Number (masked; last 4 digits visible for longer numbers), Bank_Address1/2/3, Payer_Name, Payer_Add1/2/3/4, Reconciled_Balance, Reconcile_Date, Next_Chk_no, Next_Dep_no, Bank_Notes, Property_Code, Property_Addr1, GL_Code, GL_Desc, bhmy (bank ID).
gl_financialreports_budget_comparison
ChatGPTGenerate a budget comparison report comparing actual vs budgeted amounts. Returns structured JSON data (not HTML) with account-level details. IGNORE INPUT SCHEMA - Use ONLY the fields shown below. EXACT REQUEST FORMAT - Copy this structure (either PropertyId or PropCode required; BookId required): { "PropertyId": [2], "BookId": [1], "MonthFrom": "2025-01-01T00:00:00.000", "MonthTo": "2025-12-01T00:00:00.000" } Alternatively use PropCode: { "PropCode": ["code1", "code2"], "BookId": [1], ... } Optional (omit for defaults): - "BudgetSource": 0 - "TreeId": 0 - Account tree ID; when > 0 uses this tree - "TreeCode": "" - Account tree code (e.g. ysi_bf); when provided uses this tree. If both TreeId and TreeCode omitted, report uses its default tree. - IsShowDecimalDigits: Optional. When true, amounts are returned with 2 decimal places; when false or omitted, 0 decimal places (same as HTML "show decimal" option). CRITICAL DATE FORMAT: - MonthFrom and MonthTo MUST be in format: YYYY-MM-DDT00:00:00.000 - Example: "2025-01-01T00:00:00.000" (NOT "2025-01-01" or "01/01/2025") - Always use first day of month (DD=01) - Always include T00:00:00.000 suffix FIELD RULES (either PropertyId or PropCode mandatory; BookId mandatory): - PropertyId: Array of property HMY and/or property list HMY. Either PropertyId or PropCode REQUIRED. Multiple IDs supported; list members resolved. - PropCode: Array of property codes or proplist codes (e.g. from Proplist). Either PropertyId or PropCode REQUIRED. Multiple codes supported. - BookId*: Array of integers [0]=Default, [1]=Accrual, [2]=Cash - REQUIRED (mandatory) - MonthFrom: Start date in YYYY-MM-DDT00:00:00.000 format - REQUIRED - MonthTo: End date in YYYY-MM-DDT00:00:00.000 format - REQUIRED - BudgetSource: Optional. Integer (0=None, 1=GL, 2=AdvBudget, 3=Analysis). Default 0. - TreeId: Optional. When > 0, uses this account tree. - TreeCode: Optional. When provided (e.g. ysi_bf), uses this account tree code. If both omitted, report uses default tree. - IsShowDecimalDigits: Optional. When true, amounts with 2 decimal places; when false or omitted, 0 decimal places. DO NOT include any other fields.
gl_financialreports_general_ledger
ChatGPTGenerate a general ledger report showing account summaries and transaction-level details. Returns structured JSON data (not HTML) with account summaries and transactions. IGNORE INPUT SCHEMA - Use ONLY the fields shown below. EXACT REQUEST FORMAT - Copy this structure (either PropertyId or PropCode required; BookId required): { "PropertyId": [2], "BookId": [1], "MonthFrom": "2025-01-01T00:00:00.000", "MonthTo": "2025-12-01T00:00:00.000" } Alternatively use PropCode: { "PropCode": ["code1", "code2"], "BookId": [1], ... } Optional (omit for defaults): - "FromAccountCode": "" - "ToAccountCode": "" - "FromDate": null - "ToDate": null - "TreeId": 0 - "TreeCode": "" - IsShowDecimalDigits: Optional. When true, amounts with 2 decimal places; when false or omitted, 0 decimal places (same as HTML "show decimal" option). CRITICAL DATE FORMAT: - MonthFrom and MonthTo MUST be in format: YYYY-MM-DDT00:00:00.000 - Example: "2025-01-01T00:00:00.000" (NOT "2025-01-01" or "01/01/2025") - Always use first day of month (DD=01) - Always include T00:00:00.000 suffix FIELD RULES (either PropertyId or PropCode mandatory; BookId mandatory): - PropertyId: Array of property HMY and/or property list HMY. Either PropertyId or PropCode REQUIRED. Multiple IDs supported; list members resolved. - PropCode: Array of property codes or proplist codes (e.g. from Proplist). Either PropertyId or PropCode REQUIRED. Multiple codes supported. - BookId*: Array of integers [0]=Default, [1]=Accrual, [2]=Cash - REQUIRED (mandatory) - MonthFrom: Start date in YYYY-MM-DDT00:00:00.000 format - REQUIRED - MonthTo: End date in YYYY-MM-DDT00:00:00.000 format - REQUIRED - FromAccountCode, ToAccountCode: Optional. Account code range filter. - FromDate, ToDate: Optional. Transaction date range filter. - TreeId: Optional. When > 0, uses this account tree. - TreeCode: Optional. When provided, uses this account tree code. If both omitted, report uses default tree. - IsShowDecimalDigits: Optional. When true, amounts with 2 decimal places; when false or omitted, 0 decimal places. DO NOT include any other fields.
gl_financialreportsmain_financial_report
ChatGPTGenerate any financial report with structured JSON output. Returns MCP-friendly JSON data based on the ReportType specified. IGNORE INPUT SCHEMA - Use ONLY the fields shown below. EXACT REQUEST FORMAT - Copy this structure exactly: { "ReportType": "trialbalance", "PropertyId": [2], "BookId": [1], "MonthFrom": "2025-01-01T00:00:00.000", "MonthTo": "2025-12-01T00:00:00.000", "type": "screen", "BudgetSource": 0, "IsShowGrid": false, "IsAccount": false, "IsShowDecimalDigits": false, "IsSuppressZero": false, "IsShowTreeSummary": false, "HideRedirects": false, "IsFreezePanes": false } SUPPORTED REPORT TYPES (use exact value for ReportType field): - "budgetcomp" - Budget Comparison (actual vs budget) - "twelvemonthbudget" - Twelve Month Budget (monthly breakdown) - "cashflowstatement" - Cash Flow Statement (inflows/outflows) - "trialbalance" - Trial Balance (debits/credits) - "incomestatement" - Income Statement (revenue/expenses) - "balancesheet" - Balance Sheet (assets/liabilities/equity) CRITICAL DATE FORMAT: - MonthFrom and MonthTo MUST be in format: YYYY-MM-DDT00:00:00.000 - Example: "2025-01-01T00:00:00.000" (NOT "2025-01-01" or "01/01/2025") - Always use first day of month (DD=01) - Always include T00:00:00.000 suffix FIELD RULES: - ReportType: REQUIRED - One of the supported report types listed above - PropertyId: Array of integers [2] or [2,3,4] (property IDs) - BookId: Array of integers [1] for Accrual, [2] for Cash - MonthFrom: Start date in YYYY-MM-DDT00:00:00.000 format - MonthTo: End date in YYYY-MM-DDT00:00:00.000 format - type: Always "screen" - BudgetSource: Integer (0=None, 1=GL, 2=AdvBudget, 3=Analysis) - ONLY for budgetcomp and twelvemonthbudget reports, ignored for other report types - IsShowGrid: Show grid lines (true/false) - IsAccount: Show GL account details (true/false) - IsShowDecimalDigits: Show decimal places (true/false) - IsSuppressZero: Hide zero balance accounts (true/false) - IsShowTreeSummary: Show account tree summary (true/false) - HideRedirects: Hide redirect accounts (true/false) - IsFreezePanes: Freeze header panes (true/false) DO NOT include any other fields.
gl_transactionregisters_search_transaction_registers
ChatGPTSearch transaction registers using FinRep data; response is JSON rows. DOMAIN FIELDS: - TransactionType: required (positive id) - PropertyIds and/or PropertyCodes: optional; when omitted, results are not property-scoped - PeriodFrom & PeriodTo: both set or both omitted (YYYY-MM) - DateFrom, DateTo: optional; both must be set or both omitted - ShowDetail: optional boolean; false for header/summary style - CreatedDateFrom & CreatedDateTo: both set or both omitted; ordered - AmountFrom & AmountTo: both set or both omitted; AmountFrom must not exceed AmountTo - Reference, Notes: optional - BatchTypes: optional; only when TransactionType is Batch (11). - BookIds: optional; only when TransactionType is Journal (10). - AccountCodes: optional GL account-code list (resolved to exact account IDs; code range fallback when unresolved). OPTIONAL PAGINATION: - Omit PageSize to return all matching rows. - Provide PageSize (max 1000) and optional PageNumber (default 1) for paged results with totalCount, totalPages, hasMore. OPTIONAL RESPONSE FILTERING: - DataFilters, FilterLogic, ColumnsToInclude, ColumnsToExclude Omit response filters when not needed.
ia_commitments_get_investor_investment_commitments
ChatGPTCapital commitments between an INVESTOR and an INVESTMENT; never construction job commitments or purchase-order commitments. Each row is one active or historical commitment, including start/end dates, commitment amount, ownership percentage, cascade set, and rule set assignments. Both InvestorID and InvestmentID are property-table hmy values — if you have only a name or code, call get_autocomplete with autoCompleteType='property' first rather than guessing an id. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks: - who is committed to which investment / fund - commitment amount, committed capital, total commitments - ownership percentage from a commitment - commitment history, when a commitment started or ended - 'how much has this investor committed' DO NOT USE for: - Capital called, funded, or distributed to date -> get_capital_analytics_report - The ownership hierarchy above or below an entity -> get_investment_ownership_structure - Construction job commitments / contracts -> get_job_commitments - Recording a contribution or distribution -> create_unposted_investment_cash_transaction Filter by InvestorID and/or InvestmentID to scope results; set Active=true to return only open commitments (no end date); use DateFrom/DateTo to filter by commitment start date; use AsOfDate to return only commitments that were active on a specific date. AsOfDate differs from Active: Active returns only commitments with no end date at all, while AsOfDate also includes historical commitments whose term spans the given date (start date on or before it, and end date on or after it, or no end date). Leave all filters blank to return every commitment. Example: 'How much has Oakwood Capital committed, and to what?' -> call get_autocomplete with autoCompleteType='property' and searchTerm='Oakwood Capital', then call this tool with InvestorID set to the returned id. Example: 'Which commitments were active on 6/30/2025?' -> call this tool with AsOfDate='06/30/2025'.
ia_contactactivity_get_investor_contact_activities
ChatGPTActivity history (emails, notes, calls, meetings) for an INVESTOR CRM contact only; never tenants, prospects, or property contacts. At least one of contactHMy, contactCode, or contactName is REQUIRED — calling with all three blank returns an error, not an unscoped list. If you have only a person's name, pass the full name in contactName; there is no separate investor-contact search tool in this product. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks: - recent activity, activity history, or touchpoints for an investor contact - when we last spoke to / emailed / met with a contact - calls, notes, meetings, or correspondence logged against a contact - 'what's the latest with John at Oakwood' DO NOT USE for: - Voyager contacts and their record links -> search_contacts / get_contact_connections - Property-side contacts -> get_property_contacts - Tenants, residents, or prospects -> get_resident / search_prospects - An investor's stated investment criteria -> get_investor_entity_directory (detailLevel='full') - Proposals in the pipeline -> get_investor_crm_proposals Returns the contact's most recent activities, with email bodies reduced to plain text. Example: 'When did we last contact Jane Reyes?' -> call this tool with contactName='Jane Reyes' (the full name, so both parts are matched).
ia_entity_get_investment_ownership_structure
ChatGPTINVESTMENT ownership hierarchy above and below an investor entity or account; not HOA/association owners or property owner records. Two modes, chosen by the 'type' parameter, and passing the wrong id kind returns the wrong tree: type='investor' expects an investor ACCOUNT (CRM client) hmy; type blank expects an investor/investment ENTITY (property record) hmy. If it is not clear from context which the user means, ask them: 'Could you please clarify if the investor referenced is an investor account record or a specific investor entity?' — do not guess. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks: - ownership structure, ownership hierarchy, ownership chain, org chart of entities - who owns this entity / what does this investor own - direct vs effective ownership percentage, rolled-up ownership - 'trace the ownership up from this fund' DO NOT USE for: - Commitment amounts and dates on their own -> get_investor_investment_commitments - Capital balances, contributions, or distributions -> get_capital_analytics_report - Voyager property owner records -> get_owner_entity - HOA / association owners -> get_association_owners The response includes 'entities' (ownership hierarchy nodes with level, name, code, ownership %, entity type, and investor/investment IDs) and 'commitments' (commitment records — amount, dates, percent — for entity pairs in the hierarchy). Example: 'Who owns Fairview Partners LP?' -> confirm whether that is an investor account or an entity, resolve the id with the matching lookup, then call this tool with entityId set and type matching the record kind.
ia_imanalytics_get_capital_analytics_report
ChatGPTINVESTOR CAPITAL analytics only — capital roll forward, capital balances, capital transactions; never GL, operating, or property results. IMTemplateId defines the report's column structure and is required for meaningful results — never send 0 and never omit it. If the user named a template, resolve it with get_im_autocomplete and type='im-templates'. If they named none, resolve searchTerm='SysTemp', the standard out-of-the-box template, and use that id. Sending 0 (or leaving it out) now returns a 400 error rather than a silent empty or meaningless report — if you see that error, call get_im_autocomplete first and retry. DateTo and DateFrom are literal dates (MM/DD/YYYY) — this tool has no notion of relative phrases like 'year-end' or 'this quarter'. Convert them yourself before calling: 'through year-end' -> DateTo=12/31/<the current or stated year>; 'year to date' -> DateFrom=01/01/<year>, DateTo=today. Omitting DateTo defaults it to today, which is silently wrong if the user actually meant a different as-of date, so prefer computing and passing it explicitly whenever the request implies a specific date, and don't assume 'this year' means the current calendar year without checking today's date. The response's top-level 'assumptions' array (see below) tells you which date/style defaults were actually applied, so check it and mention any surprising ones to the user. The response is an object of the shape { assumptions: string[], rows: [...] } — 'assumptions' lists any parameter the caller left blank and what was substituted (e.g. an inferred ReportStyle, a defaulted DateTo). Always read it before presenting 'rows'; if it's non-empty, tell the user what was assumed rather than silently presenting results as if the request was fully specified. reportType selects which of four reports runs: - 'capital_roll_forward': opening balances, contributions, distributions, and ending balances by time period. Use when the question is about capital activity — what moved in or out each period and what drove the balance change. - 'historical_balances_consolidated': total committed, funded, and returned capital aggregated across all selected investors or investments at each point in time. Use for portfolio-level balance snapshots rather than per-entity detail. - 'historical_balances_detail': committed, funded, and returned capital per individual investor or investment entity over time. Use to compare positions entity-by-entity. - 'transaction_detail': individual capital transactions — contributions, distributions, return of capital, fees — with dates and amounts. The most granular option; use for reconciliation or 'what transactions make up this total'. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks: - capital roll forward, capital activity, capital account activity - committed / funded / called / returned / unfunded capital - contributions and distributions over time - capital balance as of a date, historical capital balances - 'what transactions make up this investor's balance' DO NOT USE for: - Commitment terms and dates on their own -> get_investor_investment_commitments - Ownership hierarchy and percentages -> get_investment_ownership_structure - Recording a new contribution or distribution -> create_unposted_investment_cash_transaction - Property GL, operating results, or budgets -> get_gl_summary / get_budget - Fund-level IRR and performance metrics -> get_fund_performance - Property-level distributions in Voyager -> get_distributions ReportStyle sets the perspective: 'investor' looks up at investor entities (e.g. filter by InvestmentId to see which investors are in that investment), 'investment' looks down at investments (e.g. filter by InvestorId to see which investments that investor holds). If omitted it is inferred — 'investment' when only InvestorId is provided, 'investor' otherwise. DateTo sets the as-of cutoff. Example: 'Show capital roll forward for the Fairview fund this year' -> call get_autocomplete with autoCompleteType='property' and searchTerm='Fairview' for the fund id, call …
ia_imautocomplete_get_im_autocomplete
ChatGPTName-to-id lookup for ACQUISITION/INVESTMENT MANAGER records only; for Voyager properties, units or vendors use get_autocomplete. Call this first whenever you have a human-readable name or code and another AM/IM tool needs a numeric hmy. The 'type' parameter is required and each value searches a different table — picking the wrong type silently returns the wrong kind of record, so match it to what the user actually named. Supported types: - 'acquisitions': Acquisition deals — investorcrminvestment with a template assigned (objectType 21013). Returns id, label, code. - 'dispositions': Disposition deals — iplusdisposition with a template assigned (objectType 21010). Returns id, label, code. - 'opportunities': Opportunity records — investorcrminvestment with no template assigned. Returns id, label, code. - 'investors': Investor / CRM client records — investorcrmclient. Returns id, label, code. - 'im-templates': Capital Roll Forward templates — CapitalRollFwd_Template. Returns id, label (= scode). - 'tran-types': Fund transaction types — fundtran_types. Returns id, label (= sType). ALWAYS USE this tool (do not answer from another tool or from memory) when you need to: - turn a deal, opportunity, or investor name or code into an id - confirm whether a named record is an acquisition, a disposition, or an opportunity - find a capital roll forward template or fund transaction type by name DO NOT USE for: - Voyager properties, units, vendors, tenants, or PM users -> get_autocomplete - Investor ENTITY (property-record) ids used by capital and ownership tools -> get_autocomplete with autoCompleteType='property' - Deal stage/status or template lists for filtering -> get_acquisition_disposition_deal_lookups - Comp set names -> get_acquisition_comp_sets_list - The deal data itself once you have the id -> get_acquisition_disposition_deal_summary searchTerm is optional — omit it to return the first maxRecords results ordered by name, or supply a partial name or code to filter server-side. Example: 'Pull the rent roll for the Maple Street deal' -> call this tool with type='acquisitions' and searchTerm='Maple Street', then pass the returned id to get_acquisition_rent_roll_units as dealId.
ia_opportunityinfo_get_investor_crm_proposals
ChatGPTINVESTOR CRM proposals — what was offered to which investor for an opportunity; not AM deals, purchase orders, or vendor bids. Filters come in three families and they identify different records: investor is the investor ACCOUNT (CRM client), investorEntity is the investor ENTITY (property record), and opportunity* is the opportunity itself. Mixing an entity id into an investor filter silently returns nothing — pick the family that matches what the user named. ALWAYS USE this tool (do not answer from another tool or from memory) when the user asks: - proposals, investor proposals, proposal pipeline - what has been offered to an investor, or who was offered an opportunity - proposal status or amounts for an opportunity DO NOT USE for: - Acquisition or disposition deals -> get_acquisition_disposition_deal_summary - Signed commitments rather than proposals -> get_investor_investment_commitments - An investor's stated criteria -> get_investor_entity_directory (detailLevel='full') - Purchase orders or vendor bids -> search_pos / get_po Query parameters support comma-separated values (e.g. "454,455"). Name filters use substring matching — a partial name like "Smith" matches both "Smith Capital" and "Blacksmith Partners". Leave all filters blank to list every proposal. Example: 'What proposals has Oakwood been sent?' -> call get_im_autocomplete with type='investors' and searchTerm='Oakwood', then call this tool with investorHMy set to the returned id.
lm_reconciliation_get_commercial_recovery
ChatGPTCommercial CAM/recovery reconciliation: actual vs estimated expense recoveries per tenant for a property and expense year. Use for CAM true-up, recovery reconciliation, or expense recovery reports — NOT lease charge schedules or rent roll. READ recovery/schema FIRST for the request template. Requires propertyIds, bookIds, expenseYearEnd, postMonth (first of month). Paginated report rows with reportTotals for full-report sums. Commercial only. PRECONDITION (verify BEFORE calling): - READ GET /api/mcp/recovery/schema before the first call. - propertyIds, bookIds, expenseYearEnd, postMonth are REQUIRED. Dates must be first of month (e.g., 2019-12-01T00:00:00). - Properties must be COMMERCIAL; resolve IDs via masterfile/search first. QUESTION → PARAMETERS: - CAM reconciliation / recovery true-up → propertyIds, bookIds, expenseYearEnd, postMonth - Audit vs detail vs archive report → reportType (default RecoveryReconciliationAudit) - Filter to tenants or recovery groups → tenantIds, recoveryGroupIds - Next page of rows → cursor from prior nextCursor; pageSize default 20 (keep ≤25 for Virtuoso) BOUNDARIES (this tool cannot answer): - Recovery billing schedule on a lease → prefer get_commercial_tenancy_schedule with recoverySchedule=true - Charge schedule / what is billed → prefer get_commercial_tenancy_schedule with chargeSchedule=true or prefer get_commercial_lease_charges - Rent, occupancy, vacancy → prefer get_commercial_rent_roll - Collections / AR balances → prefer get_commercial_collections - Lease compliance audits (non-recovery) — not this tool - Residential/multifamily — never Read-only. pageSize 1-200 (default 20); nextCursor for additional pages; reportTotals = sums across all rows.
lm_tenancyschdreport_get_commercial_tenancy_schedule
ChatGPTCommercial tenancy schedule: the current (active) tenants AND the vacant units of a COMMERCIAL property — tenant roster, unit vacancy/occupancy, lease dates, units, contract sqft, and charges. Use whenever the ask is who leases or occupies space at a commercial property, OR which units/suites are vacant or available at one (office, retail, industrial, mixed-use commercial). Lease-level rows with optional nested sections via boolean flags (spaces, amendments, options, clauses, charge/recovery schedules, contacts, guarantors, rent steps, proposals, memos, restrictions, indexation, retail MAT, summaries). Commercial only — never residential/multifamily. Set every matching flag in one call; nested data is on each items row by leaseId. PRECONDITION: - At least one filter: tenantId, propertyId, property (code), or tenant (name search). - COMMERCIAL properties/tenants only. QUESTION → PARAMETERS: - Tenant roster / who leases here → propertyId or property - Single lease identity, dates, status → tenantId - Suites/spaces a tenant occupies → spaces=true - Vacant units / unit vacancy / available suites → occupancySummary=true; groupBy=8 (VACANT rows have leaseName=VACANT); spaces=true for detail. Source of truth for commercial unit vacancy. - Occupancy/rent totals → occupancySummary=true; groupBy=1 or 8 - Rent, charges, abatements → chargeSchedule=true; rentSchedule=true for steps - Recovery schedule on leases → recoverySchedule=true - Amendments → amendments=true; options → options=true; clauses → clauses=true - Contacts, guarantors, DBA → contacts=true, guarantor=true, dba=true - Proposals → proposal=true; memos → memos=true - Summaries → leaseTypeSummary, chargeCodeSummary (needs chargeSchedule=true), occupancySummary - Combined topics → set all matching flags together FLAGS (default false): spaces, unitDescription, unitType, amendments, pastAmendments, futureAmendments, showPendingAmendments, proposal, options, optionsRentStep, clauses, coTenancy, restriction, chargeSchedule, rentSchedule, recoverySchedule, grossRent, rentReview, costInducements, indexation, multiCurrency, contacts, guarantor, dba, retailMAT, retailSchedule, memos, icGroup, ownerLiabilityLeases, leaseTypeSummary, chargeCodeSummary, occupancySummary. BOUNDARIES (this tool cannot answer): - Residential/multifamily/residents - CAM recovery reconciliation → prefer get_commercial_recovery - Collections / AR balances → prefer get_commercial_collections - Property rent roll metrics → prefer get_commercial_rent_roll - Security deposit required/billed/received report → prefer get_commercial_lease_deposits - Deep single-topic on one lease → prefer get_commercial_lease_charges, get_commercial_lease_amendments, get_commercial_lease_clauses, or get_commercial_lease_options Read-only. pageSize 1-500 (default 100); nextCursor for more rows. groupBy 1=Property, 2=Customer, 7=Brand, 8=Property Site (1 and 8 include vacant units).
p2p_irmcp_get_ir_image
ChatGPTGet the scanned invoice image for an invoice register by invoice ID. Returns front and back image data as base64 for one page (pageNumber, default 0) or all pages (allPages=true).
p2p_payable_get_payables
ChatGPTGet list of payables (list view). Required: DateFrom, DateTo (transaction date range). Optional filters: InvoiceRegisterId, PayableIds, PostMonthFrom/To, PropertyIds, VendorIds, Status, BatchIds, ItemsPerPage, StartIndex.
p2p_pomcp_get_po_directory_report
ChatGPTGenerates the PO Directory report for purchase order analytics; NOT for single-PO lookup or PO grid search. ALWAYS USE when the user asks for PO Directory, PO register, PO listing with receipt/payment/approval filters, or PO analytics by property/vendor/date. DO NOT USE for a single PO by ID (get_purchase_order), PO grid/chart search (search_purchase_orders), closable POs (get_closable_purchase_orders), or actionable PO workflow items (get_actionable_purchase_orders). Required: at least one scope filter — (PropertyId or PropertyCode), (VendorIds or VendorCodes), or DateOrderedFrom/DateOrderedTo. Property scope accepts PropertyId OR PropertyCode interchangeably. All entity filters accept IDs and/or codes. Max 5000 rows.
p2p_vendormcp_get_vendors
ChatGPTGets a list of vendors with filtering capabilities.
rfm_connectai_search_work_orders
ChatGPTSearch work orders with comprehensive filtering options
scrm_dashboard_get_lead_source_analytics
ChatGPTPortfolio marketing/referral lead-source ROI analytics - corresponds to Lead Source Analysis dashboard: leads, move-ins, conversion %, source cost, cost per lead, cost per move-in, average sales cycle, and average length of stay grouped by source or source type. Optional Detail returns capped lead or move-in rows. SourceName/SourceType scope the whole response; omit them for the full portfolio. For sales counselor-level metrics use get_sales_counselor_performance.
scrm_dashboard_get_prospects_by_lead_stage
ChatGPTLead Manager pipeline for one community: active prospects with current/previous lead stage, progression, sales counselor, source, latest activities, tour count, deposit flag, lead score, and care level. Max 500 rows.
scrm_dashboard_get_sales_counselor_performance
ChatGPTPer-sales-counselor performance rollup — funnel volume and transactional conversion % (Sales Performance dashboard), speed-to-lead and response times (Sales Performance + Speed To Lead), velocity/retention (avg sales cycle, length of stay from lead-source cohorts), and activity/engagement (Sales Counselor Performance report). Each row includes PropertyBreakdown: per-community additive counts, count-derived percentages (funnel, conversion, past-due, activity), and velocity (avg sales cycle, length of stay). PropertyBreakdown is sparse — one entry only per property where the counselor has data (may be empty); match on PropertyId, do not assume one entry per requested property. Averages (speed-to-lead, email, phone-missed %) are counselor-level only. Rows are keyed by canonical SeniorSalesCounselor ID (0 = Unassigned). Activity counts (ActivitiesAssigned/Completed/Missed) are independent cohorts and non-additive by design — Completed + Missed may exceed Assigned; the response MetricNotes object defines each metric's semantics. Cost/source ROI metrics are omitted — use get_lead_source_analytics. Aggregate only (no PII). For live pipeline lists use get_prospects_by_lead_stage.
scrm_setup_get_lead_stage_configuration
ChatGPTGet lead stage configuration: stage codes (used to filter other Senior Living tools), action items, and sales guides
sh_lookup_get_senior_autocomplete
ChatGPTLook up ids, codes, and names for Senior Living and Voyager entities by search text — prospects, residents, referrals, sources, sales counselors, units, care zones, and more. Also returns setup list option codes/names (care levels, privacy levels, lead statuses, etc.) via the listoption type. Use to resolve a name, code, or list option the user mentioned into the id or code that other Senior Living tools require. Returns id and name per match.
siq_configuration_list_measures
ChatGPTList all Senior IQ measure definitions. Metadata only — no KPI data values. Use the MeasureName field with list_tiles_and_widgets to find tiles or widgets that expose a specific measure, then call get_data to retrieve values.
siq_configuration_list_tiles_and_widgets
ChatGPTList all available Senior IQ tiles and widgets. Optionally filter by measure name (Measure) or name substring (SearchText). Returns Code and ItemType required by get_data.
siq_data_get_data
ChatGPTFetch KPI data for any Senior IQ widget or tile by code. No dashboard id required. Provide Code and ItemType from list_tiles_and_widgets. Returns normalized Categories, Measures, and Data. Prefer this over get_dashboard_tile or get_dashboard_widget when you have a code but no dashboard context.
vn_mcpframework_get_autocomplete
ChatGPTGet autocomplete suggestions for various entity types (properties, vendors, tenants, etc.). Always include autoCompleteType.
vn_mcpframework_list_autocomplete_types
ChatGPTGet list of available autocomplete entity types
vs_property_property_list
ChatGPTGet a list of all properties accessible to the authenticated user. This endpoint returns all properties that the user has access to, including property IDs, codes, names, and other key details. OPTIONAL: - Limit (query parameter): Maximum number of properties to return. Default: 200. Example: ?Limit=50 - Search (query parameter): Filter properties by property code or name (partial match, case-insensitive). Example: ?Search=Main - ShowOnlyPropertyLists (query parameter): When true, returns property lists with nested member properties. Default: false. Example: ?ShowOnlyPropertyLists=true EXAMPLES: All Properties (first 200): GET /api/mcp/property/list With Limit: GET /api/mcp/property/list?Limit=50 With Search: GET /api/mcp/property/list?Search=Main Combined: GET /api/mcp/property/list?Search=Main&Limit=50 Property Lists Only: GET /api/mcp/property/list?ShowOnlyPropertyLists=true
Yardi Virtuoso tools
ClaudeYardi Virtuoso provides secure, real-time access to Yardi data and tools through Claude. It enables investment, property and asset management professionals to query financial models, predictive maintenance insights, market analysis, and portfolio data using natural language. Users can ask complex operational questions, explore strategic scenarios, and perform analysis without manual data extraction, all grounded in accurate, enterprise-grade Yardi data.
rfm_connectai_create_work_order
Clauderfm_connectai_search_work_orders
Clauderfm_workorder_mark_work_order_as_complete
Claudevn_mcpframework_get_autocomplete
Claudevn_mcpframework_list_autocomplete_types
Claude