{"product":"Proppely","endpoint":"https://www.proppely.com/api/v1/mcp","documentation":"https://proppely.com/mcp","machineReadable":"https://proppely.com/llms.txt","version":"0.2.0","toolCount":292,"promptCount":10,"resourceCount":11,"summaryByRisk":{"read":96,"write":86,"money":44,"irreversible":61,"two_person":5},"summaryByRunMode":{"auto":182,"approval":110},"intentionallyExcluded":["autofill_property_details","attach_listing_photos","attach_property_photos","attach_unit_photos","web_search","ask_how_to"],"prompts":["portfolio_overview","deadlines","delinquency","payables","close_checklist","legal_pipeline","maintenance_triage","lease_renewal","migration_local_files","access_review"],"resources":["proppely://org-memory","proppely://portfolio/overview","proppely://operations/deadlines","proppely://accounting/delinquency","proppely://accounting/payables","proppely://accounting/close-checklist","proppely://legal/pipeline","proppely://maintenance/triage","proppely://leasing/renewals","proppely://migration/local-files","proppely://access/review"],"tools":[{"name":"lookup_property","risk":"read","runMode":"auto","annotations":{"title":"Lookup Property","readOnlyHint":true},"descriptionPreview":"Search the user's properties by name or address. Returns matching properties with their units, photo count, and cover photo. Call with NO query or empty query t"},{"name":"lookup_unit","risk":"read","runMode":"auto","annotations":{"title":"Lookup Unit","readOnlyHint":true},"descriptionPreview":"Get units for a specific property. Returns unit details including tenant info, lease status, financials, listing status, and photo counts. Photos are stored at "},{"name":"lookup_tenant","risk":"read","runMode":"auto","annotations":{"title":"Lookup Tenant","readOnlyHint":true},"descriptionPreview":"Search tenants by name or email. Returns tenant info with their active leases."},{"name":"lookup_vendor","risk":"read","runMode":"auto","annotations":{"title":"Lookup Vendor","readOnlyHint":true},"descriptionPreview":"Search active vendors in this organization by name, contact, or specialty. Call with an empty query to list active vendors before creating or updating an expens"},{"name":"lookup_bills","risk":"read","runMode":"auto","annotations":{"title":"Lookup Bills","readOnlyHint":true},"descriptionPreview":"Look up outstanding bills (receivables) for a tenant or unit. Returns all unpaid bills with amounts, due dates, and payment history. Use this when a user asks a"},{"name":"lookup_payments","risk":"read","runMode":"auto","annotations":{"title":"Lookup Payments","readOnlyHint":true},"descriptionPreview":"Look up payment history for a tenant or lease. Returns payment amounts, methods, dates, and statuses. Use this to verify what has been paid."},{"name":"lookup_lease","risk":"read","runMode":"auto","annotations":{"title":"Lookup Lease","readOnlyHint":true},"descriptionPreview":"Get full lease details including terms, tenants, rent, dates, documents, and signing status. Use this when discussing move-ins, lease terms, or tenant details."},{"name":"lookup_screening","risk":"read","runMode":"auto","annotations":{"title":"Lookup Screening","readOnlyHint":true},"descriptionPreview":"Check organization-scoped screening/background-check status for an applicant. Returns only safe summaries; exact scores, raw reports, provider ids, invite links"},{"name":"lookup_applications","risk":"read","runMode":"auto","annotations":{"title":"Lookup Applications","readOnlyHint":true},"descriptionPreview":"Look up rental applications (prospect pipeline). Returns applicant info, status, fee payment, screening link, and review notes."},{"name":"lookup_inspections","risk":"read","runMode":"auto","annotations":{"title":"Lookup Inspections","readOnlyHint":true},"descriptionPreview":"Look up inspections for a property or unit. Returns inspection type, status, scheduled date, condition, and whether tenant was present."},{"name":"lookup_insurance","risk":"read","runMode":"auto","annotations":{"title":"Lookup Insurance","readOnlyHint":true},"descriptionPreview":"Check tenant renters insurance status. Returns active/expired policies, coverage amounts, and which tenants are uninsured. Use this when discussing compliance, "},{"name":"lookup_tasks","risk":"read","runMode":"auto","annotations":{"title":"Lookup Tasks","readOnlyHint":true},"descriptionPreview":"Look up tasks/reminders. Returns title, status, priority, due date, assignee. Use this when the user asks about their to-do list, overdue items, or pending work"},{"name":"lookup_recent_actions","risk":"read","runMode":"auto","annotations":{"title":"Lookup Recent Actions","readOnlyHint":true},"descriptionPreview":"Look up recent actions taken by the AI assistant. Use this when the user says \"undo\", \"revert\", \"that was wrong\", \"go back\", or asks about what you recently did"},{"name":"lookup_maintenance","risk":"read","runMode":"auto","annotations":{"title":"Lookup Maintenance","readOnlyHint":true},"descriptionPreview":"Search maintenance work orders. Returns details, assigned vendor, scheduled date, costs, status, and capital-project info (isCapitalProject, assetName, capitalC"},{"name":"export_maintenance","risk":"read","runMode":"auto","annotations":{"title":"Export Maintenance","readOnlyHint":true},"descriptionPreview":"Export matching work orders as CSV or Excel (.xlsx). Returns a download URL the user can open, plus inline CSV text for small CSV exports. Use when the user ask"},{"name":"lookup_listings","risk":"read","runMode":"auto","annotations":{"title":"Lookup Listings","readOnlyHint":true},"descriptionPreview":"Search listings. Returns listing details, price, availability, status, and photo count. Use this when discussing listings, vacant units to market, or publishing"},{"name":"lookup_notes","risk":"read","runMode":"auto","annotations":{"title":"Lookup Notes","readOnlyHint":true},"descriptionPreview":"Look up notes attached to properties, units, tenants, or leases."},{"name":"lookup_team","risk":"read","runMode":"auto","annotations":{"title":"Lookup Team","readOnlyHint":true},"descriptionPreview":"Look up team members in the organization. Returns names, roles, emails. Use this to find assignees for tasks or to check who has access."},{"name":"get_tenant_context","risk":"read","runMode":"auto","annotations":{"title":"Get Tenant Context","readOnlyHint":true},"descriptionPreview":"Fetch everything relevant about a specific tenant in one call: contact info, active lease + unit + property, open bills, recent payments, open maintenance reque"},{"name":"lookup_banking","risk":"read","runMode":"auto","annotations":{"title":"Lookup Banking","readOnlyHint":true},"descriptionPreview":"List the org's bank accounts with current balance, last sync time, active state, and Plaid connection info. Use this to answer \"what accounts are connected\", \"w"},{"name":"lookup_bank_transactions","risk":"read","runMode":"auto","annotations":{"title":"Lookup Bank Transactions","readOnlyHint":true},"descriptionPreview":"List bank transactions from a specific bank account (the register). Filterable by date range, cleared/uncleared, and free-text search over name/memo/payee. Use "},{"name":"lookup_reconciliation","risk":"read","runMode":"auto","annotations":{"title":"Lookup Reconciliation","readOnlyHint":true},"descriptionPreview":"Summarize the org's reconciliation state: count of unreconciled bank transactions, optionally returning the most recent unreconciled rows so the assistant can o"},{"name":"lookup_plaid_status","risk":"read","runMode":"auto","annotations":{"title":"Lookup Plaid Status","readOnlyHint":true},"descriptionPreview":"List Plaid connections and whether they look healthy: institution, account name, last sync time, and how long ago it was. Use this when the user asks \"is Plaid "},{"name":"revert_action","risk":"write","runMode":"auto","annotations":{"title":"Revert Action","destructiveHint":true},"descriptionPreview":"Revert/undo a previous assistant action. Use lookup_recent_actions first to find the action ID. Some actions (sent emails, announcements) cannot be reverted. Th"},{"name":"create_property","risk":"write","runMode":"auto","annotations":{"title":"Create Property","destructiveHint":true},"descriptionPreview":"Create a new property. Needs at minimum an address. When the user gives an address but not the building details, call autofill_property_details FIRST and prefil"},{"name":"create_unit","risk":"write","runMode":"auto","annotations":{"title":"Create Unit","destructiveHint":true},"descriptionPreview":"Add a unit to an existing property. Use lookup_property first to get the propertyId."},{"name":"create_listing","risk":"write","runMode":"auto","annotations":{"title":"Create Listing","destructiveHint":true},"descriptionPreview":"Create a rental or sale listing for a property/unit. Created as DRAFT — the user publishes it manually. Use lookup_property first to resolve IDs. For rental lis"},{"name":"create_expense","risk":"money","runMode":"approval","annotations":{"title":"Create Expense","destructiveHint":true},"descriptionPreview":"Log an expense against a property, unit, and/or vendor. If the user names a vendor, call lookup_vendor first and pass vendorId. If only one clear vendor name is"},{"name":"create_maintenance_request","risk":"write","runMode":"auto","annotations":{"title":"Create Maintenance Request","destructiveHint":true},"descriptionPreview":"Create a maintenance work order. Use lookup_property first to resolve the property/unit IDs."},{"name":"create_bill","risk":"money","runMode":"approval","annotations":{"title":"Create Bill","destructiveHint":true},"descriptionPreview":"Create a bill for a tenant. Requires unitId and tenantId — use lookup_unit and lookup_tenant first to resolve them. APPROVAL: calling this tool does not execute"},{"name":"adjust_bill","risk":"money","runMode":"approval","annotations":{"title":"Adjust Bill","destructiveHint":true},"descriptionPreview":"Adjust, void, or waive an existing bill. Use lookup_bills first to find the bill ID. Use this for reconciliation when a balance is wrong — void duplicate charge"},{"name":"delete_bill","risk":"money","runMode":"approval","annotations":{"title":"Delete Bill","destructiveHint":true},"descriptionPreview":"HARD-delete a bill (Receivable). Destructive — prefer adjust_bill with action=VOID when the bill has any accounting history, because VOID keeps the record while"},{"name":"update_expense","risk":"money","runMode":"approval","annotations":{"title":"Update Expense","destructiveHint":true},"descriptionPreview":"Correct fields on an existing expense: amount, date, category, vendor, property, unit, description, notes, status. Use this when a receipt was logged wrong or t"},{"name":"delete_expense","risk":"money","runMode":"approval","annotations":{"title":"Delete Expense","destructiveHint":true},"descriptionPreview":"HARD-delete an expense. Destructive — prefer update_expense with a void-style note when the expense has any history. If the expense is PAID, the server first cl"},{"name":"match_bank_transaction","risk":"write","runMode":"auto","annotations":{"title":"Match Bank Transaction","destructiveHint":true},"descriptionPreview":"Reconcile a bank transaction by linking it to a Payment, VendorInvoice, Payout, manual Expense, Transfer, or marking it IGNORED. Use lookup_reconciliation / loo"},{"name":"unmatch_bank_transaction","risk":"write","runMode":"auto","annotations":{"title":"Unmatch Bank Transaction","destructiveHint":true},"descriptionPreview":"Undo a manual reconciliation on a bank transaction. Can ONLY undo MANUAL matches — auto-matched links fail with 409 (the user must adjust the source record inst"},{"name":"create_credit","risk":"money","runMode":"approval","annotations":{"title":"Create Credit","destructiveHint":true},"descriptionPreview":"Apply a credit to a tenant's account. Creates a negative receivable that offsets their balance. Use this when a tenant overpaid, was double-charged, or is owed "},{"name":"record_payment","risk":"money","runMode":"approval","annotations":{"title":"Record Payment","destructiveHint":true},"descriptionPreview":"Record a manual payment (cash, check, money order) against a bill. Use lookup_bills first to find the bill ID. For online payments (ACH, card), direct the user "},{"name":"move_in_tenant","risk":"write","runMode":"auto","annotations":{"title":"Move In Tenant","destructiveHint":true},"descriptionPreview":"Move a tenant into a unit — creates a lease, links the tenant, and generates the first month's bills. The unit must be VACANT. Use lookup_property/lookup_unit f"},{"name":"create_lease_from_pdf","risk":"write","runMode":"auto","annotations":{"title":"Create Lease From Pdf","destructiveHint":true},"descriptionPreview":"Import a signed lease from an uploaded PDF. Extracts all terms with gpt-5.4, fuzzy-matches the property + unit by the address in the PDF, find-or-creates the te"},{"name":"update_lease_status","risk":"write","runMode":"auto","annotations":{"title":"Update Lease Status","destructiveHint":true},"descriptionPreview":"Change a lease status — activate, terminate, or mark as expired. Use lookup_lease first to get the lease ID. Termination will also set the unit back to VACANT."},{"name":"update_listing","risk":"write","runMode":"auto","annotations":{"title":"Update Listing","destructiveHint":true},"descriptionPreview":"Update an existing listing — change price, description, title, available date, features, etc. Use lookup_property first to find the listing."},{"name":"publish_listing","risk":"write","runMode":"auto","annotations":{"title":"Publish Listing","destructiveHint":true},"descriptionPreview":"Publish or unpublish a listing. Publishing makes it visible on the public marketplace. Unpublishing takes it off market."},{"name":"send_announcement","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Announcement","destructiveHint":true},"descriptionPreview":"Send an announcement to tenants via email. Can target all tenants, tenants at a specific property, or a specific unit. APPROVAL: calling this tool does not exec"},{"name":"send_invoice","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Invoice","destructiveHint":true},"descriptionPreview":"Send or resend an invoice/payment reminder to a tenant for an unpaid bill. Use lookup_bills first to find the bill ID. APPROVAL: calling this tool does not exec"},{"name":"create_inspection","risk":"write","runMode":"auto","annotations":{"title":"Create Inspection","destructiveHint":true},"descriptionPreview":"Schedule an inspection (move-in, move-out, routine, or general). Use this when moving tenants in/out or for routine checks."},{"name":"renew_lease","risk":"write","runMode":"auto","annotations":{"title":"Renew Lease","destructiveHint":true},"descriptionPreview":"Renew an existing lease with optional rent increase. Creates a new lease that succeeds the current one. Use lookup_lease first to get the lease ID and current t"},{"name":"assign_vendor","risk":"write","runMode":"auto","annotations":{"title":"Assign Vendor","destructiveHint":true},"descriptionPreview":"Assign a vendor to a maintenance work order. Use lookup_vendor to find the vendor ID first."},{"name":"update_maintenance_status","risk":"write","runMode":"auto","annotations":{"title":"Update Maintenance Status","destructiveHint":true},"descriptionPreview":"Update the status of a maintenance work order. Use this to progress work orders through their lifecycle."},{"name":"invite_tenant","risk":"write","runMode":"auto","annotations":{"title":"Invite Tenant","destructiveHint":true},"descriptionPreview":"Invite a tenant to a lease by email. They will receive an invitation link. Use lookup_lease first to get the lease ID."},{"name":"invite_team_member","risk":"irreversible","runMode":"approval","annotations":{"title":"Invite Team Member","destructiveHint":true},"descriptionPreview":"Invite a new team member to the user's organization (owner, manager, agent, maintenance, accountant, attorney, viewer, or investor). Sends an invitation email w"},{"name":"create_recurring_bill","risk":"money","runMode":"approval","annotations":{"title":"Create Recurring Bill","destructiveHint":true},"descriptionPreview":"Set up a recurring billing rule that automatically generates bills each month. Use this for recurring charges like rent, utilities, parking, etc. APPROVAL: call"},{"name":"create_task","risk":"write","runMode":"auto","annotations":{"title":"Create Task","destructiveHint":true},"descriptionPreview":"Create a task/reminder. Use this for follow-ups, reminders, to-do items, or assigning work to team members."},{"name":"update_property","risk":"write","runMode":"auto","annotations":{"title":"Update Property","destructiveHint":true},"descriptionPreview":"Update an existing property — name, description, type, year built, status, video URL, virtual tour URL."},{"name":"force_delete_property","risk":"irreversible","runMode":"approval","annotations":{"title":"Force Delete Property","destructiveHint":true},"descriptionPreview":"Permanently delete a property and every dependent record (units, leases, bills, expenses, documents, tasks, etc.). OWNER only. Irreversible — use when resetting"},{"name":"update_unit","risk":"write","runMode":"auto","annotations":{"title":"Update Unit","destructiveHint":true},"descriptionPreview":"Update an existing unit — bedrooms, bathrooms, sqft, rent, status, notes, features."},{"name":"create_vendor","risk":"write","runMode":"auto","annotations":{"title":"Create Vendor","destructiveHint":true},"descriptionPreview":"Add a new vendor to the organization. Include company name, contact info, and service categories."},{"name":"complete_task","risk":"write","runMode":"auto","annotations":{"title":"Complete Task","destructiveHint":true},"descriptionPreview":"Mark a task as completed. Use lookup_tasks first to find the task ID."},{"name":"approve_application","risk":"irreversible","runMode":"approval","annotations":{"title":"Approve Application","destructiveHint":true},"descriptionPreview":"Approve a rental application. Use lookup_applications first to find the application ID. Always check if screening was completed before approving. APPROVAL: call"},{"name":"decline_application","risk":"irreversible","runMode":"approval","annotations":{"title":"Decline Application","destructiveHint":true},"descriptionPreview":"Decline a rental application. If screening was the reason, remind the user about FCRA adverse action notice requirements. APPROVAL: calling this tool does not e"},{"name":"create_note","risk":"write","runMode":"auto","annotations":{"title":"Create Note","destructiveHint":true},"descriptionPreview":"Add a note to a property, unit, tenant, lease, or vendor. Notes are internal — tenants cannot see them."},{"name":"send_email","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Email","destructiveHint":true},"descriptionPreview":"Send a branded email to one or more recipients. Use this for custom communications beyond invoices and announcements. APPROVAL: calling this tool does not execu"},{"name":"list_notification_prefs","risk":"read","runMode":"auto","annotations":{"title":"List Notification Prefs","readOnlyHint":true},"descriptionPreview":"Show the user what proactive Telegram notifications they currently receive and which topics they have muted. Call this when they ask \"what notifications do I ge"},{"name":"set_notification_pref","risk":"read","runMode":"auto","annotations":{"title":"Set Notification Pref","readOnlyHint":true},"descriptionPreview":"Mute or unmute a proactive Telegram notification topic for the current user. Use when the user says things like \"stop notifying me about showings\", \"don't ping "},{"name":"record_owner_contribution","risk":"money","runMode":"approval","annotations":{"title":"Record Owner Contribution","destructiveHint":true},"descriptionPreview":"Record a capital contribution from a rental owner on a specific property. Resolves the owner by name or email and the property by name. After recording, every o"},{"name":"adjust_owner_contribution","risk":"money","runMode":"approval","annotations":{"title":"Adjust Owner Contribution","destructiveHint":true},"descriptionPreview":"Adjust an existing owner contribution (amount, date, memo, type, or property). Co-owners on the building are notified of the change. Requires the contribution i"},{"name":"delete_owner_contribution","risk":"money","runMode":"approval","annotations":{"title":"Delete Owner Contribution","destructiveHint":true},"descriptionPreview":"Delete an owner contribution. Co-owners on the building are notified. Use when the user says \"remove\", \"void\", or \"delete\" a contribution. APPROVAL: calling thi"},{"name":"lookup_prospects","risk":"read","runMode":"auto","annotations":{"title":"Lookup Prospects","readOnlyHint":true},"descriptionPreview":"Search the CRM prospects pipeline. Returns matching prospects with status, assignee, last contact date, and any spawned RentalApplication ids. Use this BEFORE c"},{"name":"create_prospect","risk":"write","runMode":"auto","annotations":{"title":"Create Prospect","destructiveHint":true},"descriptionPreview":"Add a new prospect (lead) to the CRM. Required: firstName, lastName. Optional: email, phone, source (\"Website\" / \"Zillow\" / \"Referral\" / \"Walk-in\" etc.), desire"},{"name":"update_prospect","risk":"write","runMode":"auto","annotations":{"title":"Update Prospect","destructiveHint":true},"descriptionPreview":"Edit a prospect's contact info, desired criteria, or notes. Use lookup_prospects first to resolve the ID."},{"name":"set_prospect_status","risk":"write","runMode":"auto","annotations":{"title":"Set Prospect Status","destructiveHint":true},"descriptionPreview":"Move a prospect through the pipeline (NEW → CONTACTED → SHOWING_SCHEDULED → SHOWED → APPLICATION_SENT → APPLIED → CONVERTED, or LOST at any time). Triggers a ST"},{"name":"assign_prospect","risk":"write","runMode":"auto","annotations":{"title":"Assign Prospect","destructiveHint":true},"descriptionPreview":"Assign a prospect to a teammate (OWNER / MANAGER / AGENT). Use lookup_team to resolve the assignee ID. Pass null to unassign."},{"name":"send_application_to_prospect","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Application To Prospect","destructiveHint":true},"descriptionPreview":"Email this prospect a prefilled rental-application link to your public /apply page. Bumps status to APPLICATION_SENT (if currently in earlier stage). The prospe"},{"name":"convert_prospect_to_application","risk":"write","runMode":"auto","annotations":{"title":"Convert Prospect To Application","destructiveHint":true},"descriptionPreview":"Skip the public apply form and create a stub RentalApplication for this prospect (for in-office walk-throughs / phone applications). Bumps the prospect to CONVE"},{"name":"archive_prospect","risk":"write","runMode":"auto","annotations":{"title":"Archive Prospect","destructiveHint":true},"descriptionPreview":"Hide a prospect from the active inbox (LOST / CONVERTED leads). Reversible via unarchive_prospect."},{"name":"unarchive_prospect","risk":"write","runMode":"auto","annotations":{"title":"Unarchive Prospect","destructiveHint":true},"descriptionPreview":"Restore an archived prospect into the active inbox."},{"name":"add_prospect_activity","risk":"write","runMode":"auto","annotations":{"title":"Add Prospect Activity","destructiveHint":true},"descriptionPreview":"Log an activity entry on a prospect: a phone-call note, email summary, showing notes, or a generic note. Use this to keep the timeline accurate."},{"name":"invite_applicant","risk":"irreversible","runMode":"approval","annotations":{"title":"Invite Applicant","destructiveHint":true},"descriptionPreview":"Send an external person a public apply-page link by email — used for walk-ins / phone leads who AREN'T yet in the prospects CRM. Creates a stub RentalApplicatio"},{"name":"set_application_status","risk":"write","runMode":"auto","annotations":{"title":"Set Application Status","destructiveHint":true},"descriptionPreview":"Move a RentalApplication to PENDING / UNDER_REVIEW / WITHDRAWN. For APPROVED / DECLINED, prefer the dedicated approve_application / decline_application tools (t"},{"name":"archive_application","risk":"write","runMode":"auto","annotations":{"title":"Archive Application","destructiveHint":true},"descriptionPreview":"Hide an application from the active inbox (typically after a final outcome). Reversible via unarchive_application."},{"name":"unarchive_application","risk":"write","runMode":"auto","annotations":{"title":"Unarchive Application","destructiveHint":true},"descriptionPreview":"Restore an archived application."},{"name":"request_application_screening","risk":"money","runMode":"approval","annotations":{"title":"Request Application Screening","destructiveHint":true},"descriptionPreview":"Initiate the configured provider background check on a residential RentalApplication. Provider-hosted consent is used; Checkr contacts the applicant directly an"},{"name":"add_application_note","risk":"write","runMode":"auto","annotations":{"title":"Add Application Note","destructiveHint":true},"descriptionPreview":"Append to the internal notes on an application (PM-only — applicant never sees these). Useful for jotting down reference-call results, income verification statu"},{"name":"send_lease_for_signing","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Lease For Signing","destructiveHint":true},"descriptionPreview":"Email a DRAFT or PENDING lease to all its tenants for electronic signature. Generates the lease PDF (using the lease's saved template when one is set), creates "},{"name":"lookup_signature_requests","risk":"read","runMode":"auto","annotations":{"title":"Lookup Signature Requests","readOnlyHint":true},"descriptionPreview":"List the org's e-signature requests with per-signer status (who signed, who is still pending), newest first. Use this to check signing progress and to get the r"},{"name":"resend_signature_request","risk":"irreversible","runMode":"approval","annotations":{"title":"Resend Signature Request","destructiveHint":true},"descriptionPreview":"Re-send the signing email to everyone who has not yet signed on an e-signature request (or to one specific signer via signerId). Subject to a lifetime resend ca"},{"name":"cancel_signature_request","risk":"write","runMode":"auto","annotations":{"title":"Cancel Signature Request","destructiveHint":true},"descriptionPreview":"Cancel an in-flight e-signature request: existing signing links stop working and the document no longer awaits signatures. Cannot cancel a COMPLETED request. Th"},{"name":"upload_unit_photos","risk":"write","runMode":"auto","annotations":{"title":"Upload Unit Photos","destructiveHint":true},"descriptionPreview":"Upload one or more photos onto a unit's media gallery from raw image data (e.g. an external agent reading local image files, or images provided in this chat). E"},{"name":"upload_property_photos","risk":"write","runMode":"auto","annotations":{"title":"Upload Property Photos","destructiveHint":true},"descriptionPreview":"Upload raw base64 photos to a property gallery. Use for building exterior, amenities, shared spaces, and other photos that should appear across the property lis"},{"name":"upload_listing_photos","risk":"write","runMode":"auto","annotations":{"title":"Upload Listing Photos","destructiveHint":true},"descriptionPreview":"Upload raw base64 photos for a listing. Listings use their unit gallery plus shared property media, so this stores on the listing unit when present, otherwise o"},{"name":"upload_document","risk":"write","runMode":"auto","annotations":{"title":"Upload Document","destructiveHint":true},"descriptionPreview":"Upload a local file (PDF, CSV, XLSX, TXT, or image) from base64 bytes and create a Document row. Returns documentId for follow-up tools such as create_lease_fro"},{"name":"create_lease","risk":"money","runMode":"approval","annotations":{"title":"Create Lease","destructiveHint":true},"descriptionPreview":"Create a structured lease from explicit unit, tenant, term, rent, deposit, cadence, and commercial fields. This uses the canonical lease transaction, occupies t"},{"name":"lookup_renewal_offers","risk":"read","runMode":"auto","annotations":{"title":"Lookup Renewal Offers","readOnlyHint":true},"descriptionPreview":"List lease renewal offers with optional lease, property, or status filters. This reads the offer workflow and does not create a successor lease."},{"name":"create_renewal_offer","risk":"write","runMode":"auto","annotations":{"title":"Create Renewal Offer","destructiveHint":true},"descriptionPreview":"Create a DRAFT renewal offer for an ACTIVE lease. This preserves the offer workflow and does not directly renew the lease or send anything."},{"name":"update_renewal_offer","risk":"write","runMode":"auto","annotations":{"title":"Update Renewal Offer","destructiveHint":true},"descriptionPreview":"Update terms on a DRAFT renewal offer. SENT or completed offers cannot be edited."},{"name":"cancel_renewal_offer","risk":"irreversible","runMode":"approval","annotations":{"title":"Cancel Renewal Offer","destructiveHint":true},"descriptionPreview":"Cancel a DRAFT or SENT renewal offer. Cancellation does not auto-run over external agent connections and requires human approval. APPROVAL: calling this tool do"},{"name":"update_tenant_profile","risk":"write","runMode":"auto","annotations":{"title":"Update Tenant Profile","destructiveHint":true},"descriptionPreview":"Update a tenant profile (birth date, forwarding address, communication preferences, or internal tenant comments). Owners/managers only."},{"name":"add_tenant_profile_item","risk":"write","runMode":"auto","annotations":{"title":"Add Tenant Profile Item","destructiveHint":true},"descriptionPreview":"Add an emergency contact, pet, or vehicle to a tenant profile. Owners/managers only."},{"name":"remove_tenant_profile_item","risk":"irreversible","runMode":"approval","annotations":{"title":"Remove Tenant Profile Item","destructiveHint":true},"descriptionPreview":"Permanently remove an emergency contact, pet, or vehicle from a tenant profile. Requires human approval and never auto-runs over MCP. APPROVAL: calling this too"},{"name":"match_photo_import_folders","risk":"read","runMode":"auto","annotations":{"title":"Match Photo Import Folders","readOnlyHint":true},"descriptionPreview":"Fuzzy-match bulk-import folder names to properties in this organization."},{"name":"create_photo_import_session","risk":"write","runMode":"auto","annotations":{"title":"Create Photo Import Session","destructiveHint":true},"descriptionPreview":"Create a resumable bulk photo import session after reviewing folder/property matches."},{"name":"get_photo_import_session","risk":"read","runMode":"auto","annotations":{"title":"Get Photo Import Session","readOnlyHint":true},"descriptionPreview":"Read a bulk photo import session and its progress for resume."},{"name":"ai_match_photo_import_folders","risk":"read","runMode":"auto","annotations":{"title":"Ai Match Photo Import Folders","readOnlyHint":true},"descriptionPreview":"Use the existing AI photo matcher to match folder names and filenames to organization-owned properties and units. No image bytes are sent."},{"name":"update_tenant_profile_item","risk":"write","runMode":"auto","annotations":{"title":"Update Tenant Profile Item","destructiveHint":true},"descriptionPreview":"Update an existing emergency contact, pet, or vehicle on a tenant profile. Owners/managers only."},{"name":"lookup_showings","risk":"read","runMode":"auto","annotations":{"title":"Lookup Showings","readOnlyHint":true},"descriptionPreview":"List organization showings with listing, visitor, schedule, status, rating, and feedback context."},{"name":"update_showing","risk":"irreversible","runMode":"approval","annotations":{"title":"Update Showing","destructiveHint":true},"descriptionPreview":"Update showing status, rating, or feedback using the showing workflow. Because this can cancel a showing, external-agent calls require human approval. APPROVAL:"},{"name":"update_application","risk":"write","runMode":"auto","annotations":{"title":"Update Application","destructiveHint":true},"descriptionPreview":"Correct editable applicant contact, income, move-in, unit/listing assignment, message, or internal-note fields. Status decisions use the dedicated application s"},{"name":"amend_lease","risk":"money","runMode":"approval","annotations":{"title":"Amend Lease","destructiveHint":true},"descriptionPreview":"Amend editable lease terms in place using the same field surface as PATCH /leases/:id. Rent/deposit changes make this approval-gated over MCP. APPROVAL: calling"},{"name":"extend_lease","risk":"irreversible","runMode":"approval","annotations":{"title":"Extend Lease","destructiveHint":true},"descriptionPreview":"Extend an editable lease to a later end date without creating a renewal lease. This legal-term change requires human approval over MCP. APPROVAL: calling this t"},{"name":"lookup_tenant_records","risk":"read","runMode":"auto","annotations":{"title":"Lookup Tenant Records","readOnlyHint":true},"descriptionPreview":"List a tenant’s insurance, employment, or rental-history records."},{"name":"create_tenant_record","risk":"write","runMode":"auto","annotations":{"title":"Create Tenant Record","destructiveHint":true},"descriptionPreview":"Create a typed tenant insurance, employment, or rental-history record."},{"name":"update_tenant_record","risk":"write","runMode":"auto","annotations":{"title":"Update Tenant Record","destructiveHint":true},"descriptionPreview":"Update a tenant insurance, employment, or rental-history record."},{"name":"remove_tenant_record","risk":"irreversible","runMode":"approval","annotations":{"title":"Remove Tenant Record","destructiveHint":true},"descriptionPreview":"Permanently remove a tenant insurance, employment, or rental-history record. Requires approval. APPROVAL: calling this tool does not execute the action. It prop"},{"name":"lookup_lease_abstract","risk":"read","runMode":"auto","annotations":{"title":"Lookup Lease Abstract","readOnlyHint":true},"descriptionPreview":"Read the stored or generated commercial lease abstract."},{"name":"upsert_lease_abstract","risk":"write","runMode":"auto","annotations":{"title":"Upsert Lease Abstract","destructiveHint":true},"descriptionPreview":"Create or update the structured lease abstract fields."},{"name":"lookup_lease_late_fee_policy","risk":"read","runMode":"auto","annotations":{"title":"Lookup Lease Late Fee Policy","readOnlyHint":true},"descriptionPreview":"Read the lease-level late-fee policy."},{"name":"upsert_lease_late_fee_policy","risk":"money","runMode":"approval","annotations":{"title":"Upsert Lease Late Fee Policy","destructiveHint":true},"descriptionPreview":"Create or update a lease-level late-fee policy. Requires approval because it changes tenant charges. APPROVAL: calling this tool does not execute the action. It"},{"name":"extract_lease_terms","risk":"write","runMode":"auto","annotations":{"title":"Extract Lease Terms","destructiveHint":true},"descriptionPreview":"Run the existing AI term extractor against the newest stored lease PDF."},{"name":"lookup_lease_escalations","risk":"read","runMode":"auto","annotations":{"title":"Lookup Lease Escalations","readOnlyHint":true},"descriptionPreview":"List scheduled and applied rent escalations for a lease."},{"name":"lookup_lease_renewal_eligibility","risk":"read","runMode":"auto","annotations":{"title":"Lookup Lease Renewal Eligibility","readOnlyHint":true},"descriptionPreview":"Calculate current renewal eligibility for a lease."},{"name":"manage_lease_escalation","risk":"money","runMode":"approval","annotations":{"title":"Manage Lease Escalation","destructiveHint":true},"descriptionPreview":"Create/generate, apply, or remove a lease rent escalation. All modes require approval. APPROVAL: calling this tool does not execute the action. It proposes a ti"},{"name":"terminate_lease","risk":"money","runMode":"approval","annotations":{"title":"Terminate Lease","destructiveHint":true},"descriptionPreview":"Terminate or early-terminate a lease through the canonical transaction, disabling future billing and optionally creating fees. Requires approval. APPROVAL: call"},{"name":"undo_lease_renewal","risk":"irreversible","runMode":"approval","annotations":{"title":"Undo Lease Renewal","destructiveHint":true},"descriptionPreview":"Undo a legacy renewal and delete its still-draft successor lease. Requires approval. APPROVAL: calling this tool does not execute the action. It proposes a time"},{"name":"attach_signed_lease_pdf","risk":"money","runMode":"approval","annotations":{"title":"Attach Signed Lease Pdf","destructiveHint":true},"descriptionPreview":"Attach a completed signed PDF as a versioned lease document and optionally confirm selected terms. Requires approval. APPROVAL: calling this tool does not execu"},{"name":"lookup_application_workspace","risk":"read","runMode":"auto","annotations":{"title":"Lookup Application Workspace","readOnlyHint":true},"descriptionPreview":"Read application detail, document requests, and safe screening state."},{"name":"lookup_application_stats","risk":"read","runMode":"auto","annotations":{"title":"Lookup Application Stats","readOnlyHint":true},"descriptionPreview":"Read active application counts by workflow status."},{"name":"lookup_unit_application_pipeline","risk":"read","runMode":"auto","annotations":{"title":"Lookup Unit Application Pipeline","readOnlyHint":true},"descriptionPreview":"Read the active applicant pipeline for one organization-owned unit."},{"name":"lookup_commercial_application_diligence","risk":"read","runMode":"auto","annotations":{"title":"Lookup Commercial Application Diligence","readOnlyHint":true},"descriptionPreview":"Calculate the current commercial application diligence scorecard."},{"name":"bulk_update_applications","risk":"write","runMode":"auto","annotations":{"title":"Bulk Update Applications","destructiveHint":true},"descriptionPreview":"Bulk archive, unarchive, or change application status for organization-owned application IDs."},{"name":"create_manual_application","risk":"irreversible","runMode":"approval","annotations":{"title":"Create Manual Application","destructiveHint":true},"descriptionPreview":"Create a manual/offline rental application using the existing configured fee defaults. APPROVAL: calling this tool does not execute the action. It proposes a ti"},{"name":"manage_application_document_request","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Application Document Request","destructiveHint":true},"descriptionPreview":"Create, reopen, or cancel an applicant document request. Cancellation requires approval. APPROVAL: calling this tool does not execute the action. It proposes a "},{"name":"create_application_invoice","risk":"money","runMode":"approval","annotations":{"title":"Create Application Invoice","destructiveHint":true},"descriptionPreview":"Create an applicant screening-fee or security-deposit invoice. Requires approval. APPROVAL: calling this tool does not execute the action. It proposes a time-li"},{"name":"resend_application_message","risk":"irreversible","runMode":"approval","annotations":{"title":"Resend Application Message","destructiveHint":true},"descriptionPreview":"Resend an applicant welcome or hosted screening email. Requires approval because email cannot be unsent. APPROVAL: calling this tool does not execute the action"},{"name":"delete_applications","risk":"irreversible","runMode":"approval","annotations":{"title":"Delete Applications","destructiveHint":true},"descriptionPreview":"Permanently delete one or more applications and their dependent workflow rows. Requires approval. APPROVAL: calling this tool does not execute the action. It pr"},{"name":"plan_tabular_import","risk":"write","runMode":"auto","annotations":{"title":"Plan Tabular Import","destructiveHint":true},"descriptionPreview":"Analyze text, CSV, or XLSX source data and produce the existing AI import plan."},{"name":"lookup_tabular_imports","risk":"read","runMode":"auto","annotations":{"title":"Lookup Tabular Imports","readOnlyHint":true},"descriptionPreview":"List recent tabular import planning/execution sessions."},{"name":"get_tabular_import_session","risk":"read","runMode":"auto","annotations":{"title":"Get Tabular Import Session","readOnlyHint":true},"descriptionPreview":"Read a tabular import plan, result, status, or error."},{"name":"execute_tabular_import","risk":"money","runMode":"approval","annotations":{"title":"Execute Tabular Import","destructiveHint":true},"descriptionPreview":"Commit a READY tabular import plan to the organization database. Requires approval. APPROVAL: calling this tool does not execute the action. It proposes a time-"},{"name":"cancel_tabular_import","risk":"irreversible","runMode":"approval","annotations":{"title":"Cancel Tabular Import","destructiveHint":true},"descriptionPreview":"Cancel a non-committing tabular import session. Requires approval. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval "},{"name":"execute_photo_import","risk":"write","runMode":"auto","annotations":{"title":"Execute Photo Import","destructiveHint":true},"descriptionPreview":"Upload matched photo batches into property, unit, or listing-backed galleries and advance a photo-import session."},{"name":"update_gallery_photo","risk":"write","runMode":"auto","annotations":{"title":"Update Gallery Photo","destructiveHint":true},"descriptionPreview":"Update a property/unit/listing gallery image caption, order, type, or primary-cover state."},{"name":"reorder_gallery_photos","risk":"write","runMode":"auto","annotations":{"title":"Reorder Gallery Photos","destructiveHint":true},"descriptionPreview":"Reorder all supplied image IDs within a property/unit/listing-backed gallery."},{"name":"remove_gallery_photo","risk":"irreversible","runMode":"approval","annotations":{"title":"Remove Gallery Photo","destructiveHint":true},"descriptionPreview":"Permanently remove a gallery image, promote the next cover, and best-effort delete the S3 object. Requires approval. APPROVAL: calling this tool does not execut"},{"name":"give_lease_notice","risk":"write","runMode":"auto","annotations":{"title":"Give Lease Notice","destructiveHint":true},"descriptionPreview":"Record or update a notice to vacate. Keeps the lease active, marks the unit NOTICE_GIVEN, and schedules a move-out inspection."},{"name":"withdraw_lease_notice","risk":"irreversible","runMode":"approval","annotations":{"title":"Withdraw Lease Notice","destructiveHint":true},"descriptionPreview":"Withdraw a notice to vacate and cancel its auto-scheduled inspection. Requires human approval and never auto-runs over MCP. APPROVAL: calling this tool does not"},{"name":"dispose_security_deposit","risk":"money","runMode":"approval","annotations":{"title":"Dispose Security Deposit","destructiveHint":true},"descriptionPreview":"Dispose a lease security deposit with refund, forfeiture, and itemized deductions. This creates financial records and GL entries, so it requires human approval."},{"name":"read_memory","risk":"read","runMode":"auto","annotations":{"title":"Read Memory","readOnlyHint":true},"descriptionPreview":"Look up this organization's saved house rules, preferences, and vendor/accounting rules (org memory). Active memories are already provided in your context each "},{"name":"propose_memory","risk":"write","runMode":"auto","annotations":{"title":"Propose Memory","destructiveHint":true},"descriptionPreview":"Save a new house rule / preference / vendor or accounting rule to org memory so you and other AI apply it going forward. Use this whenever the user states or co"},{"name":"add_maintenance_comment","risk":"write","runMode":"auto","annotations":{"title":"Add Maintenance Comment","destructiveHint":true},"descriptionPreview":"Post a comment on a maintenance work order — the running comms trail for that job. By default the comment is internal (staff-only, e.g. a note about a vendor ca"},{"name":"complete_work_order","risk":"money","runMode":"approval","annotations":{"title":"Complete Work Order","destructiveHint":true},"descriptionPreview":"Mark a maintenance work order COMPLETED and optionally capture the final cost — the cost creates a MAINTENANCE expense linked to the work order (vendor and prop"},{"name":"get_financial_overview","risk":"read","runMode":"auto","annotations":{"title":"Get Financial Overview","readOnlyHint":true},"descriptionPreview":"Per-property P&L summary — income by type, operating/non-operating expenses, NOI, and net income, with monthly columns plus a period total. Same math as the /re"},{"name":"run_operational_report","risk":"read","runMode":"auto","annotations":{"title":"Run Operational Report","readOnlyHint":true},"descriptionPreview":"Run one of the platform's operational reports and get its rows — directories, leasing pipeline, vacancies, work orders, unpaid bills, delinquencies, rent collec"},{"name":"send_renewal_for_signing","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Renewal For Signing","destructiveHint":true},"descriptionPreview":"Send a lease-renewal offer to the tenants for e-signature using the built-in renewal ADDENDUM (extends the term; all other original-lease terms survive). Create"},{"name":"approve_expense","risk":"money","runMode":"approval","annotations":{"title":"Approve Expense","destructiveHint":true},"descriptionPreview":"Approve a pending expense/vendor bill so it can be paid — moves it to APPROVED and records who approved it. Use lookup_bills or run_operational_report (unpaid-b"},{"name":"reject_expense","risk":"money","runMode":"approval","annotations":{"title":"Reject Expense","destructiveHint":true},"descriptionPreview":"Reject a pending or approved (unpaid) expense/vendor bill — moves it to REJECTED and backs its accrual out of the books. Cannot reject a paid expense (unrecord "},{"name":"bulk_approve_expenses","risk":"money","runMode":"approval","annotations":{"title":"Bulk Approve Expenses","destructiveHint":true},"descriptionPreview":"Approve or reject many expenses at once — the AP clerk's 'clear the queue' action. Pass the expense ids and a decision (APPROVE or REJECT). Ineligible rows (alr"},{"name":"pay_vendor","risk":"two_person","runMode":"approval","annotations":{"title":"Pay Vendor","destructiveHint":true},"descriptionPreview":"Issue a payout (disbursement) to a vendor — the landlord→vendor payment. Either pay specific APPROVED bills (pass their expenseIds — the amount is their sum and"},{"name":"mark_vendor_payout_paid","risk":"two_person","runMode":"approval","annotations":{"title":"Mark Vendor Payout Paid","destructiveHint":true},"descriptionPreview":"Mark a vendor payout as PAID once the money has actually gone out (e.g. a check was written, or a manual ACH cleared). This settles the payout: any bills it cov"},{"name":"cancel_vendor_payout","risk":"write","runMode":"auto","annotations":{"title":"Cancel Vendor Payout","destructiveHint":true},"descriptionPreview":"Cancel a vendor payout that hasn't been paid yet (DRAFT or PENDING). A payout that is already paid or in-flight cannot be canceled. This is the compensation pat"},{"name":"lookup_vendor_payouts","risk":"read","runMode":"auto","annotations":{"title":"Lookup Vendor Payouts","readOnlyHint":true},"descriptionPreview":"List vendor payouts (disbursements) with their status — pending, paid, canceled, failed. Filter by vendor or status. Use for 'what have we paid this vendor', 'w"},{"name":"lookup_payables","risk":"read","runMode":"auto","annotations":{"title":"Lookup Payables","readOnlyHint":true},"descriptionPreview":"The accounts-payable worklist: approved, unpaid bills that are ready to pay, grouped by vendor with totals and W-9 status. Use to answer 'what do we owe / what'"},{"name":"get_close_checklist","risk":"read","runMode":"auto","annotations":{"title":"Get Close Checklist","readOnlyHint":true},"descriptionPreview":"The month-end close checklist for a given year/month: read-only checks (unposted/draft bills, open accounts payable, unreconciled bank activity, unposted CAM re"},{"name":"close_accounting_period","risk":"irreversible","runMode":"approval","annotations":{"title":"Close Accounting Period","destructiveHint":true},"descriptionPreview":"Close an accounting period (year/month) so it is locked: after close, back-dated bills or payouts into that month are rejected until it is reopened. Refuses to "},{"name":"reopen_accounting_period","risk":"write","runMode":"auto","annotations":{"title":"Reopen Accounting Period","destructiveHint":true},"descriptionPreview":"Reopen a previously closed accounting period (year/month) so back-dated entries can post into it again. This is the compensation for close_accounting_period. Ac"},{"name":"record_account_transfer","risk":"money","runMode":"approval","annotations":{"title":"Record Account Transfer","destructiveHint":true},"descriptionPreview":"Record a cash-to-cash transfer between two of the org's GL accounts (e.g. move funds between operating and trust cash). Posts a debit to the destination and a c"},{"name":"get_gl_drift","risk":"read","runMode":"auto","annotations":{"title":"Get Gl Drift","readOnlyHint":true},"descriptionPreview":"Diagnose drift between the operational subledgers and the general ledger: whether the trial balance ties (debits = credits), whether GL accounts payable ties to"},{"name":"suggest_expense_from_receipt","risk":"money","runMode":"approval","annotations":{"title":"Suggest Expense From Receipt","destructiveHint":true},"descriptionPreview":"Touchless AP intake: take the fields read off a vendor receipt/invoice (vendor name, amount, date, description) and draft a bill for review. Fuzzy-matches the v"},{"name":"request_vendor_w9","risk":"irreversible","runMode":"approval","annotations":{"title":"Request Vendor W9","destructiveHint":true},"descriptionPreview":"Email a vendor a secure link to collect their W-9 (needed to file year-end 1099s). The vendor fills out our hosted form; on submit their W-9 is marked on file. "},{"name":"lookup_agent_runs","risk":"read","runMode":"auto","annotations":{"title":"Lookup Agent Runs","readOnlyHint":true},"descriptionPreview":"List recent autonomous-loop runs (AP clerk, delinquency, maintenance) with their status — queued, running, paused (awaiting approval), completed, failed. Use to"},{"name":"lookup_recurring_bills","risk":"read","runMode":"auto","annotations":{"title":"Lookup Recurring Bills","readOnlyHint":true},"descriptionPreview":"List recurring tenant charge rules and price-change history."},{"name":"manage_recurring_bill","risk":"money","runMode":"approval","annotations":{"title":"Manage Recurring Bill","destructiveHint":true},"descriptionPreview":"Update, pause, resume, or permanently delete an unused recurring tenant charge rule. APPROVAL: calling this tool does not execute the action. It proposes a time"},{"name":"run_recurring_billing_cycle","risk":"money","runMode":"approval","annotations":{"title":"Run Recurring Billing Cycle","destructiveHint":true},"descriptionPreview":"Materialize due recurring charges for only the active organization. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval"},{"name":"apply_late_fees","risk":"money","runMode":"approval","annotations":{"title":"Apply Late Fees","destructiveHint":true},"descriptionPreview":"Apply configured late fees to eligible overdue bills for only the active organization. APPROVAL: calling this tool does not execute the action. It proposes a ti"},{"name":"lookup_billing_reminder_rule","risk":"read","runMode":"auto","annotations":{"title":"Lookup Billing Reminder Rule","readOnlyHint":true},"descriptionPreview":"Read the organization default or one receivable-specific billing reminder rule."},{"name":"manage_billing_reminder_rule","risk":"write","runMode":"auto","annotations":{"title":"Manage Billing Reminder Rule","destructiveHint":true},"descriptionPreview":"Set the organization default, set a receivable override, or reset a receivable to the default reminder rule."},{"name":"lookup_expenses","risk":"read","runMode":"auto","annotations":{"title":"Lookup Expenses","readOnlyHint":true},"descriptionPreview":"List AP expenses/receipts with approval and payout state."},{"name":"record_expense_batch","risk":"money","runMode":"approval","annotations":{"title":"Record Expense Batch","destructiveHint":true},"descriptionPreview":"Atomically record a shared-property split or a reviewed multi-line vendor bill. APPROVAL: calling this tool does not execute the action. It proposes a time-limi"},{"name":"unrecord_expense_payment","risk":"money","runMode":"approval","annotations":{"title":"Unrecord Expense Payment","destructiveHint":true},"descriptionPreview":"Return a paid expense to approved/unpaid and reverse its cash posting. APPROVAL: calling this tool does not execute the action. It proposes a time-limited appro"},{"name":"lookup_expense_approval_rules","risk":"read","runMode":"auto","annotations":{"title":"Lookup Expense Approval Rules","readOnlyHint":true},"descriptionPreview":"List the organization AP approval rules."},{"name":"lookup_accounting_periods","risk":"read","runMode":"auto","annotations":{"title":"Lookup Accounting Periods","readOnlyHint":true},"descriptionPreview":"List recent accounting periods or compute the close checklist for one month."},{"name":"manage_expense_approval_rule","risk":"write","runMode":"auto","annotations":{"title":"Manage Expense Approval Rule","destructiveHint":true},"descriptionPreview":"Create, update, or delete an owner-controlled AP approval rule."},{"name":"lookup_budgets","risk":"read","runMode":"auto","annotations":{"title":"Lookup Budgets","readOnlyHint":true},"descriptionPreview":"List budget detail and budget-vs-actual variance."},{"name":"manage_budget","risk":"write","runMode":"auto","annotations":{"title":"Manage Budget","destructiveHint":true},"descriptionPreview":"Create, update, replace lines, or delete a property/portfolio budget."},{"name":"manage_bank_account","risk":"write","runMode":"auto","annotations":{"title":"Manage Bank Account","destructiveHint":true},"descriptionPreview":"Create, update, or deactivate an organization bank account without exposing full credentials."},{"name":"record_bank_transaction","risk":"money","runMode":"approval","annotations":{"title":"Record Bank Transaction","destructiveHint":true},"descriptionPreview":"Record or update a manual check, deposit, fee, transfer-side, or electronic bank-register entry. APPROVAL: calling this tool does not execute the action. It pro"},{"name":"manage_bank_deposit","risk":"money","runMode":"approval","annotations":{"title":"Manage Bank Deposit","destructiveHint":true},"descriptionPreview":"Create or undo an aggregate deposit of known pending payment ids. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval i"},{"name":"lookup_bank_statements","risk":"read","runMode":"auto","annotations":{"title":"Lookup Bank Statements","readOnlyHint":true},"descriptionPreview":"List reconciliation statement closes and their locked transaction counts."},{"name":"lookup_bank_connections","risk":"read","runMode":"auto","annotations":{"title":"Lookup Bank Connections","readOnlyHint":true},"descriptionPreview":"List Plaid bank-feed connections without returning encrypted access tokens."},{"name":"manage_bank_connection","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Bank Connection","destructiveHint":true},"descriptionPreview":"Sync or disconnect an existing Plaid bank-feed connection. OAuth token exchange remains browser plumbing. APPROVAL: calling this tool does not execute the actio"},{"name":"manage_bank_statement","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Bank Statement","destructiveHint":true},"descriptionPreview":"Close a balanced reconciliation statement period or reopen it. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in P"},{"name":"manage_tenant_payment","risk":"money","runMode":"approval","annotations":{"title":"Manage Tenant Payment","destructiveHint":true},"descriptionPreview":"Edit, confirm, or reject a pending/manual tenant payment. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppe"},{"name":"apply_tenant_credit","risk":"money","runMode":"approval","annotations":{"title":"Apply Tenant Credit","destructiveHint":true},"descriptionPreview":"Apply available tenant credits FIFO to an outstanding bill. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Prop"},{"name":"lookup_security_deposit","risk":"read","runMode":"auto","annotations":{"title":"Lookup Security Deposit","readOnlyHint":true},"descriptionPreview":"Read the contract, held balance, status, and itemized security-deposit deductions for a lease."},{"name":"lookup_portfolio_ledger","risk":"read","runMode":"auto","annotations":{"title":"Lookup Portfolio Ledger","readOnlyHint":true},"descriptionPreview":"Read the combined portfolio income/expense register with totals."},{"name":"lookup_investor_payouts","risk":"read","runMode":"auto","annotations":{"title":"Lookup Investor Payouts","readOnlyHint":true},"descriptionPreview":"List owner/investor distribution runs or one run with safe line details."},{"name":"lookup_payout_routing","risk":"read","runMode":"auto","annotations":{"title":"Lookup Payout Routing","readOnlyHint":true},"descriptionPreview":"List legal entities or read one entity’s safe live Stripe status."},{"name":"manage_payout_routing","risk":"write","runMode":"auto","annotations":{"title":"Manage Payout Routing","destructiveHint":true},"descriptionPreview":"Create, update, set default, map settlement bank routing, or deactivate a legal entity."},{"name":"manage_investor_payout","risk":"two_person","runMode":"approval","annotations":{"title":"Manage Investor Payout","destructiveHint":true},"descriptionPreview":"Preview, approve, execute, cancel a distribution run, or update its property rule. Approval enforces a different creator/approver. APPROVAL: calling this tool d"},{"name":"lookup_tax_1099","risk":"read","runMode":"auto","annotations":{"title":"Lookup Tax 1099","readOnlyHint":true},"descriptionPreview":"Read vendor 1099-NEC threshold, eligibility, filing history, or correction preview."},{"name":"manage_tax_1099","risk":"two_person","runMode":"approval","annotations":{"title":"Manage Tax 1099","destructiveHint":true},"descriptionPreview":"Submit original 1099s, file corrections, or run the notify-only federal threshold watch. APPROVAL: calling this tool does not execute the action. It proposes a "},{"name":"lookup_commercial_recovery","risk":"read","runMode":"auto","annotations":{"title":"Lookup Commercial Recovery","readOnlyHint":true},"descriptionPreview":"Read every CAM/NNN recovery view: shared scopes/readiness, pools and budgets, lease rules, monthly tenant billing, reconciliation periods, and persisted tenant "},{"name":"export_recovery_period","risk":"read","runMode":"auto","annotations":{"title":"Export Recovery Period","readOnlyHint":true},"descriptionPreview":"Generate a downloadable CSV audit backup or persisted CAM statement PDF without recalculating the period."},{"name":"manage_recovery_scope","risk":"write","runMode":"auto","annotations":{"title":"Manage Recovery Scope","destructiveHint":true},"descriptionPreview":"Create or update a CAM/NNN shared-property scope. Updating membership preserves omitted fields and refuses to remove properties with pool-tagged expenses."},{"name":"manage_recovery_pool","risk":"write","runMode":"auto","annotations":{"title":"Manage Recovery Pool","destructiveHint":true},"descriptionPreview":"Create or update a typed CAM/NNN expense pool, including allocation, recoverability, budget source, gross-up, GL mapping, ownership policy, categories, and acti"},{"name":"delete_recovery_pool","risk":"irreversible","runMode":"approval","annotations":{"title":"Delete Recovery Pool","destructiveHint":true},"descriptionPreview":"Delete one known recovery pool. Posted periods retain snapshots; this never bulk-deletes. APPROVAL: calling this tool does not execute the action. It proposes a"},{"name":"manage_recovery_budget","risk":"write","runMode":"auto","annotations":{"title":"Manage Recovery Budget","destructiveHint":true},"descriptionPreview":"Set a pool budget for one year or recalculate its default budget from tenant CAM/tax/insurance billings."},{"name":"manage_recovery_rule","risk":"write","runMode":"auto","annotations":{"title":"Manage Recovery Rule","destructiveHint":true},"descriptionPreview":"Upsert full advanced lease recovery terms, quick-edit tenant billing fields, or calculate all active-lease shares for a property."},{"name":"record_recovery_expense","risk":"money","runMode":"approval","annotations":{"title":"Record Recovery Expense","destructiveHint":true},"descriptionPreview":"Record a vendor expense into a recovery pool, optionally splitting one invoice across multiple scoped properties. This creates only the explicit expense rows. A"},{"name":"manage_recovery_period","risk":"write","runMode":"auto","annotations":{"title":"Manage Recovery Period","destructiveHint":true},"descriptionPreview":"Create, deterministically calculate, or approve a CAM/NNN reconciliation period."},{"name":"delete_recovery_period","risk":"irreversible","runMode":"approval","annotations":{"title":"Delete Recovery Period","destructiveHint":true},"descriptionPreview":"Delete one known DRAFT or REVIEW recovery period. Approved/posted history is protected. APPROVAL: calling this tool does not execute the action. It proposes a t"},{"name":"post_recovery_period","risk":"money","runMode":"approval","annotations":{"title":"Post Recovery Period","destructiveHint":true},"descriptionPreview":"Post an approved reconciliation to tenant CAM receivables and credits, then lock the period. APPROVAL: calling this tool does not execute the action. It propose"},{"name":"send_recovery_statements","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Recovery Statements","destructiveHint":true},"descriptionPreview":"Email persisted, approved/posted CAM statements to the selected tenant lines with their own PDF only. APPROVAL: calling this tool does not execute the action. I"},{"name":"lookup_utility_allocations","risk":"read","runMode":"auto","annotations":{"title":"Lookup Utility Allocations","readOnlyHint":true},"descriptionPreview":"List or inspect RUBS/utility allocation runs."},{"name":"withdraw_connect_wallet","risk":"two_person","runMode":"approval","annotations":{"title":"Withdraw Connect Wallet","destructiveHint":true},"descriptionPreview":"Create an owner-approved manual Stripe Connect payout to the organization default bank. APPROVAL: calling this tool does not execute the action. It proposes a t"},{"name":"preview_utility_allocation","risk":"read","runMode":"auto","annotations":{"title":"Preview Utility Allocation","readOnlyHint":true},"descriptionPreview":"Compute a RUBS utility allocation without writing charges."},{"name":"manage_utility_allocation","risk":"money","runMode":"approval","annotations":{"title":"Manage Utility Allocation","destructiveHint":true},"descriptionPreview":"Post tenant utility charges or reverse an unpaid RUBS allocation. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval i"},{"name":"lookup_report_artifacts","risk":"read","runMode":"auto","annotations":{"title":"Lookup Report Artifacts","readOnlyHint":true},"descriptionPreview":"List generated owner/investor report packages without storage keys or signed credentials."},{"name":"manage_report_artifact","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Report Artifact","destructiveHint":true},"descriptionPreview":"Generate/regenerate an owner statement artifact or explicitly email an existing package. APPROVAL: calling this tool does not execute the action. It proposes a "},{"name":"lookup_maintenance_clusters","risk":"read","runMode":"auto","annotations":{"title":"Lookup Maintenance Clusters","readOnlyHint":true},"descriptionPreview":"List recurring maintenance issue clusters, inspect one cluster, or compare vendor callback rates."},{"name":"manage_work_order","risk":"write","runMode":"auto","annotations":{"title":"Manage Work Order","destructiveHint":true},"descriptionPreview":"Update every staff-editable work-order field, approve a same-visit group, or govern recurring-issue clusters."},{"name":"request_work_order_entry_permission","risk":"irreversible","runMode":"approval","annotations":{"title":"Request Work Order Entry Permission","destructiveHint":true},"descriptionPreview":"Send a tenant an entry-permission request for a work order. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Prop"},{"name":"manage_vendor_profile","risk":"write","runMode":"auto","annotations":{"title":"Manage Vendor Profile","destructiveHint":true},"descriptionPreview":"Update/deactivate vendors and create/respond to performance reviews."},{"name":"manage_vendor_invoice","risk":"money","runMode":"approval","annotations":{"title":"Manage Vendor Invoice","destructiveHint":true},"descriptionPreview":"Create, approve, reject, void, or pay a vendor invoice. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppely"},{"name":"manage_inspection","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Inspection","destructiveHint":true},"descriptionPreview":"Update/delete inspections, manage items/photos, create work orders, complete, or record a staff dispute. APPROVAL: calling this tool does not execute the action"},{"name":"manage_task","risk":"write","runMode":"auto","annotations":{"title":"Manage Task","destructiveHint":true},"descriptionPreview":"Full task lifecycle: update, assign/unassign, comment, recurrence, complete/reopen, or delete."},{"name":"manage_agent_loop","risk":"write","runMode":"auto","annotations":{"title":"Manage Agent Loop","destructiveHint":true},"descriptionPreview":"Configure or operate a known autonomous operations loop."},{"name":"manage_tenant_access","risk":"write","runMode":"auto","annotations":{"title":"Manage Tenant Access","destructiveHint":true},"descriptionPreview":"Update a tenant contact profile or revoke tenant portal access."},{"name":"update_photo_import_session","risk":"write","runMode":"auto","annotations":{"title":"Update Photo Import Session","destructiveHint":true},"descriptionPreview":"Update a scoped photo-import session before execution."},{"name":"delete_prospect","risk":"irreversible","runMode":"approval","annotations":{"title":"Delete Prospect","destructiveHint":true},"descriptionPreview":"Permanently delete a prospect and its activity history. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppely"},{"name":"manage_note","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Note","destructiveHint":true},"descriptionPreview":"Update/pin or delete an organization note. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppely; report the "},{"name":"lookup_announcements","risk":"read","runMode":"auto","annotations":{"title":"Lookup Announcements","readOnlyHint":true},"descriptionPreview":"List or inspect tenant announcements and preview the size of a target audience."},{"name":"manage_announcement_draft","risk":"write","runMode":"auto","annotations":{"title":"Manage Announcement Draft","destructiveHint":true},"descriptionPreview":"Create, edit, or delete an unsent tenant announcement draft."},{"name":"lookup_email_workspace","risk":"read","runMode":"auto","annotations":{"title":"Lookup Email Workspace","readOnlyHint":true},"descriptionPreview":"List org email threads/conversations/messages, unread state, recipients, members, or mail configuration."},{"name":"manage_email_thread","risk":"write","runMode":"auto","annotations":{"title":"Manage Email Thread","destructiveHint":true},"descriptionPreview":"Mark read/unread, star/unstar, assign/unassign, archive/unarchive, or bulk-update email threads."},{"name":"send_email_thread_message","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Email Thread Message","destructiveHint":true},"descriptionPreview":"Reply to or forward an existing email thread. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppely; report t"},{"name":"lookup_email_templates","risk":"read","runMode":"auto","annotations":{"title":"Lookup Email Templates","readOnlyHint":true},"descriptionPreview":"List, inspect, or preview reusable organization email templates."},{"name":"manage_email_template","risk":"write","runMode":"auto","annotations":{"title":"Manage Email Template","destructiveHint":true},"descriptionPreview":"Create/update/delete or seed reusable email templates."},{"name":"send_email_template_test","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Email Template Test","destructiveHint":true},"descriptionPreview":"Render and send a real test email from an email template. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppe"},{"name":"manage_email_attachment","risk":"write","runMode":"auto","annotations":{"title":"Manage Email Attachment","destructiveHint":true},"descriptionPreview":"Prepare, finalize, or delete an email attachment."},{"name":"lookup_operations_calendar","risk":"read","runMode":"auto","annotations":{"title":"Lookup Operations Calendar","readOnlyHint":true},"descriptionPreview":"Read the staff operations calendar (work orders, inspections, tasks, lease dates, and payment due dates)."},{"name":"lookup_notifications","risk":"read","runMode":"auto","annotations":{"title":"Lookup Notifications","readOnlyHint":true},"descriptionPreview":"List the current user in-app notifications and unread count."},{"name":"manage_notifications","risk":"write","runMode":"auto","annotations":{"title":"Manage Notifications","destructiveHint":true},"descriptionPreview":"Mark one or all current-user in-app notifications read."},{"name":"manage_insurance","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Insurance","destructiveHint":true},"descriptionPreview":"Create/update/verify/delete tenant insurance and compliance records. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approva"},{"name":"lookup_documents","risk":"read","runMode":"auto","annotations":{"title":"Lookup Documents","readOnlyHint":true},"descriptionPreview":"List, inspect, or prepare safe document downloads with sanitized signature status."},{"name":"manage_document","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Document","destructiveHint":true},"descriptionPreview":"Create/update/delete document metadata or render a template document with merge values. APPROVAL: calling this tool does not execute the action. It proposes a t"},{"name":"lookup_document_templates","risk":"read","runMode":"auto","annotations":{"title":"Lookup Document Templates","readOnlyHint":true},"descriptionPreview":"List or inspect reusable PDF document templates."},{"name":"manage_document_template","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Document Template","destructiveHint":true},"descriptionPreview":"Create/update/delete/preview/import a reusable PDF template. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Pro"},{"name":"send_document_template_for_signing","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Document Template For Signing","destructiveHint":true},"descriptionPreview":"Merge a template, create a working document, and issue a signature request. APPROVAL: calling this tool does not execute the action. It proposes a time-limited "},{"name":"lookup_signature_lifecycle","risk":"read","runMode":"auto","annotations":{"title":"Lookup Signature Lifecycle","readOnlyHint":true},"descriptionPreview":"List and inspect signature-request lifecycle, signer status, certificate readiness, evidence readiness, and tamper-verification metadata without exposing signer"},{"name":"lookup_user_signatures","risk":"read","runMode":"auto","annotations":{"title":"Lookup User Signatures","readOnlyHint":true},"descriptionPreview":"List the current user saved signature library without returning signature image/text payloads."},{"name":"manage_user_signature","risk":"write","runMode":"auto","annotations":{"title":"Manage User Signature","destructiveHint":true},"descriptionPreview":"Create/rename/default/delete a current-user saved signature."},{"name":"send_generic_signature_request","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Generic Signature Request","destructiveHint":true},"descriptionPreview":"Create a signature request for any org document. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppely; repor"},{"name":"manage_signature_fields","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Signature Fields","destructiveHint":true},"descriptionPreview":"Replace or remove field placements on a non-terminal signature request. APPROVAL: calling this tool does not execute the action. It proposes a time-limited appr"},{"name":"release_signature_request","risk":"irreversible","runMode":"approval","annotations":{"title":"Release Signature Request","destructiveHint":true},"descriptionPreview":"Release a field-placement draft and email its signing invitations. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval "},{"name":"lookup_legal_matters","risk":"read","runMode":"auto","annotations":{"title":"Lookup Legal Matters","readOnlyHint":true},"descriptionPreview":"List legal matters/deadlines/contacts or inspect the complete scoped matter pipeline."},{"name":"manage_legal_pipeline","risk":"write","runMode":"auto","annotations":{"title":"Manage Legal Pipeline","destructiveHint":true},"descriptionPreview":"Create/edit legal matters and manage steps, deadlines, evidence, contacts, and notes without filing/closing/deleting."},{"name":"manage_legal_filing","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Legal Filing","destructiveHint":true},"descriptionPreview":"Record filing details or close/reopen a legal matter. Always human-approved. APPROVAL: calling this tool does not execute the action. It proposes a time-limited"},{"name":"delete_legal_record","risk":"irreversible","runMode":"approval","annotations":{"title":"Delete Legal Record","destructiveHint":true},"descriptionPreview":"Delete a legal matter, step, evidence item, contact, or note. Always human-approved. APPROVAL: calling this tool does not execute the action. It proposes a time"},{"name":"lookup_organization_admin","risk":"read","runMode":"auto","annotations":{"title":"Lookup Organization Admin","readOnlyHint":true},"descriptionPreview":"Read safe organization settings, team membership, roles, property grants, branding, domains, and billing status."},{"name":"manage_organization_settings","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Organization Settings","destructiveHint":true},"descriptionPreview":"Update allowlisted organization settings/branding or manage a custom domain without exposing verification secrets. APPROVAL: calling this tool does not execute "},{"name":"manage_user_preferences","risk":"write","runMode":"auto","annotations":{"title":"Manage User Preferences","destructiveHint":true},"descriptionPreview":"Deep-merge the current member dashboard preferences."},{"name":"manage_team_access","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Team Access","destructiveHint":true},"descriptionPreview":"Change team roles/permissions, remove a member, revoke/resend an invitation, or manage a public team profile. APPROVAL: calling this tool does not execute the a"},{"name":"lookup_agent_access","risk":"read","runMode":"auto","annotations":{"title":"Lookup Agent Access","readOnlyHint":true},"descriptionPreview":"List owner-visible agent API-key metadata and connected OAuth clients without returning credentials."},{"name":"manage_agent_access","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Agent Access","destructiveHint":true},"descriptionPreview":"Revoke an existing agent API key or OAuth connection. Key minting stays browser-only because it returns a raw secret once. APPROVAL: calling this tool does not "},{"name":"lookup_stakeholders","risk":"read","runMode":"auto","annotations":{"title":"Lookup Stakeholders","readOnlyHint":true},"descriptionPreview":"Read rental owners, investors, property grants, and portfolio access."},{"name":"manage_stakeholders","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Stakeholders","destructiveHint":true},"descriptionPreview":"Manage rental-owner profiles and property/investor access grants. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval i"},{"name":"lookup_brokerage_site","risk":"read","runMode":"auto","annotations":{"title":"Lookup Brokerage Site","readOnlyHint":true},"descriptionPreview":"Read safe branding, custom-domain status, page definitions, and public team profiles."},{"name":"manage_brokerage_site","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Brokerage Site","destructiveHint":true},"descriptionPreview":"Create/update/delete brokerage pages and public team profiles. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in P"},{"name":"lookup_application_configuration","risk":"read","runMode":"auto","annotations":{"title":"Lookup Application Configuration","readOnlyHint":true},"descriptionPreview":"Read screening settings, applicant checklist/progress, and applicant groups."},{"name":"manage_application_configuration","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Application Configuration","destructiveHint":true},"descriptionPreview":"Manage screening policy, checklist stages/items/progress, and applicant groups. APPROVAL: calling this tool does not execute the action. It proposes a time-limi"},{"name":"lookup_customization","risk":"read","runMode":"auto","annotations":{"title":"Lookup Customization","readOnlyHint":true},"descriptionPreview":"Read custom-view definitions/results and custom-field definitions/values."},{"name":"manage_customization","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Customization","destructiveHint":true},"descriptionPreview":"Manage saved custom views and custom-field definitions/values. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in P"},{"name":"lookup_property_assets","risk":"read","runMode":"auto","annotations":{"title":"Lookup Property Assets","readOnlyHint":true},"descriptionPreview":"Read appliances/service history, utilities, parking, meter readings, and sanitized access-credential inventory."},{"name":"manage_property_assets","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Property Assets","destructiveHint":true},"descriptionPreview":"Manage appliances, utilities, parking, meter readings, and access-credential inventory. APPROVAL: calling this tool does not execute the action. It proposes a t"},{"name":"lookup_association_management","risk":"read","runMode":"auto","annotations":{"title":"Lookup Association Management","readOnlyHint":true},"descriptionPreview":"Read association settings, owners, board, dues, violations, ARC, tenants, elections, meetings, reserves, and applications."},{"name":"manage_association","risk":"money","runMode":"approval","annotations":{"title":"Manage Association","destructiveHint":true},"descriptionPreview":"Manage HOA/association governance and financial configuration. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in P"},{"name":"lookup_commercial_analytics","risk":"read","runMode":"auto","annotations":{"title":"Lookup Commercial Analytics","readOnlyHint":true},"descriptionPreview":"Run a safe commercial property projection or critical-date digest."},{"name":"lookup_integrations","risk":"read","runMode":"auto","annotations":{"title":"Lookup Integrations","readOnlyHint":true},"descriptionPreview":"Read safe status for SES, Stripe/Connect, Plaid, MaintainX, DocuSign, PayNearMe, billing, and syndication without credentials."},{"name":"lookup_maintainx","risk":"read","runMode":"auto","annotations":{"title":"Lookup Maintainx","readOnlyHint":true},"descriptionPreview":"Read live MaintainX connection, work-order, location, and work-request data without exposing the provider credential."},{"name":"manage_integrations","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Integrations","destructiveHint":true},"descriptionPreview":"Perform safe provider lifecycle operations that never accept or return raw credentials. APPROVAL: calling this tool does not execute the action. It proposes a t"},{"name":"lookup_reporting_configuration","risk":"read","runMode":"auto","annotations":{"title":"Lookup Reporting Configuration","readOnlyHint":true},"descriptionPreview":"Read report schedules and syndication readiness/configuration."},{"name":"manage_reporting_configuration","risk":"money","runMode":"approval","annotations":{"title":"Manage Reporting Configuration","destructiveHint":true},"descriptionPreview":"Create/update/delete report delivery schedules. APPROVAL: calling this tool does not execute the action. It proposes a time-limited approval in Proppely; report"},{"name":"lookup_leads","risk":"read","runMode":"auto","annotations":{"title":"Lookup Leads","readOnlyHint":true},"descriptionPreview":"List or inspect authenticated staff lead-pipeline records."},{"name":"manage_leads","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Leads","destructiveHint":true},"descriptionPreview":"Create/update/delete lead-pipeline records and capture staff feedback. APPROVAL: calling this tool does not execute the action. It proposes a time-limited appro"},{"name":"lookup_platform_admin","risk":"read","runMode":"auto","annotations":{"title":"Lookup Platform Admin","readOnlyHint":true},"descriptionPreview":"Platform-admin-only safe stats, organizations, and users."},{"name":"manage_platform_admin","risk":"irreversible","runMode":"approval","annotations":{"title":"Manage Platform Admin","destructiveHint":true},"descriptionPreview":"Platform-admin-only user suspension/email suppression and organization plan overrides. Impersonation tokens are never exposed. APPROVAL: calling this tool does "},{"name":"lookup_screening_provider","risk":"read","runMode":"auto","annotations":{"title":"Lookup Screening Provider","readOnlyHint":true},"descriptionPreview":"Read the active screening provider, connection readiness, configured product, and supported workflow capabilities without exposing credentials."},{"name":"lookup_screening_requests","risk":"read","runMode":"auto","annotations":{"title":"Lookup Screening Requests","readOnlyHint":true},"descriptionPreview":"Read organization-scoped screening status and safe result summaries. Exact scores, raw reports, provider ids, invite links, and adverse-action reasons are never"},{"name":"refresh_screening_status","risk":"write","runMode":"auto","annotations":{"title":"Refresh Screening Status","destructiveHint":true},"descriptionPreview":"Poll the configured provider for one organization-owned screening and synchronize its encrypted report/status. Returns only a safe summary."},{"name":"request_screening","risk":"money","runMode":"approval","annotations":{"title":"Request Screening","destructiveHint":true},"descriptionPreview":"Initiate a provider-hosted consumer screening outside an existing application. This can incur provider and applicant/organization fees and therefore requires ap"},{"name":"send_screening_adverse_action","risk":"irreversible","runMode":"approval","annotations":{"title":"Send Screening Adverse Action","destructiveHint":true},"descriptionPreview":"Send the FCRA adverse-action notice for a completed screening. Owner-only and approval-gated because the legal email cannot be unsent. APPROVAL: calling this to"},{"name":"set_application_income_verification","risk":"irreversible","runMode":"approval","annotations":{"title":"Set Application Income Verification","destructiveHint":true},"descriptionPreview":"Set or clear the owner/manager manual income-verification override. Approval is required because it can affect an application decision. APPROVAL: calling this t"}]}