{
  "schemaVersion": "0.2",
  "name": "Flex Strata",
  "description": "Replace fragmented spreadsheets and expensive property managers with an AI operating system that lets Australian Owners Corporations self-manage every aspect of strata — financials, compliance, meetings, maintenance, disputes — across all 8 jurisdictions (NSW, VIC, QLD, WA, SA, TAS, ACT, NT).",
  "homepage": "https://flexstrata.com.au",
  "documentation": "https://flexstrata.com.au/ai-context",
  "contact": "hello@flexstrata.com.au",
  "lastReviewed": "2026-05-25",
  "mcp": {
    "endpoint": "https://bxcvojkrmomhocbxxiav.supabase.co/functions/v1/mcp",
    "transport": "streamable-http",
    "protocolVersion": "2024-11-05",
    "authentication": "none",
    "discovery": "https://flexstrata.com.au/.well-known/mcp.json",
    "publicTools": [
      "get_strata_act_summary",
      "estimate_levy_contribution",
      "get_compliance_requirements",
      "lookup_section_certificate_name",
      "list_flex_strata_capabilities"
    ]
  },
  "tools": [
    {
      "name": "calculate_levy_contribution",
      "description": "Calculate per-lot levy contributions from a budgeted fund amount and unit entitlements.",
      "category": "Finance",
      "invocation": "in-app only (authenticated)",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fund": {
            "type": "string",
            "description": "Which fund the levy belongs to.",
            "enum": [
              "administrative",
              "capital_works",
              "sinking"
            ]
          },
          "budgetAmount": {
            "type": "number",
            "description": "Total budgeted contribution for the period (AUD)."
          },
          "lotEntitlement": {
            "type": "number",
            "description": "Unit entitlement of the specific lot."
          },
          "aggregateEntitlement": {
            "type": "number",
            "description": "Sum of unit entitlements across all lots."
          }
        },
        "required": [
          "fund",
          "budgetAmount",
          "lotEntitlement",
          "aggregateEntitlement"
        ]
      },
      "returns": "AUD amount payable by the lot for the period."
    },
    {
      "name": "check_compliance_status",
      "description": "Return the live status of statutory safety obligations for an Owners Corporation, including expiry dates and overdue items.",
      "category": "Compliance",
      "invocation": "in-app only (authenticated)",
      "inputSchema": {
        "type": "object",
        "properties": {
          "jurisdiction": {
            "type": "string",
            "description": "Australian jurisdiction governing the scheme.",
            "enum": [
              "NSW",
              "VIC",
              "QLD",
              "WA",
              "SA",
              "TAS",
              "ACT",
              "NT"
            ]
          },
          "categories": {
            "type": "string",
            "description": "Optional comma-separated list (fire, lift, pool, anti_slip, electrical)."
          }
        },
        "required": [
          "jurisdiction"
        ]
      },
      "returns": "Structured compliance report grouped by category with status: compliant | expiring_soon | overdue."
    },
    {
      "name": "generate_oc_certificate",
      "description": "Generate a jurisdiction-specific Owners Corporation certificate (e.g. Section 184 in NSW, Section 151 in VIC, Section 205 in QLD) as a PDF.",
      "category": "Documents",
      "invocation": "in-app only (authenticated)",
      "inputSchema": {
        "type": "object",
        "properties": {
          "lotId": {
            "type": "string",
            "description": "Identifier of the lot the certificate is being issued for."
          },
          "jurisdiction": {
            "type": "string",
            "description": "Australian jurisdiction.",
            "enum": [
              "NSW",
              "VIC",
              "QLD",
              "WA",
              "SA",
              "TAS",
              "ACT",
              "NT"
            ]
          }
        },
        "required": [
          "lotId",
          "jurisdiction"
        ]
      },
      "returns": "PDF document URL plus structured certificate payload."
    },
    {
      "name": "reconcile_bank_transactions",
      "description": "Match imported bank transactions against open levies, fees and invoices using fuzzy and AI semantic matching; auto-generate receipts.",
      "category": "Finance",
      "invocation": "in-app only (authenticated)",
      "inputSchema": {
        "type": "object",
        "properties": {
          "statementId": {
            "type": "string",
            "description": "Identifier of the imported bank statement."
          },
          "autoApprove": {
            "type": "boolean",
            "description": "Whether to auto-post high-confidence matches without human review."
          }
        },
        "required": [
          "statementId"
        ]
      },
      "returns": "Reconciliation summary: matched, unmatched, receipts generated."
    },
    {
      "name": "run_ballot_vote",
      "description": "Open an electronic / postal / hybrid ballot, dispatch secure tokenised vote links via WhatsApp and email, and tally results once closed.",
      "category": "Governance",
      "invocation": "in-app only (authenticated)",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ballotId": {
            "type": "string",
            "description": "Identifier of the ballot."
          },
          "channels": {
            "type": "string",
            "description": "Comma-separated channels: electronic, email, whatsapp, postal."
          },
          "closeAt": {
            "type": "date",
            "description": "ISO 8601 close date/time for the ballot."
          }
        },
        "required": [
          "ballotId",
          "channels",
          "closeAt"
        ]
      },
      "returns": "Ballot summary with vote tally by motion and quorum status."
    }
  ]
}