Buildium MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BUILDIUM_BASE_URL | No | API Base URL (no /v1 suffix). Production: https://api.buildium.com, Sandbox: https://apisandbox.buildium.com | |
| BUILDIUM_CLIENT_ID | Yes | Buildium API client ID | |
| BUILDIUM_CATEGORIES | No | Comma-separated list of tool categories to enable (e.g., associations,leases,rentals). If not set, all categories are enabled. | |
| BUILDIUM_CLIENT_SECRET | Yes | Buildium API client secret |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_associationsA | List associations from Buildium. Args: limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with associations list and metadata. |
| get_associationA | Get a specific association by ID. Args: association_id: The association ID. Returns: Association details as dictionary. |
| create_associationB | Create a new association. Args: association_data: Association data dictionary with required fields. Returns: Created association details. |
| update_associationB | Update an existing association. Args: association_id: The association ID. association_data: Association data dictionary with fields to update. Returns: Updated association details. |
| list_association_board_membersB | List board members for a specific association. Args: association_id: The association ID. limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with board members list. |
| list_association_ownership_accountsA | List ownership accounts for a specific association. Args: association_id: The association ID. limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with ownership accounts list. |
| list_leasesA | List leases from Buildium. Args: property_id: Optional property ID to filter by. unit_id: Optional unit ID to filter by. lease_status: Optional lease status filter (e.g., "Active", "Future", "Past"). limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with leases list and metadata. |
| get_leaseA | Get a specific lease by ID. Args: lease_id: The lease ID. Returns: Lease details as dictionary. |
| create_leaseC | Create a new lease. Args: lease_data: Lease data dictionary with required fields (propertyId, unitId, etc.). Returns: Created lease details. |
| update_leaseB | Update an existing lease. Args: lease_id: The lease ID. lease_data: Lease data dictionary with fields to update. Returns: Updated lease details. |
| list_lease_transactionsA | List transactions for a specific lease. Args: lease_id: The lease ID. limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with transactions list. |
| list_rentalsA | List rental properties from Buildium. Args: limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with rentals list and metadata. |
| get_rentalA | Get a specific rental property by ID. Args: property_id: The property ID. Returns: Rental property details as dictionary. |
| create_rentalC | Create a new rental property. Args: rental_data: Rental property data dictionary with required fields. Returns: Created rental property details. |
| update_rentalB | Update an existing rental property. Args: property_id: The property ID. rental_data: Rental property data dictionary with fields to update. Returns: Updated rental property details. |
| list_unit_listingsA | List unit listings from Buildium. Args: limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with listings list. |
| list_applicantsA | List rental applicants from Buildium. Args: email: Optional email address to filter by. limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with applicants list and metadata. |
| get_applicantA | Get a specific applicant by ID. Args: applicant_id: The applicant ID. Returns: Applicant details as dictionary. |
| create_applicantB | Create a new applicant. Args: applicant_data: Applicant data dictionary with required fields. Returns: Created applicant details. |
| update_applicantC | Update an existing applicant. Args: applicant_id: The applicant ID. applicant_data: Updated applicant data dictionary. Returns: Updated applicant details. |
| list_applicant_applicationsB | List applications for a specific applicant. Args: applicant_id: The applicant ID. Returns: Dictionary with applications list. |
| get_applicationC | Get a specific application by ID. Args: applicant_id: The applicant ID. application_id: The application ID. Returns: Application details as dictionary. |
| update_applicationC | Update an application status. Args: applicant_id: The applicant ID. application_id: The application ID. application_data: Updated application data dictionary. Returns: Updated application details. |
| list_applicant_groupsA | List applicant groups from Buildium. Args: limit: Maximum number of results (default: 100). offset: Offset for pagination (default: 0). Returns: Dictionary with applicant groups list. |
| create_applicant_groupC | Create a new applicant group. Args: group_data: Applicant group data dictionary. Returns: Created applicant group details. |
| update_applicant_groupB | Update an applicant group. Args: group_id: The applicant group ID. group_data: Updated group data dictionary. Returns: Updated applicant group details. |
| list_rental_tenantsC | List rental tenants from Buildium. |
| get_rental_tenantB | Get a specific rental tenant by ID. |
| create_rental_tenantC | Create a new rental tenant. |
| update_rental_tenantC | Update an existing rental tenant. |
| list_association_tenantsC | List association tenants from Buildium. |
| create_association_tenantC | Create a new association tenant. |
| update_association_tenantC | Update an existing association tenant. |
| list_rental_ownersC | List rental owners from Buildium. |
| get_rental_ownerB | Get a specific rental owner by ID. |
| create_rental_ownerC | Create a new rental owner. |
| update_rental_ownerC | Update an existing rental owner. |
| list_association_ownersC | List association owners from Buildium. |
| get_association_ownerA | Get a specific association owner by ID. |
| create_association_ownerC | Create a new association owner. |
| update_association_ownerC | Update an existing association owner. |
| list_rental_unitsC | List rental units from Buildium. |
| get_rental_unitA | Get a specific rental unit by ID. |
| create_rental_unitC | Create a new rental unit. |
| update_rental_unitC | Update an existing rental unit. |
| list_association_unitsC | List association units from Buildium. |
| create_association_unitC | Create a new association unit. |
| update_association_unitC | Update an existing association unit. |
| list_vendorsB | List vendors from Buildium. |
| get_vendorA | Get a specific vendor by ID. |
| create_vendorC | Create a new vendor. |
| update_vendorC | Update an existing vendor. |
| list_vendor_categoriesA | List vendor categories from Buildium. |
| create_vendor_categoryC | Create a new vendor category. |
| update_vendor_categoryC | Update a vendor category. |
| list_tasksC | List tasks from Buildium. |
| get_taskA | Get a specific task by ID. |
| list_task_categoriesA | List task categories from Buildium. |
| create_task_categoryC | Create a new task category. |
| update_task_categoryC | Update a task category. |
| list_billsC | List bills from Buildium. |
| get_billA | Get a specific bill by ID. |
| create_billC | Create a new bill. |
| update_billC | Update an existing bill. |
| list_bill_paymentsB | List payments for a specific bill. |
| get_bill_paymentA | Get a specific bill payment by ID. |
| create_bill_paymentC | Create a payment for a bill. |
| list_filesC | List files from Buildium. |
| get_fileA | Get a specific file by ID. |
| update_fileD | Update file metadata. |
| create_file_upload_requestC | Create a file upload request to get an upload URL. |
| create_file_download_requestB | Create a file download request to get a download URL. |
| list_file_categoriesA | List file categories from Buildium. |
| create_file_categoryC | Create a new file category. |
| update_file_categoryC | Update a file category. |
| list_bank_accountsC | List bank accounts from Buildium. |
| get_bank_accountB | Get a specific bank account by ID. |
| create_bank_accountC | Create a new bank account. |
| update_bank_accountC | Update an existing bank account. |
| list_bank_account_transactionsB | List transactions for a specific bank account. |
| get_bank_account_transactionB | Get a specific bank account transaction by ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 81 tools
Most tools are clearly separated by resource prefixes like rental_, association_, applicant_, bill_, and bank_account_, making their targets easy to identify. A few pairs could cause hesitation, such as list_rentals vs list_rental_units vs list_unit_listings, and list_association_owners vs list_association_ownership_accounts, but the names are generally distinct enough for an agent.
Tool names follow a very consistent verb_noun pattern throughout: list_, get_, create_, and update_ combine with predictable entity names. Even multi-word entities like list_association_board_members and create_file_upload_request follow the same convention, so there are no stylistic clashes or mixed casing.
At 81 tools, this is far beyond the recommended range and creates a heavy selection surface for an agent, even though Buildium is a broad property-management platform. The repetitive CRUD patterns across many entity types suggest some consolidation or sub-tool organization would be appropriate.
The core entities such as associations, leases, rentals, applicants, vendors, bills, files, and bank accounts have solid list/get/create/update coverage. However, there are no delete operations at all, and several secondary resources like tasks, unit listings, board members, ownership accounts, and lease transactions only support listing or partial operations, leaving notable lifecycle gaps.