← WebMCP Directory

Tool tree

bankgraph.app

Finance & CryptoTools verified
Website
Investigate individual U.S. banks, the banking system, and economic context with public FDIC filings and direct-agency data.
Explore capabilities

    page: Every page

    bankgraph.navigateAction

    Move this tab to any Bankgraph surface: the system homepage, research board, institution directory, economy, methodology, or a bank profile. A research destination can carry a question, layout, banks, states, asset range, and reporting quarter into the full board toolset. Research resumes the saved board unless fresh is true or the blank layout is requested.

    View tool JSON
    {
      "name": "bankgraph.navigate",
      "kind": "act",
      "impl": "imperative",
      "description": "Move this tab to any Bankgraph surface: the system homepage, research board, institution directory, economy, methodology, or a bank profile. A research destination can carry a question, layout, banks, states, asset range, and reporting quarter into the full board toolset. Research resumes the saved board unless fresh is true or the blank layout is requested.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "destination": {
            "type": "string",
            "maxLength": 12,
            "enum": [
              "home",
              "research",
              "institutions",
              "economy",
              "methods",
              "bank"
            ]
          },
          "question": {
            "type": "string",
            "maxLength": 500,
            "description": "Research question to place on the board."
          },
          "template": {
            "type": "string",
            "maxLength": 17,
            "enum": [
              "blank",
              "one_bank",
              "peer_comparison",
              "credit_stress",
              "funding",
              "geography",
              "failure_analogues"
            ],
            "description": "Optional research layout. Use blank when the agent should compose the board."
          },
          "fresh": {
            "type": "boolean"
          },
          "cert": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999999,
            "description": "FDIC certificate number when destination is bank."
          },
          "certs": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999
            },
            "maxItems": 10,
            "uniqueItems": true,
            "description": "FDIC certificate numbers to select on a research board."
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "description": "Two-letter state code."
            },
            "maxItems": 10,
            "uniqueItems": true
          },
          "assetMin": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Minimum assets in FDIC USD thousands."
          },
          "assetMax": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Maximum assets in FDIC USD thousands."
          },
          "asOf": {
            "type": "string",
            "maxLength": 8,
            "minLength": 6,
            "description": "Quarter-end YYYYMMDD or YYYQn."
          }
        },
        "required": [
          "destination"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }

    page: Home

    bankgraph.get_site_contextAnswer

    Read the current Bankgraph page, published FDIC quarter, available research layouts, and the actions an agent can take before entering the research board.

    View tool JSON
    {
      "name": "bankgraph.get_site_context",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current Bankgraph page, published FDIC quarter, available research layouts, and the actions an agent can take before entering the research board.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.search_banksAnswer

    Search the current FDIC institution snapshot by name, state, activity, and asset size before opening a bank or starting a research board. Returns up to 50 banks and an offset for the next page.

    View tool JSON
    {
      "name": "bankgraph.search_banks",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the current FDIC institution snapshot by name, state, activity, and asset size before opening a bank or starting a research board. Returns up to 50 banks and an offset for the next page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 120,
            "description": "Bank name, city, or FDIC certificate search text."
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "description": "Two-letter state code."
            },
            "maxItems": 10,
            "uniqueItems": true
          },
          "active": {
            "type": "string",
            "maxLength": 8,
            "enum": [
              "any",
              "active",
              "inactive"
            ]
          },
          "assetMin": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Minimum assets in FDIC USD thousands; 50,000,000 means $50B."
          },
          "assetMax": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Maximum assets in FDIC USD thousands."
          },
          "sort": {
            "type": "string",
            "maxLength": 19,
            "enum": [
              "name",
              "assets",
              "roa",
              "roe",
              "nim",
              "deposits",
              "loanToDeposit",
              "noncurrentLoanRatio",
              "tier1Ratio",
              "employees",
              "domesticOffices"
            ]
          },
          "order": {
            "type": "string",
            "maxLength": 4,
            "enum": [
              "asc",
              "desc"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100000
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.set_appearanceAction

    Switch every Bankgraph surface in this browser between the day and night themes.

    View tool JSON
    {
      "name": "bankgraph.set_appearance",
      "kind": "act",
      "impl": "imperative",
      "description": "Switch every Bankgraph surface in this browser between the day and night themes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "light",
              "dark"
            ]
          }
        },
        "required": [
          "theme"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.get_contextAnswer

    Read the current page, screen, selected banks, exact comparison pair, chart history, peer cohort, takeaways, watchlist intent, board presentation, data date, and revisions. Use this before editing and after a person changes the board.

    View tool JSON
    {
      "name": "bankgraph.get_context",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the current page, screen, selected banks, exact comparison pair, chart history, peer cohort, takeaways, watchlist intent, board presentation, data date, and revisions. Use this before editing and after a person changes the board.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.search_banksAnswer

    Preview stored FDIC institutions without changing the workspace. Screen by name, state, activity, assets, and latest metrics. Returns 25 complete bank records by default and up to 50; a page shrinks only when needed to stay inside the serialized result budget. Pass nextCursor unchanged to traverse up to the first 1,000 ranked matches.

    View tool JSON
    {
      "name": "bankgraph.search_banks",
      "kind": "answer",
      "impl": "imperative",
      "description": "Preview stored FDIC institutions without changing the workspace. Screen by name, state, activity, assets, and latest metrics. Returns 25 complete bank records by default and up to 50; a page shrinks only when needed to stay inside the serialized result budget. Pass nextCursor unchanged to traverse up to the first 1,000 ranked matches.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "maxLength": 120
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "description": "Two-letter US state or territory code."
            },
            "minItems": 0,
            "maxItems": 10,
            "uniqueItems": true
          },
          "active": {
            "type": "string",
            "maxLength": 8,
            "enum": [
              "any",
              "active",
              "inactive"
            ]
          },
          "assetMin": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Minimum total assets in FDIC USD thousands; 10,000,000 means $10B."
          },
          "assetMax": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Maximum total assets in FDIC USD thousands; 10,000,000 means $10B."
          },
          "conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "metric": {
                  "type": "string",
                  "maxLength": 19,
                  "enum": [
                    "assets",
                    "roa",
                    "roe",
                    "nim",
                    "deposits",
                    "loanToDeposit",
                    "noncurrentLoanRatio",
                    "tier1Ratio",
                    "employees",
                    "domesticOffices"
                  ],
                  "description": "Assets and deposits use USD thousands; ratios use reported percent; offices and employees use counts."
                },
                "operator": {
                  "type": "string",
                  "maxLength": 7,
                  "enum": [
                    "eq",
                    "ne",
                    "gt",
                    "gte",
                    "lt",
                    "lte",
                    "between"
                  ]
                },
                "value": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000000000000,
                  "description": "Assets and deposits use FDIC USD thousands; 10,000,000 means $10B. Ratios use reported percent."
                },
                "upperValue": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000000000000,
                  "description": "Upper bound in the selected metric's raw unit."
                }
              },
              "required": [
                "metric",
                "operator",
                "value"
              ],
              "additionalProperties": false
            },
            "minItems": 0,
            "maxItems": 12,
            "uniqueItems": true
          },
          "sort": {
            "type": "string",
            "maxLength": 19,
            "enum": [
              "name",
              "assets",
              "roa",
              "roe",
              "nim",
              "deposits",
              "loanToDeposit",
              "noncurrentLoanRatio",
              "tier1Ratio",
              "employees",
              "domesticOffices"
            ]
          },
          "order": {
            "type": "string",
            "maxLength": 4,
            "enum": [
              "asc",
              "desc"
            ]
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Complete bank records requested for this page; defaults to 25."
          },
          "cursor": {
            "type": "string",
            "maxLength": 128,
            "description": "Opaque nextCursor from the previous page."
          }
        },
        "required": [
          "query",
          "states",
          "active"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.read_current_screenAnswer

    Read the exact current screen recipe and its ranked bank records without changing the workspace. Returns 25 complete records by default and up to 50, shrinking a page only when its serialized payload requires it. Each cursor is bound to the workspace revision, full filter definition, result revision, and visible ordering.

    View tool JSON
    {
      "name": "bankgraph.read_current_screen",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the exact current screen recipe and its ranked bank records without changing the workspace. Returns 25 complete records by default and up to 50, shrinking a page only when its serialized payload requires it. Each cursor is bound to the workspace revision, full filter definition, result revision, and visible ordering.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Complete bank records requested for this page; defaults to 25."
          },
          "cursor": {
            "type": "string",
            "maxLength": 128,
            "description": "Opaque nextCursor from the previous page."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.configure_screenAction

    Replace the visible question, bank screen, and result order. The matching institutions become the current analysis cohort in the same order, up to 200 banks. Read bankgraph.get_context first and pass its revision as ifRevision. Conditions use AND and exclude missing values. Assets and deposits use FDIC USD thousands: 10,000,000 means $10 billion.

    View tool JSON
    {
      "name": "bankgraph.configure_screen",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the visible question, bank screen, and result order. The matching institutions become the current analysis cohort in the same order, up to 200 banks. Read bankgraph.get_context first and pass its revision as ifRevision. Conditions use AND and exclude missing values. Assets and deposits use FDIC USD thousands: 10,000,000 means $10 billion.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "maxLength": 1000
          },
          "query": {
            "type": "string",
            "maxLength": 200
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "description": "Two-letter US state or territory code."
            },
            "minItems": 0,
            "maxItems": 56,
            "uniqueItems": true
          },
          "active": {
            "type": "string",
            "maxLength": 8,
            "enum": [
              "any",
              "active",
              "inactive"
            ]
          },
          "assetMin": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Minimum total assets in FDIC USD thousands; 10,000,000 means $10B."
          },
          "assetMax": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Maximum total assets in FDIC USD thousands; 10,000,000 means $10B."
          },
          "conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "metric": {
                  "type": "string",
                  "maxLength": 19,
                  "enum": [
                    "assets",
                    "roa",
                    "roe",
                    "nim",
                    "deposits",
                    "loanToDeposit",
                    "noncurrentLoanRatio",
                    "tier1Ratio",
                    "employees",
                    "domesticOffices"
                  ],
                  "description": "Assets and deposits use USD thousands; ratios use reported percent; offices and employees use counts."
                },
                "operator": {
                  "type": "string",
                  "maxLength": 7,
                  "enum": [
                    "eq",
                    "ne",
                    "gt",
                    "gte",
                    "lt",
                    "lte",
                    "between"
                  ]
                },
                "value": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000000000000,
                  "description": "Assets and deposits use FDIC USD thousands; 10,000,000 means $10B. Ratios use reported percent."
                },
                "upperValue": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000000000000,
                  "description": "Upper bound in the selected metric's raw unit."
                }
              },
              "required": [
                "metric",
                "operator",
                "value"
              ],
              "additionalProperties": false
            },
            "minItems": 0,
            "maxItems": 12,
            "uniqueItems": true
          },
          "sort": {
            "type": "string",
            "maxLength": 19,
            "enum": [
              "name",
              "assets",
              "roa",
              "roe",
              "nim",
              "deposits",
              "loanToDeposit",
              "noncurrentLoanRatio",
              "tier1Ratio",
              "employees",
              "domesticOffices"
            ]
          },
          "order": {
            "type": "string",
            "maxLength": 4,
            "enum": [
              "asc",
              "desc"
            ]
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "question",
          "query",
          "states",
          "active",
          "conditions",
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.configure_comparisonAction

    Change only the requested part of the live comparison and preserve everything else. Use bankMode add or remove for spoken follow-ups such as ‘add Citi’; replace is the default when certs are supplied. Metrics, dates, chart style, and focus are independently optional. Read bankgraph.get_context once after a person changes the board, then pass its revision.

    View tool JSON
    {
      "name": "bankgraph.configure_comparison",
      "kind": "act",
      "impl": "imperative",
      "description": "Change only the requested part of the live comparison and preserve everything else. Use bankMode add or remove for spoken follow-ups such as ‘add Citi’; replace is the default when certs are supplied. Metrics, dates, chart style, and focus are independently optional. Read bankgraph.get_context once after a person changes the board, then pass its revision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "certs": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999,
              "description": "FDIC certificate number."
            },
            "minItems": 1,
            "maxItems": 25,
            "uniqueItems": true
          },
          "bankMode": {
            "type": "string",
            "maxLength": 7,
            "enum": [
              "keep",
              "replace",
              "add",
              "remove"
            ],
            "description": "How certs change the current banks. When omitted, supplied certs replace the selection; omitted certs keep it."
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "lnlsnet",
                "eq",
                "roa",
                "roe",
                "nimy",
                "eeffr",
                "netinc",
                "dep",
                "loanGrowth",
                "lnlsdepr",
                "othbfhlb",
                "nclnlsr",
                "nco_ratio",
                "lnatresr",
                "rbc1rwaj",
                "rbcrwaj",
                "rbc1aaj",
                "eqv",
                "numemp",
                "offdom"
              ],
              "description": "Metric available in the linked workspace."
            },
            "minItems": 1,
            "maxItems": 6,
            "uniqueItems": true
          },
          "metricMode": {
            "type": "string",
            "maxLength": 7,
            "enum": [
              "keep",
              "replace",
              "add",
              "remove"
            ],
            "description": "How metrics change the current measures. When omitted, supplied metrics replace them; omitted metrics keep them."
          },
          "asOfQuarter": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "comparisonMode": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "prior-quarter",
              "year-ago",
              "range-start",
              "custom"
            ],
            "description": "Basis for the exact quarter compared with asOfQuarter."
          },
          "rangeStartQuarter": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "customQuarter": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "historyMode": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "keep",
              "set",
              "clear"
            ],
            "description": "Keep the chart window, replace it with historyFrom/historyTo, or clear it."
          },
          "historyFrom": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "historyTo": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "focusMode": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "keep",
              "set",
              "clear"
            ]
          },
          "activeCert": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999999,
            "description": "FDIC certificate number."
          },
          "chartKind": {
            "type": "string",
            "maxLength": 4,
            "enum": [
              "line",
              "area"
            ]
          },
          "chartScale": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "value",
              "index"
            ]
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "ifRevision"
        ],
        "additionalProperties": false,
        "minProperties": 2
      },
      "page": "/"
    }
    bankgraph.set_peer_cohortAction

    Replace the peer cohort recipe and exact exclusion list used by the comparison. Read bankgraph.get_context first and pass its revision as ifRevision. Latest-metric conditions use the same deterministic vocabulary and units as bank search.

    View tool JSON
    {
      "name": "bankgraph.set_peer_cohort",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the peer cohort recipe and exact exclusion list used by the comparison. Read bankgraph.get_context first and pass its revision as ifRevision. Latest-metric conditions use the same deterministic vocabulary and units as bank search.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120
          },
          "basis": {
            "type": "string",
            "maxLength": 11,
            "enum": [
              "screen",
              "asset-range",
              "custom"
            ]
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "description": "Two-letter US state or territory code."
            },
            "minItems": 0,
            "maxItems": 56,
            "uniqueItems": true
          },
          "active": {
            "type": "string",
            "maxLength": 8,
            "enum": [
              "any",
              "active",
              "inactive"
            ]
          },
          "assetMin": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Minimum total assets in FDIC USD thousands; 10,000,000 means $10B."
          },
          "assetMax": {
            "type": "number",
            "minimum": 0,
            "maximum": 100000000000000,
            "description": "Maximum total assets in FDIC USD thousands; 10,000,000 means $10B."
          },
          "conditions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "metric": {
                  "type": "string",
                  "maxLength": 19,
                  "enum": [
                    "assets",
                    "roa",
                    "roe",
                    "nim",
                    "deposits",
                    "loanToDeposit",
                    "noncurrentLoanRatio",
                    "tier1Ratio",
                    "employees",
                    "domesticOffices"
                  ],
                  "description": "Assets and deposits use USD thousands; ratios use reported percent; offices and employees use counts."
                },
                "operator": {
                  "type": "string",
                  "maxLength": 7,
                  "enum": [
                    "eq",
                    "ne",
                    "gt",
                    "gte",
                    "lt",
                    "lte",
                    "between"
                  ]
                },
                "value": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000000000000,
                  "description": "Assets and deposits use FDIC USD thousands; 10,000,000 means $10B. Ratios use reported percent."
                },
                "upperValue": {
                  "type": "number",
                  "minimum": -100000,
                  "maximum": 100000000000000,
                  "description": "Upper bound in the selected metric's raw unit."
                }
              },
              "required": [
                "metric",
                "operator",
                "value"
              ],
              "additionalProperties": false
            },
            "minItems": 0,
            "maxItems": 12,
            "uniqueItems": true
          },
          "excludedCerts": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999,
              "description": "FDIC certificate number."
            },
            "minItems": 0,
            "maxItems": 250,
            "uniqueItems": true
          },
          "minimumPeers": {
            "type": "integer",
            "minimum": 0,
            "maximum": 200
          },
          "maximumPeers": {
            "type": "integer",
            "minimum": 0,
            "maximum": 200,
            "description": "WebMCP peer analyses support at most 200 banks per workspace."
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "name",
          "basis",
          "states",
          "active",
          "conditions",
          "excludedCerts",
          "minimumPeers",
          "maximumPeers",
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.read_current_cohortAnswer

    Read the exact peer-cohort definition and complete member records. Returns 25 complete records by default and up to 50, shrinking only when required by the serialized result budget. Counts, coverage, freshness, and the cursor remain tied to the exact definition.

    View tool JSON
    {
      "name": "bankgraph.read_current_cohort",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the exact peer-cohort definition and complete member records. Returns 25 complete records by default and up to 50, shrinking only when required by the serialized result budget. Counts, coverage, freshness, and the cursor remain tied to the exact definition.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string",
            "maxLength": 17,
            "enum": [
              "members",
              "states",
              "conditions",
              "excluded_certs",
              "screen_states",
              "screen_conditions"
            ]
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Complete records requested in the selected section; defaults to 25."
          },
          "cursor": {
            "type": "string",
            "maxLength": 128,
            "description": "Opaque nextCursor from the previous page."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.analyze_cohort_changeAction

    Compare one to six canonical measures across any two reporting quarters for the current workspace cohort. Publishes per-measure coverage, breadth, distributions, matched totals where addition is valid, gross movement, concentration, movers, and optional group movement into the visible workspace. Membership is held fixed across both quarters. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.

    View tool JSON
    {
      "name": "bankgraph.analyze_cohort_change",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare one to six canonical measures across any two reporting quarters for the current workspace cohort. Publishes per-measure coverage, breadth, distributions, matched totals where addition is valid, gross movement, concentration, movers, and optional group movement into the visible workspace. Membership is held fixed across both quarters. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "to": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "lnlsnet",
                "eq",
                "roa",
                "roe",
                "nimy",
                "eeffr",
                "netinc",
                "dep",
                "loanGrowth",
                "lnlsdepr",
                "othbfhlb",
                "nclnlsr",
                "nco_ratio",
                "lnatresr",
                "rbc1rwaj",
                "rbcrwaj",
                "rbc1aaj",
                "eqv",
                "numemp",
                "offdom"
              ],
              "description": "Metric available in the linked workspace."
            },
            "minItems": 1,
            "maxItems": 6,
            "uniqueItems": true
          },
          "groupBy": {
            "type": "string",
            "maxLength": 12,
            "enum": [
              "none",
              "state",
              "asset_bucket"
            ]
          },
          "groupPageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Groups requested in this response; defaults to 25."
          },
          "groupCursor": {
            "type": "string",
            "maxLength": 128,
            "description": "Opaque group cursor from the previous response."
          },
          "boardBlockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable visible board view ID."
          },
          "boardTitle": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible board view title."
          },
          "boardView": {
            "type": "string",
            "maxLength": 12,
            "enum": [
              "summary",
              "breadth",
              "distribution",
              "movers",
              "waterfall",
              "exact_table"
            ]
          },
          "boardSpan": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."
          },
          "boardFocus": {
            "type": "boolean"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "from",
          "to",
          "metrics",
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.find_temporal_patternsAction

    Apply one declared multi-quarter predicate to one to three canonical measures for every current workspace cohort member. Supports k-of-n direction, streaks, cumulative change, acceleration or deceleration, and threshold crossings. Publishes matches with exact periods, coverage, trigger quarters, and bounded series. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.

    View tool JSON
    {
      "name": "bankgraph.find_temporal_patterns",
      "kind": "act",
      "impl": "imperative",
      "description": "Apply one declared multi-quarter predicate to one to three canonical measures for every current workspace cohort member. Supports k-of-n direction, streaks, cumulative change, acceleration or deceleration, and threshold crossings. Publishes matches with exact periods, coverage, trigger quarters, and bounded series. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "lnlsnet",
                "eq",
                "roa",
                "roe",
                "nimy",
                "eeffr",
                "netinc",
                "dep",
                "loanGrowth",
                "lnlsdepr",
                "othbfhlb",
                "nclnlsr",
                "nco_ratio",
                "lnatresr",
                "rbc1rwaj",
                "rbcrwaj",
                "rbc1aaj",
                "eqv",
                "numemp",
                "offdom"
              ],
              "description": "Metric available in the linked workspace."
            },
            "minItems": 1,
            "maxItems": 3,
            "uniqueItems": true
          },
          "startPeriod": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "endPeriod": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "requiredPeriods": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 6,
              "maxLength": 8,
              "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
              "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
            },
            "minItems": 2,
            "maxItems": 40,
            "uniqueItems": true
          },
          "pattern": {
            "type": "string",
            "maxLength": 19,
            "enum": [
              "direction_count",
              "consecutive_streak",
              "cumulative_change",
              "change_acceleration",
              "threshold_cross"
            ]
          },
          "direction": {
            "type": "string",
            "maxLength": 12,
            "enum": [
              "increase",
              "decrease",
              "accelerating",
              "decelerating",
              "above",
              "below"
            ]
          },
          "atLeast": {
            "type": "integer",
            "minimum": 1,
            "maximum": 159
          },
          "minimumIntervals": {
            "type": "integer",
            "minimum": 1,
            "maximum": 159
          },
          "operator": {
            "type": "string",
            "maxLength": 3,
            "enum": [
              "gt",
              "gte",
              "lt",
              "lte",
              "eq"
            ]
          },
          "threshold": {
            "type": "number",
            "minimum": -1000000000000,
            "maximum": 1000000000000
          },
          "minimumObservations": {
            "type": "integer",
            "minimum": 2,
            "maximum": 160
          },
          "gapPolicy": {
            "type": "string",
            "maxLength": 16,
            "enum": [
              "require_complete",
              "allow_missing"
            ]
          },
          "tolerance": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Matched banks requested; defaults to 25."
          },
          "cursor": {
            "type": "string",
            "maxLength": 128,
            "description": "Opaque matched-bank cursor from the previous response."
          },
          "boardBlockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable visible board view ID."
          },
          "boardTitle": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible board view title."
          },
          "boardView": {
            "type": "string",
            "maxLength": 15,
            "enum": [
              "summary",
              "matched_banks",
              "small_multiples",
              "timeline",
              "exact_table"
            ]
          },
          "boardSpan": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "metrics",
          "pattern",
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.analyze_financial_compositionAction

    Analyze asset, funding, or loan mix for one selected bank, all selected banks, or the current workspace cohort. Uses ratios of sums over the same complete reporters, shows the loan-basis residual, and can compare quarters on a matched-reporter basis. Publishes the exact composition. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.

    View tool JSON
    {
      "name": "bankgraph.analyze_financial_composition",
      "kind": "act",
      "impl": "imperative",
      "description": "Analyze asset, funding, or loan mix for one selected bank, all selected banks, or the current workspace cohort. Uses ratios of sums over the same complete reporters, shows the loan-basis residual, and can compare quarters on a matched-reporter basis. Publishes the exact composition. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "composition": {
            "type": "string",
            "maxLength": 11,
            "enum": [
              "asset_mix",
              "funding_mix",
              "loan_mix"
            ]
          },
          "scope": {
            "type": "string",
            "maxLength": 14,
            "enum": [
              "selected_bank",
              "selected_banks",
              "current_cohort"
            ]
          },
          "cert": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999999,
            "description": "FDIC certificate number."
          },
          "period": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "compareFrom": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "boardBlockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable visible board view ID."
          },
          "boardTitle": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible board view title."
          },
          "boardView": {
            "type": "string",
            "maxLength": 19,
            "enum": [
              "summary",
              "stacked_composition",
              "change_waterfall",
              "exact_table"
            ]
          },
          "boardSpan": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."
          },
          "boardFocus": {
            "type": "boolean"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "composition",
          "scope",
          "period",
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.analyze_failure_patternsAction

    Build an exact-quarter event study for FDIC-reported failures, then rank the full eligible active-bank universe by descriptive trajectory similarity. The limit controls only returned analogues. This reusable visible view does not estimate failure probability or forecast. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.

    View tool JSON
    {
      "name": "bankgraph.analyze_failure_patterns",
      "kind": "act",
      "impl": "imperative",
      "description": "Build an exact-quarter event study for FDIC-reported failures, then rank the full eligible active-bank universe by descriptive trajectory similarity. The limit controls only returned analogues. This reusable visible view does not estimate failure probability or forecast. boardSpan accepts quarter, half, three-quarter, or full; omission keeps current defaults. Read bankgraph.get_context first and pass its revision as ifRevision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "startYear": {
            "type": "integer",
            "minimum": 1934,
            "maximum": 2099
          },
          "endYear": {
            "type": "integer",
            "minimum": 1934,
            "maximum": 2099
          },
          "quarters": {
            "type": "integer",
            "minimum": 4,
            "maximum": 12
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "boardBlockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable visible board view ID."
          },
          "boardTitle": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible board view title."
          },
          "boardView": {
            "type": "string",
            "maxLength": 11,
            "enum": [
              "both",
              "event_study",
              "analogues"
            ]
          },
          "boardSpan": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12). When omitted, existing view-dependent half/full defaults are preserved."
          },
          "boardFocus": {
            "type": "boolean"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.read_research_boardAnswer

    Read the exact visible answer order, focus, titles, spans, semantic bindings, and valid configuration fields on the current Bankgraph research board. The default is a fast structure-only read; then use bankgraph.read_board_block for exact data from each needed view. includeData focused or all is an optional bounded overview whose requested page size may be reduced to fit, without limiting continuation through read_board_block. No screenshot or DOM reading is needed.

    View tool JSON
    {
      "name": "bankgraph.read_research_board",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the exact visible answer order, focus, titles, spans, semantic bindings, and valid configuration fields on the current Bankgraph research board. The default is a fast structure-only read; then use bankgraph.read_board_block for exact data from each needed view. includeData focused or all is an optional bounded overview whose requested page size may be reduced to fit, without limiting continuation through read_board_block. No screenshot or DOM reading is needed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "includeData": {
            "type": "string",
            "maxLength": 7,
            "enum": [
              "none",
              "focused",
              "all"
            ],
            "description": "Optional bounded exact-data overview. none (default) reads structure and per-view read affordances; focused reads one view; all samples every visible view. For complete data, follow with read_board_block."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Requested values per visible view for the bounded overview; defaults to 2 and may be reduced to fit. Use bankgraph.read_board_block for up to 100 rows and continuation cursors."
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.read_board_blockAnswer

    Read one visible board view and a page of the exact source data behind it: rows, series, groups, components, members, or analogues. This is the semantic data used to draw the live view, not a screenshot. Failure analogue details default to 5 complete bank trajectories per page and support up to 10; other sections default to 25 and support up to 100.

    View tool JSON
    {
      "name": "bankgraph.read_board_block",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read one visible board view and a page of the exact source data behind it: rows, series, groups, components, members, or analogues. This is the semantic data used to draw the live view, not a screenshot. Failure analogue details default to 5 complete bank trajectories per page and support up to 10; other sections default to 25 and support up to 100.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable caller-supplied board view ID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "section": {
            "type": "string",
            "maxLength": 32
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100
          },
          "cursor": {
            "type": "string",
            "maxLength": 160
          }
        },
        "additionalProperties": false,
        "required": [
          "blockId"
        ]
      },
      "page": "/"
    }
    bankgraph.list_board_templatesAnswer

    List the same curated research-board starting points available to a person in Bankgraph. Templates contain semantic live views and source-bound history, never copied result rows.

    View tool JSON
    {
      "name": "bankgraph.list_board_templates",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the same curated research-board starting points available to a person in Bankgraph. Templates contain semantic live views and source-bound history, never copied result rows.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.apply_board_templateAction

    Build one curated live board from the current selected banks, measures, and history window. Append it to the current board or replace the board; the same template is available in the human interface.

    View tool JSON
    {
      "name": "bankgraph.apply_board_template",
      "kind": "act",
      "impl": "imperative",
      "description": "Build one curated live board from the current selected banks, measures, and history window. Append it to the current board or replace the board; the same template is available in the human interface.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "templateId": {
            "type": "string",
            "maxLength": 17,
            "enum": [
              "one_bank",
              "peer_comparison",
              "credit_stress",
              "funding",
              "geography",
              "failure_analogues"
            ]
          },
          "mode": {
            "type": "string",
            "maxLength": 7,
            "enum": [
              "append",
              "replace"
            ]
          },
          "idPrefix": {
            "type": "string",
            "maxLength": 32,
            "description": "Optional stable prefix used only by legacy board hosts.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "focus": {
            "type": "boolean"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          },
          "ifPresentationRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Board presentation revision from bankgraph.read_research_board."
          }
        },
        "additionalProperties": false,
        "required": [
          "templateId",
          "mode",
          "focus",
          "ifRevision",
          "ifPresentationRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.add_workspace_viewAction

    Add or replace one live semantic workspace view on the research board. The binding follows the current comparison, banks, metrics, cohort, geography, or economic context as the shared workspace changes; it never stores snapshot rows. Choose quarter, half, three-quarter, or full width on the 12-column board.

    View tool JSON
    {
      "name": "bankgraph.add_workspace_view",
      "kind": "act",
      "impl": "imperative",
      "description": "Add or replace one live semantic workspace view on the research board. The binding follows the current comparison, banks, metrics, cohort, geography, or economic context as the shared workspace changes; it never stores snapshot rows. Choose quarter, half, three-quarter, or full width on the 12-column board.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable caller-supplied board view ID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "title": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible, natural-language view title."
          },
          "view": {
            "type": "string",
            "maxLength": 22,
            "enum": [
              "comparison_matrix",
              "metric_history",
              "peer_distribution",
              "change_attribution",
              "metric_relationship",
              "headquarters_geography",
              "economic_context",
              "bank_context"
            ],
            "description": "Live semantic workspace view. Its current values are rendered from shared workspace state, not persisted snapshot rows."
          },
          "span": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."
          },
          "focus": {
            "type": "boolean"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          }
        },
        "additionalProperties": false,
        "required": [
          "blockId",
          "title",
          "view",
          "span",
          "focus",
          "ifRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.plot_metric_historyAction

    Publish a source-bound bank history chart on the visible research board. The view stores bank certificates, canonical measures, dates, and presentation choices; Bankgraph loads the reported values. Choose quarter, half, three-quarter, or full width on the 12-column board according to the comparison density.

    View tool JSON
    {
      "name": "bankgraph.plot_metric_history",
      "kind": "act",
      "impl": "imperative",
      "description": "Publish a source-bound bank history chart on the visible research board. The view stores bank certificates, canonical measures, dates, and presentation choices; Bankgraph loads the reported values. Choose quarter, half, three-quarter, or full width on the 12-column board according to the comparison density.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable caller-supplied board view ID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "title": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible, natural-language view title."
          },
          "certs": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999
            },
            "maxItems": 25,
            "minItems": 1
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "lnlsnet",
                "eq",
                "roa",
                "roe",
                "nimy",
                "eeffr",
                "netinc",
                "dep",
                "loanGrowth",
                "lnlsdepr",
                "othbfhlb",
                "nclnlsr",
                "nco_ratio",
                "lnatresr",
                "rbc1rwaj",
                "rbcrwaj",
                "rbc1aaj",
                "eqv",
                "numemp",
                "offdom"
              ]
            },
            "maxItems": 6,
            "minItems": 1
          },
          "from": {
            "type": "string",
            "maxLength": 8
          },
          "to": {
            "type": "string",
            "maxLength": 8
          },
          "chartKind": {
            "type": "string",
            "maxLength": 4,
            "enum": [
              "line",
              "area"
            ]
          },
          "scale": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "value",
              "index"
            ]
          },
          "span": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."
          },
          "focus": {
            "type": "boolean"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          }
        },
        "additionalProperties": false,
        "required": [
          "blockId",
          "title",
          "certs",
          "metrics",
          "from",
          "to",
          "chartKind",
          "scale",
          "span",
          "focus",
          "ifRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.publish_exact_tableAction

    Publish a horizontally scrollable exact bank-by-measure table into the visible research board. Choose fixed reporting endpoints or follow the workspace comparison; Bankgraph loads reported values from the published data. Quarter and half widths pack beside related views; three-quarter and full widths suit denser tables.

    View tool JSON
    {
      "name": "bankgraph.publish_exact_table",
      "kind": "act",
      "impl": "imperative",
      "description": "Publish a horizontally scrollable exact bank-by-measure table into the visible research board. Choose fixed reporting endpoints or follow the workspace comparison; Bankgraph loads reported values from the published data. Quarter and half widths pack beside related views; three-quarter and full widths suit denser tables.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable caller-supplied board view ID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "title": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible, natural-language view title."
          },
          "certs": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999
            },
            "maxItems": 25,
            "minItems": 1
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "lnlsnet",
                "eq",
                "roa",
                "roe",
                "nimy",
                "eeffr",
                "netinc",
                "dep",
                "loanGrowth",
                "lnlsdepr",
                "othbfhlb",
                "nclnlsr",
                "nco_ratio",
                "lnatresr",
                "rbc1rwaj",
                "rbcrwaj",
                "rbc1aaj",
                "eqv",
                "numemp",
                "offdom"
              ]
            },
            "maxItems": 6,
            "minItems": 1
          },
          "followCurrent": {
            "type": "boolean"
          },
          "from": {
            "type": "string",
            "maxLength": 8
          },
          "to": {
            "type": "string",
            "maxLength": 8
          },
          "span": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."
          },
          "focus": {
            "type": "boolean"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          }
        },
        "additionalProperties": false,
        "required": [
          "blockId",
          "title",
          "certs",
          "metrics",
          "followCurrent",
          "span",
          "focus",
          "ifRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.upsert_takeawayAction

    Add or replace one plain-text takeaway on the visible board. The text must refer to at least one existing board view and cannot contain executable markup or numerical arrays. Choose quarter, half, three-quarter, or full width on the 12-column board.

    View tool JSON
    {
      "name": "bankgraph.upsert_takeaway",
      "kind": "act",
      "impl": "imperative",
      "description": "Add or replace one plain-text takeaway on the visible board. The text must refer to at least one existing board view and cannot contain executable markup or numerical arrays. Choose quarter, half, three-quarter, or full width on the 12-column board.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable caller-supplied board view ID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "title": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible, natural-language view title."
          },
          "text": {
            "type": "string",
            "maxLength": 4000
          },
          "referenceBlockIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 64,
              "description": "Stable caller-supplied board view ID.",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
            },
            "maxItems": 24,
            "minItems": 1
          },
          "span": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Width on the 12-column human board: quarter (3 columns), half (6), three_quarter (9), or full (12)."
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          }
        },
        "additionalProperties": false,
        "required": [
          "blockId",
          "title",
          "text",
          "referenceBlockIds",
          "span",
          "ifRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.arrange_research_boardAction

    Set the complete answer order exactly once. Every current view ID must appear exactly once. Focus can be kept, cleared, or set in the same atomic workspace revision.

    View tool JSON
    {
      "name": "bankgraph.arrange_research_board",
      "kind": "act",
      "impl": "imperative",
      "description": "Set the complete answer order exactly once. Every current view ID must appear exactly once. Focus can be kept, cleared, or set in the same atomic workspace revision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderedBlockIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 64,
              "description": "Stable caller-supplied board view ID.",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
            },
            "maxItems": 24
          },
          "focusMode": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "keep",
              "clear",
              "set"
            ]
          },
          "focusedBlockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Stable caller-supplied board view ID.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          }
        },
        "additionalProperties": false,
        "required": [
          "orderedBlockIds",
          "focusMode",
          "ifRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.configure_board_viewAction

    Change only the requested part of an existing view and preserve everything else. First read bankgraph.read_research_board and use that block's configurationAffordances. Bank, measure, and period sources are independent: supplying certs, metrics, or dates fixes only that anchor. Set bankSource to workspace to apply current and future workspace banks without changing the view's measures or periods. followWorkspace remains a shorthand for reconnecting or fixing every anchor. Revision guards are optional because every field is an exact, idempotent setting.

    View tool JSON
    {
      "name": "bankgraph.configure_board_view",
      "kind": "act",
      "impl": "imperative",
      "description": "Change only the requested part of an existing view and preserve everything else. First read bankgraph.read_research_board and use that block's configurationAffordances. Bank, measure, and period sources are independent: supplying certs, metrics, or dates fixes only that anchor. Set bankSource to workspace to apply current and future workspace banks without changing the view's measures or periods. followWorkspace remains a shorthand for reconnecting or fixing every anchor. Revision guards are optional because every field is an exact, idempotent setting.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockId": {
            "type": "string",
            "maxLength": 64,
            "description": "Existing block ID from read_research_board; consult its configurationAffordances entry before choosing fields.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
          },
          "title": {
            "type": "string",
            "maxLength": 160,
            "description": "Visible, natural-language view title."
          },
          "width": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "auto",
              "quarter",
              "half",
              "three_quarter",
              "full"
            ],
            "description": "Valid for every view."
          },
          "height": {
            "type": "string",
            "maxLength": 8,
            "enum": [
              "standard",
              "tall"
            ],
            "description": "Valid for every view."
          },
          "role": {
            "type": "string",
            "maxLength": 13,
            "enum": [
              "auto",
              "lead",
              "support",
              "contrast",
              "reference",
              "multiples",
              "context",
              "investigation"
            ],
            "description": "Valid for every view."
          },
          "focus": {
            "type": "boolean",
            "description": "Use true to focus this view. Use false to clear focus when this view is focused."
          },
          "presentation": {
            "type": "string",
            "maxLength": 9,
            "enum": [
              "auto",
              "primary",
              "multiples"
            ],
            "description": "Source-bound history views only; chooses one primary measure or small multiples."
          },
          "followWorkspace": {
            "type": "boolean",
            "description": "Compatibility shorthand for all anchors. true reconnects banks, measures, and periods and cannot be combined with fixed values; false fixes all three at their current effective values and may include replacement values."
          },
          "bankSource": {
            "type": "string",
            "maxLength": 9,
            "enum": [
              "workspace",
              "fixed"
            ],
            "description": "workspace applies current and future workspace banks to this view; fixed keeps its current effective banks unless certs is also supplied."
          },
          "metricSource": {
            "type": "string",
            "maxLength": 9,
            "enum": [
              "workspace",
              "fixed"
            ],
            "description": "workspace follows workspace measures; fixed keeps the current effective measures unless metrics is also supplied."
          },
          "periodSource": {
            "type": "string",
            "maxLength": 9,
            "enum": [
              "workspace",
              "fixed"
            ],
            "description": "workspace follows workspace periods; fixed keeps current effective periods unless date fields are also supplied."
          },
          "certs": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999
            },
            "maxItems": 25,
            "description": "Fix only the bank anchor for a data-bearing view. Do not send with bankSource=workspace."
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "lnlsnet",
                "eq",
                "roa",
                "roe",
                "nimy",
                "eeffr",
                "netinc",
                "dep",
                "loanGrowth",
                "lnlsdepr",
                "othbfhlb",
                "nclnlsr",
                "nco_ratio",
                "lnatresr",
                "rbc1rwaj",
                "rbcrwaj",
                "rbc1aaj",
                "eqv",
                "numemp",
                "offdom"
              ]
            },
            "maxItems": 6,
            "description": "Fix only the measure anchor for a data-bearing view. Do not send with metricSource=workspace."
          },
          "asOf": {
            "type": "string",
            "maxLength": 8,
            "description": "Fix the point-in-time reporting period without changing bank or measure sources. Do not send with periodSource=workspace."
          },
          "compareWith": {
            "type": "string",
            "maxLength": 8,
            "description": "Fix the comparison period without changing bank or measure sources. Do not send with periodSource=workspace."
          },
          "historyFrom": {
            "type": "string",
            "maxLength": 8,
            "description": "Source-bound history views only."
          },
          "historyTo": {
            "type": "string",
            "maxLength": 8,
            "description": "Source-bound history views only."
          },
          "chartKind": {
            "type": "string",
            "maxLength": 4,
            "enum": [
              "line",
              "area"
            ],
            "description": "Source-bound history views only."
          },
          "scale": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "value",
              "index"
            ],
            "description": "Source-bound history views only."
          },
          "view": {
            "type": "string",
            "maxLength": 19,
            "enum": [
              "summary",
              "breadth",
              "distribution",
              "movers",
              "waterfall",
              "matched_banks",
              "small_multiples",
              "timeline",
              "stacked_composition",
              "change_waterfall",
              "both",
              "event_study",
              "analogues",
              "event_trajectories",
              "analogue_table",
              "exact_table"
            ],
            "description": "Stored analysis views only. Use that block's configurationAffordances.viewValues; compatible values depend on result kind."
          },
          "sortMetric": {
            "type": "string",
            "maxLength": 10,
            "enum": [
              "asset",
              "lnlsnet",
              "eq",
              "roa",
              "roe",
              "nimy",
              "eeffr",
              "netinc",
              "dep",
              "loanGrowth",
              "lnlsdepr",
              "othbfhlb",
              "nclnlsr",
              "nco_ratio",
              "lnatresr",
              "rbc1rwaj",
              "rbcrwaj",
              "rbc1aaj",
              "eqv",
              "numemp",
              "offdom"
            ],
            "description": "Source-bound exact-table views only."
          },
          "sortBasis": {
            "type": "string",
            "maxLength": 6,
            "enum": [
              "level",
              "change"
            ],
            "description": "Source-bound exact-table views only."
          },
          "sortDirection": {
            "type": "string",
            "maxLength": 4,
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Source-bound exact-table views only."
          },
          "series": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 19,
              "enum": [
                "UST10Y2Y",
                "BLS_UNRATE",
                "FRB_FEDFUNDS",
                "UST2Y",
                "UST10Y",
                "BLS_CPI_YOY",
                "FRB_H8_BANK_CREDIT",
                "FRB_H8_LOANS_LEASES",
                "FRB_H8_DEPOSITS",
                "FRB_H8_REAL_ESTATE",
                "FRB_H8_CI_LOANS",
                "FRB_H8_CRE",
                "FRB_H8_CONSUMER"
              ]
            },
            "maxItems": 3,
            "minItems": 1,
            "description": "Live economic_context workspace views only."
          },
          "xMetric": {
            "type": "string",
            "maxLength": 10,
            "enum": [
              "asset",
              "lnlsnet",
              "eq",
              "roa",
              "roe",
              "nimy",
              "eeffr",
              "netinc",
              "dep",
              "loanGrowth",
              "lnlsdepr",
              "othbfhlb",
              "nclnlsr",
              "nco_ratio",
              "lnatresr",
              "rbc1rwaj",
              "rbcrwaj",
              "rbc1aaj",
              "eqv",
              "numemp",
              "offdom"
            ],
            "description": "Live metric_relationship workspace views only."
          },
          "yMetric": {
            "type": "string",
            "maxLength": 10,
            "enum": [
              "asset",
              "lnlsnet",
              "eq",
              "roa",
              "roe",
              "nimy",
              "eeffr",
              "netinc",
              "dep",
              "loanGrowth",
              "lnlsdepr",
              "othbfhlb",
              "nclnlsr",
              "nco_ratio",
              "lnatresr",
              "rbc1rwaj",
              "rbcrwaj",
              "rbc1aaj",
              "eqv",
              "numemp",
              "offdom"
            ],
            "description": "Live metric_relationship workspace views only."
          },
          "geographyMode": {
            "type": "string",
            "maxLength": 6,
            "enum": [
              "count",
              "assets",
              "median"
            ],
            "description": "Live headquarters_geography workspace views only."
          },
          "attributionMode": {
            "type": "string",
            "maxLength": 18,
            "enum": [
              "assets",
              "funding",
              "quarterlyNetIncome",
              "loanToDeposit"
            ],
            "description": "Live change_attribution workspace views only."
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          },
          "ifPresentationRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Board presentation revision from bankgraph.read_research_board."
          }
        },
        "additionalProperties": false,
        "required": [
          "blockId"
        ],
        "minProperties": 2
      },
      "page": "/"
    }
    bankgraph.remove_board_blocksAction

    Remove one or more visible board views by stable ID. A retry after those views are already absent is a successful no-op.

    View tool JSON
    {
      "name": "bankgraph.remove_board_blocks",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove one or more visible board views by stable ID. A retry after those views are already absent is a successful no-op.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "blockIds": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 64,
              "description": "Stable caller-supplied board view ID.",
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$"
            },
            "maxItems": 24,
            "minItems": 1
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          }
        },
        "additionalProperties": false,
        "required": [
          "blockIds",
          "ifRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.clear_research_boardAction

    Remove every visible board view in one operation while retaining the selected banks, cohort, measures, and period. The human interface offers the same recoverable clear action.

    View tool JSON
    {
      "name": "bankgraph.clear_research_board",
      "kind": "act",
      "impl": "imperative",
      "description": "Remove every visible board view in one operation while retaining the selected banks, cohort, measures, and period. The human interface offers the same recoverable clear action.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          },
          "ifPresentationRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Board presentation revision from bankgraph.read_research_board."
          }
        },
        "additionalProperties": false,
        "required": [
          "ifRevision",
          "ifPresentationRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.reset_board_layoutAction

    Keep every view and analytical selection, but return the board to its automatic layout, default view sizes, default time ruler, and no focused view.

    View tool JSON
    {
      "name": "bankgraph.reset_board_layout",
      "kind": "act",
      "impl": "imperative",
      "description": "Keep every view and analytical selection, but return the board to its automatic layout, default view sizes, default time ruler, and no focused view.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          },
          "ifPresentationRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Board presentation revision from bankgraph.read_research_board."
          }
        },
        "additionalProperties": false,
        "required": [
          "ifRevision",
          "ifPresentationRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.reset_research_boardAction

    Clear the board and its research question, selected banks, cohort, measures, dates, saved findings, and analysis results in one exact operation. The product-level watchlist is retained.

    View tool JSON
    {
      "name": "bankgraph.reset_research_board",
      "kind": "act",
      "impl": "imperative",
      "description": "Clear the board and its research question, selected banks, cohort, measures, dates, saved findings, and analysis results in one exact operation. The product-level watchlist is retained.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Workspace revision from bankgraph.get_context."
          },
          "ifPresentationRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Board presentation revision from bankgraph.read_research_board."
          }
        },
        "additionalProperties": false,
        "required": [
          "ifRevision",
          "ifPresentationRevision"
        ]
      },
      "page": "/"
    }
    bankgraph.set_appearanceAction

    Set Bankgraph to its day or night appearance. This changes the same visible theme control a person uses and is exact rather than a non-idempotent toggle.

    View tool JSON
    {
      "name": "bankgraph.set_appearance",
      "kind": "act",
      "impl": "imperative",
      "description": "Set Bankgraph to its day or night appearance. This changes the same visible theme control a person uses and is exact rather than a non-idempotent toggle.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "theme": {
            "type": "string",
            "maxLength": 5,
            "enum": [
              "light",
              "dark"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "theme"
        ]
      },
      "page": "/"
    }
    bankgraph.rank_cohort_on_boardAction

    Rank the current cohort by one reported measure, select up to 10 banks from either tail, and optionally replace the board with exact values, histories, a peer distribution, and a relationship view. Use this for questions such as which banks have the highest loan-to-deposit ratio when bank names are not known in advance. The full cohort remains the benchmark behind the selected answer set. Read bankgraph.get_context first and pass its revision as ifRevision.

    View tool JSON
    {
      "name": "bankgraph.rank_cohort_on_board",
      "kind": "act",
      "impl": "imperative",
      "description": "Rank the current cohort by one reported measure, select up to 10 banks from either tail, and optionally replace the board with exact values, histories, a peer distribution, and a relationship view. Use this for questions such as which banks have the highest loan-to-deposit ratio when bank names are not known in advance. The full cohort remains the benchmark behind the selected answer set. Read bankgraph.get_context first and pass its revision as ifRevision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "metric": {
            "type": "string",
            "maxLength": 10,
            "enum": [
              "asset",
              "lnlsnet",
              "eq",
              "roa",
              "roe",
              "nimy",
              "eeffr",
              "netinc",
              "dep",
              "loanGrowth",
              "lnlsdepr",
              "othbfhlb",
              "nclnlsr",
              "nco_ratio",
              "lnatresr",
              "rbc1rwaj",
              "rbcrwaj",
              "rbc1aaj",
              "eqv",
              "numemp",
              "offdom"
            ],
            "description": "Metric available in the linked workspace."
          },
          "direction": {
            "type": "string",
            "maxLength": 7,
            "enum": [
              "highest",
              "lowest"
            ]
          },
          "bankCount": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Number of ranked banks to place on the board."
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "lnlsnet",
                "eq",
                "roa",
                "roe",
                "nimy",
                "eeffr",
                "netinc",
                "dep",
                "loanGrowth",
                "lnlsdepr",
                "othbfhlb",
                "nclnlsr",
                "nco_ratio",
                "lnatresr",
                "rbc1rwaj",
                "rbcrwaj",
                "rbc1aaj",
                "eqv",
                "numemp",
                "offdom"
              ],
              "description": "Metric available in the linked workspace."
            },
            "minItems": 1,
            "maxItems": 6,
            "uniqueItems": true
          },
          "question": {
            "type": "string",
            "maxLength": 1000,
            "description": "Optional board title or research question."
          },
          "boardMode": {
            "type": "string",
            "maxLength": 7,
            "enum": [
              "replace",
              "keep"
            ],
            "description": "Replace the current views with a comparison board, or keep its views."
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "metric",
          "direction",
          "bankCount",
          "boardMode",
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.read_metric_historyAnswer

    Read exact quarterly values for up to ten requested banks and forty reporting periods. Returns all requested bank series by default with aligned periods, missing values, raw units, and source field; an explicitly smaller page can continue with nextCursor.

    View tool JSON
    {
      "name": "bankgraph.read_metric_history",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read exact quarterly values for up to ten requested banks and forty reporting periods. Returns all requested bank series by default with aligned periods, missing values, raw units, and source field; an explicitly smaller page can continue with nextCursor.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "metric": {
            "type": "string",
            "maxLength": 10,
            "enum": [
              "asset",
              "lnlsnet",
              "eq",
              "roa",
              "roe",
              "nimy",
              "eeffr",
              "netinc",
              "dep",
              "loanGrowth",
              "lnlsdepr",
              "othbfhlb",
              "nclnlsr",
              "nco_ratio",
              "lnatresr",
              "rbc1rwaj",
              "rbcrwaj",
              "rbc1aaj",
              "eqv",
              "numemp",
              "offdom"
            ],
            "description": "Metric available in the linked workspace."
          },
          "certs": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999,
              "description": "FDIC certificate number."
            },
            "minItems": 1,
            "maxItems": 10,
            "uniqueItems": true
          },
          "periods": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40
          },
          "endingAt": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Complete bank series requested; defaults to every requested bank."
          },
          "cursor": {
            "type": "string",
            "maxLength": 128,
            "description": "Opaque nextCursor from the previous page."
          }
        },
        "required": [
          "metric",
          "certs",
          "periods"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.inspect_changeAnswer

    Explain a reported change across consecutive quarters. Workspace metrics return supported endpoint evidence; assets, quarterly net income, and loan-to-deposit ratio also return component bridges. Results include units, method, provenance, available peer movement, and any FDIC structural event mapped to the certificate inside the comparison window.

    View tool JSON
    {
      "name": "bankgraph.inspect_change",
      "kind": "answer",
      "impl": "imperative",
      "description": "Explain a reported change across consecutive quarters. Workspace metrics return supported endpoint evidence; assets, quarterly net income, and loan-to-deposit ratio also return component bridges. Results include units, method, provenance, available peer movement, and any FDIC structural event mapped to the certificate inside the comparison window.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cert": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999999,
            "description": "FDIC certificate number."
          },
          "metric": {
            "type": "string",
            "maxLength": 10,
            "enum": [
              "asset",
              "dep",
              "roa",
              "nimy",
              "loanGrowth",
              "nclnlsr",
              "lnlsdepr",
              "netinc"
            ],
            "description": "Metric with a deterministic quarter bridge."
          },
          "from": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "to": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "peerRelative": {
            "type": "boolean"
          },
          "maxComponents": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8
          }
        },
        "required": [
          "cert",
          "metric",
          "from",
          "to",
          "peerRelative",
          "maxComponents"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.investigate_bankAction

    Open a linked, multi-metric investigation for one bank across two consecutive reporting quarters. The operation configures the visible workspace, then returns deterministic metric changes, reported component bridges, peer-relative evidence, mapped structural events, and optional direct-agency economic context. Read bankgraph.get_context first and pass its revision as ifRevision.

    View tool JSON
    {
      "name": "bankgraph.investigate_bank",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a linked, multi-metric investigation for one bank across two consecutive reporting quarters. The operation configures the visible workspace, then returns deterministic metric changes, reported component bridges, peer-relative evidence, mapped structural events, and optional direct-agency economic context. Read bankgraph.get_context first and pass its revision as ifRevision.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cert": {
            "type": "integer",
            "minimum": 1,
            "maximum": 99999999,
            "description": "FDIC certificate number."
          },
          "comparisonCerts": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999,
              "description": "FDIC certificate number."
            },
            "minItems": 0,
            "maxItems": 4,
            "uniqueItems": true
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 10,
              "enum": [
                "asset",
                "dep",
                "roa",
                "nimy",
                "loanGrowth",
                "nclnlsr",
                "lnlsdepr",
                "netinc"
              ],
              "description": "Metric with a deterministic quarter bridge."
            },
            "minItems": 2,
            "maxItems": 6,
            "uniqueItems": true
          },
          "from": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "to": {
            "type": "string",
            "minLength": 6,
            "maxLength": 8,
            "pattern": "^(?:\\d{4}(?:0331|0630|0930|1231)|\\d{4}Q[1-4])$",
            "description": "Quarter-end date YYYYMMDD or YYYYQn; quarter labels are normalized to 0331, 0630, 0930, or 1231."
          },
          "historyPeriods": {
            "type": "integer",
            "minimum": 4,
            "maximum": 12,
            "description": "Quarterly observations to show in the linked history view."
          },
          "peerRelative": {
            "type": "boolean"
          },
          "includeMacro": {
            "type": "boolean"
          },
          "maxComponents": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4,
            "description": "Largest reported components to return for each supported bridge."
          },
          "depth": {
            "type": "string",
            "maxLength": 6,
            "enum": [
              "guided",
              "pro"
            ]
          },
          "question": {
            "type": "string",
            "maxLength": 1000
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "cert",
          "metrics",
          "from",
          "to",
          "peerRelative",
          "includeMacro",
          "ifRevision"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    bankgraph.share_or_exportAction

    Create a live workspace link that replays the current choices against published data, a public workspace-state JSON artifact, or a release-fenced bank-data CSV. certs is valid only with bank_csv; share_link and workspace_json always use the current workspace and must omit certs.

    View tool JSON
    {
      "name": "bankgraph.share_or_export",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a live workspace link that replays the current choices against published data, a public workspace-state JSON artifact, or a release-fenced bank-data CSV. certs is valid only with bank_csv; share_link and workspace_json always use the current workspace and must omit certs.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string",
            "maxLength": 14,
            "enum": [
              "share_link",
              "workspace_json",
              "bank_csv"
            ],
            "description": "share_link and workspace_json use the current workspace and reject certs; bank_csv accepts optional certs or uses the selected banks."
          },
          "certs": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 99999999,
              "description": "FDIC certificate number."
            },
            "minItems": 0,
            "maxItems": 10,
            "uniqueItems": true,
            "description": "bank_csv only. Omit for share_link and workspace_json."
          },
          "ifRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991,
            "description": "Only apply if the workspace still has this revision."
          }
        },
        "required": [
          "format"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }

    page: Banks

    bankgraph.read_bank_directoryAnswer

    Read the filters, ordering, pagination, and a bounded set of results visible in the bank directory.

    View tool JSON
    {
      "name": "bankgraph.read_bank_directory",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the filters, ordering, pagination, and a bounded set of results visible in the bank directory.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Visible banks to return from the current page."
          }
        },
        "additionalProperties": false
      },
      "page": "/banks"
    }
    bankgraph.open_directory_bankAction

    Open one bank from the visible directory page in the shared research workspace. The certificate number must belong to a current visible result.

    View tool JSON
    {
      "name": "bankgraph.open_directory_bank",
      "kind": "act",
      "impl": "imperative",
      "description": "Open one bank from the visible directory page in the shared research workspace. The certificate number must belong to a current visible result.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cert": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100000000,
            "description": "FDIC certificate number from the current visible page."
          }
        },
        "required": [
          "cert"
        ],
        "additionalProperties": false
      },
      "page": "/banks"
    }
    bankgraph.open_directory_screenAction

    Carry the directory's current question, filters, ordering, and matching cohort into the shared workspace. Existing map and peer exclusions are cleared so the workspace opens the same bank population.

    View tool JSON
    {
      "name": "bankgraph.open_directory_screen",
      "kind": "act",
      "impl": "imperative",
      "description": "Carry the directory's current question, filters, ordering, and matching cohort into the shared workspace. Existing map and peer exclusions are cleared so the workspace opens the same bank population.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/banks"
    }

    page: Economy

    bankgraph.read_macro_evidenceAction

    Read bounded observations and agency provenance for macro series loaded in this banking view.

    View tool JSON
    {
      "name": "bankgraph.read_macro_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Read bounded observations and agency provenance for macro series loaded in this banking view.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "seriesIds": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            },
            "minItems": 1,
            "maxItems": 3,
            "uniqueItems": true,
            "description": "Loaded series IDs, such as FRB_FEDFUNDS, UST10Y2Y, or BLS_UNRATE."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "description": "Recent observations per series."
          }
        },
        "required": [
          "seriesIds"
        ],
        "additionalProperties": false
      },
      "page": "/economy"
    }
    bankgraph.read_macro_bank_relationshipsAction

    Read the fixed-plan contemporaneous co-movement results shown in the macro view.

    View tool JSON
    {
      "name": "bankgraph.read_macro_bank_relationships",
      "kind": "act",
      "impl": "imperative",
      "description": "Read the fixed-plan contemporaneous co-movement results shown in the macro view.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/economy"
    }
    bankgraph.open_in_workspaceAction

    Carry the evidence visible on this page into the shared Bankgraph workspace, then open the workspace.

    View tool JSON
    {
      "name": "bankgraph.open_in_workspace",
      "kind": "act",
      "impl": "imperative",
      "description": "Carry the evidence visible on this page into the shared Bankgraph workspace, then open the workspace.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/economy"
    }