Appfolio MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VHOST | Yes | Your Appfolio hostname (e.g., 'yourcompany') | |
| PASSWORD | Yes | Your Appfolio API password | |
| USERNAME | Yes | Your Appfolio API username | |
| NODE_OPTIONS | No | Optional: e.g., --experimental-vm-modules |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_cashflow_reportB | Returns Cash Flow Details including income and expenses for given time period. |
| get_account_totals_reportC | Returns account totals for given filters and date range. |
| get_aged_payables_summary_reportB | Returns aged payables summary for the given filters. IMPORTANT: All ID parameters must be numeric strings (e.g. '123'), NOT names. |
| get_rent_roll_itemized_reportB | Returns rent roll itemized report for the given filters. IMPORTANT: All ID parameters (properties_ids, property_groups_ids, portfolios_ids, owners_ids, gl_account_ids) must be numeric strings (e.g. '123'), NOT names. CRITICAL: gl_account_ids are internal database IDs, NOT GL account numbers! Do not use GL account numbers like '4630', '4635' - use the Chart of Accounts Report first to lookup the correct gl_account_ids. |
| get_guest_card_inquiries_reportA | Returns guest card inquiries report for the given filters. IMPORTANT: All ID parameters (properties_ids, property_groups_ids, portfolios_ids, owners_ids) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_leasing_funnel_performance_reportA | Returns leasing funnel performance report for the given filters. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_annual_budget_comparative_reportC | Returns annual budget comparative report for the given filters. |
| get_annual_budget_forecast_reportC | Returns annual budget forecast report for the given filters. |
| get_delinquency_as_of_reportA | Returns delinquency as of report for the given filters. IMPORTANT: All ID parameters (properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. NOTE: tenant_statuses uses numeric codes: 0=Current, 1=Past, 2=Future, 3=Evict, 4=Notice. |
| get_expense_distribution_reportC | Returns expense distribution report for the given filters. |
| get_balance_sheet_reportC | Returns the balance sheet report for the given filters. |
| get_aged_receivables_detail_reportB | Returns aged receivables detail for the given filters. IMPORTANT: All ID parameters (properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_budget_comparative_reportC | Returns budget comparative report for the given filters. |
| get_chart_of_accounts_reportA | Returns the chart of accounts with GL account information. Use this to lookup gl_account_ids by GL account number ('number' field) or name ('account_name' field). IMPORTANT: Column names are specific - use 'number' for GL account number, 'account_name' for account name, 'gl_account_id' for internal database ID. |
| get_completed_workflows_reportA | Returns a report of completed workflows (processes) based on the provided filters. IMPORTANT: All ID parameters (owners_ids, properties_ids, units_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use directory reports first to lookup IDs by name if needed. |
| get_fixed_assets_reportC | Returns a report of fixed assets based on the provided filters. |
| get_in_progress_workflows_reportA | Returns a report of in-progress workflows based on the provided filters. IMPORTANT: All ID parameters (owners_ids, properties_ids, units_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use directory reports first to lookup IDs by name if needed. |
| get_income_statement_date_range_reportC | Returns the income statement report for a specified date range. |
| get_work_order_labor_summary_reportC | Returns a report detailing work order labor based on specified filters. |
| get_cancelled_workflows_reportC | Retrieves a report of cancelled workflows, allowing filtering by various criteria such as properties, process templates, and date ranges. |
| get_lease_expiration_detail_by_month_reportA | Retrieves a report detailing lease expirations by month, filterable by properties, date range, and other criteria. IMPORTANT: All ID parameters (properties_ids, property_groups_ids, portfolios_ids, owners_ids) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_leasing_summary_reportA | Provides a summary of leasing activities, including inquiries, showings, applications, and move-ins/outs. IMPORTANT: All ID parameters (properties_ids, property_groups_ids, portfolios_ids, owners_ids) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_owner_directory_reportA | Retrieves a DIRECTORY report with details about property owners. This returns ALL owners (with optional filters) - to find specific owners by name, call this report and search the results client-side. IMPORTANT: All ID parameters must be numeric strings, NOT names. The 'tags' parameter is for filtering by actual system tags, NOT for text search. |
| get_loans_reportC | Retrieves a report on loans associated with properties. |
| get_occupancy_summary_reportA | Generates a summary of property occupancy, including number of units, occupied units, and vacancy rates. IMPORTANT: All ID parameters must be numeric strings (e.g. '123'), NOT names. Use directory reports to lookup IDs by name if needed. Common columns: 'number_of_units', 'occupied', 'vacant_rented', 'vacant_unrented', 'percent_occupied'. |
| get_owner_leasing_reportA | Provides a leasing report tailored for property owners, showing leasing activity within a specified date range. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_property_performance_reportA | Retrieves the Property Performance report, showing financial performance metrics for properties within a specified date range. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_property_source_tracking_reportA | Returns property source tracking report for the given filters. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_receivables_activity_reportA | Returns receivables activity report for the given filters. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_renewal_summary_reportA | Provides a summary of lease renewals. IMPORTANT: All ID parameters (properties_ids, property_groups_ids, portfolios_ids, owners_ids) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. NOTE: All string parameters should be properly quoted JSON strings (e.g. "active", not active). |
| get_vendor_ledger_reportD | Generates a report on vendor ledgers. |
| get_rental_applications_reportA | Returns rental applications report for the given filters. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_resident_financial_activity_reportB | Returns resident financial activity report for the given filters. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_screening_assessment_reportC | Returns screening assessment report for the given filters. |
| get_security_deposit_funds_detail_reportD | Returns security deposit funds detail report for the given filters. |
| get_tenant_directory_reportA | Returns tenant directory report for the given filters. IMPORTANT: All ID parameters (properties_ids, owners_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_tenant_ledger_reportC | Generates a report on tenant ledgers. |
| get_trial_balance_by_property_reportC | Generates a trial balance report by property. |
| get_property_directory_reportA | Retrieves a property directory report with details about properties, including status, address, units count, and owner information. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use Owner Directory Report first to lookup owner IDs by name if needed. |
| get_property_group_directory_reportA | Get property group directory report from AppFolio. Shows properties organized by property groups and portfolios. IMPORTANT: All ID parameters (properties_ids, property_groups_ids, portfolios_ids, owners_ids) must be numeric strings (e.g. "123"), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_cashflow_12_month_reportB | Generates a 12-month cash flow report. |
| get_income_statement_12_month_reportC | Generates a 12-month income statement report. |
| get_unit_directory_reportA | Retrieves a unit directory report with details about units in properties. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_unit_inspection_reportA | Generates a report on unit inspections. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_unit_vacancy_detail_reportA | Generates a report on unit vacancies. IMPORTANT: All ID parameters (owners_ids, properties_ids, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
| get_vendor_directory_reportC | Retrieves a directory of vendors. IMPORTANT: All ID parameters must be numeric strings (e.g. '123'), NOT names. |
| get_work_order_reportA | Generates a report on work orders. IMPORTANT: All ID parameters (unit_ids, property_id, etc.) must be numeric strings (e.g. '123'), NOT names. Use respective directory reports first to lookup IDs by name if needed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CryptoCultCurt/appfolio-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server