{
  "version": 1,
  "generatedAt": "2026-08-12T07:24:30.219Z",
  "flows": [
    "institution/discovery",
    "shopping/comparison",
    "affordability",
    "refinance",
    "monitoring/alerts",
    "deposit/ALM"
  ],
  "count": 13,
  "capabilities": [
    {
      "id": "credit-union-directory",
      "title": "Browse credit unions by state",
      "description": "List credit unions by state with rate availability, member count, reported location count, and stable profile identifiers.",
      "flow": "institution/discovery",
      "tier": "Free",
      "route": {
        "method": "GET",
        "path": "/credit-unions",
        "operationId": "getCreditUnions"
      },
      "mcpTool": "list_credit_unions",
      "inputs": [
        {
          "name": "state",
          "required": false,
          "unit": "2-letter state code"
        }
      ]
    },
    {
      "id": "credit-union-nearby",
      "title": "Find nearby credit unions",
      "description": "Find credit unions ordered by approximate distance to each institution's closest NCUA-reported branch for a five-digit ZIP.",
      "flow": "institution/discovery",
      "tier": "Free",
      "route": {
        "method": "GET",
        "path": "/credit-unions/nearby",
        "operationId": "getNearbyCreditUnions"
      },
      "mcpTool": "find_credit_unions_near_zip",
      "inputs": [
        {
          "name": "zip",
          "required": true,
          "unit": "5-digit US ZIP code"
        },
        {
          "name": "max_results",
          "required": false,
          "unit": "1-25 results",
          "description": "MCP response limit; REST returns up to 25 matches."
        }
      ]
    },
    {
      "id": "credit-union-profile",
      "title": "Inspect a credit union profile",
      "description": "Get current rates, membership eligibility, and source-labelled NCUA institution, service, and branch facts for one credit union.",
      "flow": "institution/discovery",
      "tier": "Free",
      "route": {
        "method": "GET",
        "path": "/credit-unions/{state}/{slug}",
        "operationId": "getCreditUnionProfile"
      },
      "mcpTool": "get_credit_union",
      "inputs": [
        {
          "name": "state",
          "required": true,
          "unit": "2-letter state code"
        },
        {
          "name": "slug",
          "required": true,
          "description": "Stable URL slug returned by directory or nearby discovery."
        }
      ]
    },
    {
      "id": "nearby-product-rates",
      "title": "Find product rates near a ZIP",
      "description": "Rank current product-matched rates from credit unions in the nearby-branch set by published APR, with source-labelled approximate distance.",
      "flow": "institution/discovery",
      "tier": "Free",
      "route": {
        "method": "GET",
        "path": "/v1/rates/nearby",
        "operationId": "getNearbyProductRates"
      },
      "mcpTool": "find_product_rates_near_zip",
      "inputs": [
        {
          "name": "zip",
          "required": true,
          "unit": "5-digit US ZIP code"
        },
        {
          "name": "product_type",
          "required": true,
          "description": "mortgage, mortgage_arm, auto_loan, heloc, personal_loan, student_loan, equipment_loan, or credit_card"
        },
        {
          "name": "term_months",
          "required": false,
          "unit": "months"
        },
        {
          "name": "vehicle_condition",
          "required": false,
          "description": "new, used, certified_pre_owned, or cpo"
        },
        {
          "name": "max_offers",
          "required": false,
          "unit": "1-8 results"
        }
      ]
    },
    {
      "id": "rate-shopping",
      "title": "Rate shopping & product comparison",
      "description": "Rank live credit-union mortgage offers for a borrower and return the best products with explanations.",
      "flow": "shopping/comparison",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/decisions",
        "operationId": "createDecision"
      },
      "mcpTool": "compare_products",
      "inputs": [
        {
          "name": "state",
          "required": true,
          "unit": "2-letter state code"
        },
        {
          "name": "product_type",
          "required": true,
          "description": "e.g. 30-year-fixed, 15-year-fixed"
        },
        {
          "name": "loan_amount",
          "required": true,
          "unit": "USD"
        },
        {
          "name": "credit_score",
          "required": false,
          "unit": "FICO"
        },
        {
          "name": "down_payment",
          "required": false,
          "unit": "USD"
        }
      ]
    },
    {
      "id": "explain-ranking",
      "title": "Explain rate ranking",
      "description": "Explain why offers ranked the way they did for a given borrower scenario, factor by factor.",
      "flow": "shopping/comparison",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/explain-ranking",
        "operationId": "explainRanking"
      },
      "mcpTool": "explain_ranking",
      "inputs": [
        {
          "name": "state",
          "required": true,
          "unit": "2-letter state code"
        },
        {
          "name": "product_type",
          "required": true,
          "description": "e.g. 30-year-fixed"
        },
        {
          "name": "loan_amount",
          "required": true,
          "unit": "USD"
        }
      ]
    },
    {
      "id": "affordability",
      "title": "Home affordability estimate",
      "description": "Compute max monthly payment, max loan amount, and max home price from income, debts, and DTI caps.",
      "flow": "affordability",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/affordability",
        "operationId": "affordability"
      },
      "mcpTool": "estimate_affordability",
      "inputs": [
        {
          "name": "annual_income",
          "required": true,
          "unit": "USD/year"
        },
        {
          "name": "monthly_debts",
          "required": true,
          "unit": "USD/month"
        },
        {
          "name": "down_payment",
          "required": true,
          "unit": "USD"
        },
        {
          "name": "state",
          "required": false,
          "unit": "2-letter state code"
        },
        {
          "name": "credit_score",
          "required": false,
          "unit": "FICO"
        }
      ]
    },
    {
      "id": "max-loan",
      "title": "Maximum loan amount",
      "description": "Surface the affordability annuity engine to compute the largest loan a borrower qualifies for.",
      "flow": "affordability",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/affordability",
        "operationId": "affordability"
      },
      "mcpTool": "max_loan",
      "inputs": [
        {
          "name": "annual_income",
          "required": true,
          "unit": "USD/year"
        },
        {
          "name": "monthly_debts",
          "required": true,
          "unit": "USD/month"
        },
        {
          "name": "state",
          "required": false,
          "unit": "2-letter state code"
        }
      ]
    },
    {
      "id": "refinance-break-even",
      "title": "Refinance break-even",
      "description": "Given a current loan and refinance costs, compute break-even months and lifetime savings against live rates.",
      "flow": "refinance",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/refinance-break-even",
        "operationId": "refinanceBreakEven"
      },
      "mcpTool": "refinance_break_even",
      "inputs": [
        {
          "name": "current_balance",
          "required": true,
          "unit": "USD"
        },
        {
          "name": "current_rate",
          "required": true,
          "unit": "annual %"
        },
        {
          "name": "state",
          "required": true,
          "unit": "2-letter state code"
        },
        {
          "name": "closing_costs",
          "required": false,
          "unit": "USD"
        }
      ]
    },
    {
      "id": "rate-monitoring",
      "title": "Rate monitoring",
      "description": "Create a monitor that watches rates for a market segment and fires webhooks/alerts on material changes.",
      "flow": "monitoring/alerts",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/monitors",
        "operationId": "createMonitor"
      },
      "mcpTool": "create_monitor",
      "inputs": [
        {
          "name": "name",
          "required": true
        },
        {
          "name": "state",
          "required": true,
          "unit": "2-letter state code"
        },
        {
          "name": "product_type",
          "required": true,
          "description": "e.g. 30-year-fixed"
        },
        {
          "name": "webhook_url",
          "required": false,
          "unit": "https URL"
        }
      ]
    },
    {
      "id": "rate-alerts",
      "title": "Consumer rate alerts",
      "description": "Subscribe a consumer (double-opt-in email) to alerts when a target rate is reached in their market.",
      "flow": "monitoring/alerts",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/alerts",
        "operationId": "rateAlerts"
      },
      "mcpTool": "subscribe_rate_alert",
      "inputs": [
        {
          "name": "email",
          "required": true
        },
        {
          "name": "state",
          "required": true,
          "unit": "2-letter state code"
        },
        {
          "name": "product_type",
          "required": true,
          "description": "e.g. 30-year-fixed"
        },
        {
          "name": "target_rate",
          "required": false,
          "unit": "annual %"
        }
      ]
    },
    {
      "id": "deposit-beta",
      "title": "Deposit beta (ALM)",
      "description": "Estimate deposit betas for treasury/ALM teams — how deposit pricing tracks the policy rate over time.",
      "flow": "deposit/ALM",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/deposit-beta",
        "operationId": "getDepositBeta"
      },
      "mcpTool": "get_deposit_beta",
      "inputs": [
        {
          "name": "product",
          "required": false,
          "description": "Deposit product, e.g. savings, money-market, cd"
        },
        {
          "name": "state",
          "required": false,
          "unit": "2-letter state code"
        }
      ]
    },
    {
      "id": "deposit-benchmarks",
      "title": "Deposit benchmarks",
      "description": "Benchmark deposit rates (savings, money-market, CDs) across credit unions for ALM/treasury comparison.",
      "flow": "deposit/ALM",
      "tier": "Free",
      "route": {
        "method": "POST",
        "path": "/v1/deposit-rates",
        "operationId": "getDepositRates"
      },
      "mcpTool": "get_deposit_benchmarks",
      "inputs": [
        {
          "name": "product",
          "required": false,
          "description": "Deposit product, e.g. savings, money-market, cd"
        },
        {
          "name": "state",
          "required": false,
          "unit": "2-letter state code"
        }
      ]
    }
  ]
}