BLIA — Bank Product Terms

Bank account terms as banks publish them, dated: fees, waivers, offers. Read-only. Canada today.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
94%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,921토큰 (도구 정의)
~7.4 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.06%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "blia-catalogue": {
      "url": "https://mcp.bliahub.com/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.bliahub.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (5)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_bank_products(institution, product_class, province, page_size, cursor)

Use this first when the user asks about Canadian bank accounts (currently chequing at the banks listed in coverage), or which accounts a bank offers. Returns every product in BLIA's snapshot with its product_slug, its variants (customer groups such as seniors, each with its eligibility note), the attributes published, and completeness. coverage says what BLIA does and does not cover; an empty result always says why. Free tier: published values only -- no source citation, provenance tier or corroboration status. Not for fees or rules: take a product_slug from here to get_product_terms or compare_products.

입력 스키마

{
  "type": "object",
  "properties": {
    "institution": {
      "type": "string",
      "description": "Institution id as listed in coverage.institutions_covered (bmo, cibc, rbc, scotia, td: the Big 5); a common or legal name such as BMO, RBC, Scotiabank or Royal Bank of Canada also resolves. Omit for all."
    },
    "product_class": {
      "type": "string",
      "description": "Product class. Only \"chequing\" is covered today."
    },
    "province": {
      "type": "string",
      "description": "Province: a two-letter code (ON, QC, ...) or a name such as Ontario or Québec; omit for all provinces."
    },
    "page_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Up to 50 products per page."
    },
    "cursor": {
      "type": "string",
      "description": "product_slug returned as next_cursor by a prior call"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "as_of": {
      "type": "string",
      "description": "When the snapshot was built, ISO 8601 UTC."
    },
    "publication_seq": {
      "type": "integer",
      "description": "Publication number of the snapshot being served."
    },
    "staleness_days": {
      "type": "number",
      "description": "Whole days since as_of."
    },
    "coverage_scope": {
      "type": "string",
      "description": "The product class, institutions and lineup completeness the snapshot covers."
    },
    "coverage": {
      "type": "object",
      "properties": {},
      "additionalProperties": true,
      "description": "What BLIA does and does not cover: product classes, institutions, kinds of information."
    },
    "disclaimer": {
      "type": "string",
      "description": "BLIA's disclaimer, verbatim. Include it when relaying values."
    },
    "freshness": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "current",
            "aging",
            "stale"
          ],
          "description": "How old the snapshot is: current up to 30 days, aging up to 90, then stale."
        },
        "staleness_days": {
          "type": "number",
          "description": "Whole days since as_of."
        },
        "as_of": {
          "type": "string",
          "description": "When the snapshot was built, ISO 8601 UTC."
        },
        "guidance": {
          "type": "string",
          "description": "What to say and what to confirm with the institution at this age."
        }
      },
      "required": [
        "status",
        "staleness_days",
        "as_of",
        "guidance"
      ],
      "additionalProperties": true
    },
    "freshness_warning": {
      "type": "string",
      "description": "Repeats freshness.guidance when the snapshot is not current."
    }
  },
  "required": [
    "as_of",
    "publication_seq",
    "staleness_days",
    "coverage_scope",
    "coverage",
    "disclaimer",
    "freshness"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product_terms(product_slug, province, cohort, channel, attributes)

Use this when the user asks about one account's fees, included transactions, minimum balance, fee waiver conditions, e-transfer or ATM costs, or deposit insurance. Returns each published term with its value and effective date; a rule comes with its plain-language summary AND its logic (default outcome plus conditions with thresholds, e.g. the balance that waives the monthly fee). Says which customer-group variant was used, which others exist, which questions the terms answer (answerability) and exactly what is not published (before_acting). not_published and unresolved mean unknown, never zero. Free tier: no source quote, content hash, provenance tier or corroboration status. For several accounts side by side use compare_products; for perks or welcome offers across accounts use list_benefits or list_offers. BLIA holds one current snapshot, so it cannot say what a fee was or will be.

입력 스키마

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
      "description": "A product_slug from list_bank_products, e.g. td-every-day-chequing-account"
    },
    "province": {
      "type": "string",
      "description": "Two-letter province code. Default \"ALL\"."
    },
    "cohort": {
      "type": "string",
      "description": "Customer group the terms apply to. Default \"current\" (the standard offer). Other groups a product carries (e.g. \"senior_60_plus\") are listed per product as variants; pass one to get that group's terms."
    },
    "channel": {
      "type": "string",
      "enum": [
        "branch",
        "online",
        "any"
      ],
      "description": "How the account is opened. Default \"any\" (terms that apply whatever the channel)."
    },
    "attributes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Limit to these attributes, e.g. monthly_fee, transaction_limit, minimum_balance, nsf_fee, etransfer_rules, atm_rules. Omit for all."
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "as_of": {
      "type": "string",
      "description": "When the snapshot was built, ISO 8601 UTC."
    },
    "publication_seq": {
      "type": "integer",
      "description": "Publication number of the snapshot being served."
    },
    "staleness_days": {
      "type": "number",
      "description": "Whole days since as_of."
    },
    "coverage_scope": {
      "type": "string",
      "description": "The product class, institutions and lineup completeness the snapshot covers."
    },
    "coverage": {
      "type": "object",
      "properties": {},
      "additionalProperties": true,
      "description": "What BLIA does and does not cover: product classes, institutions, kinds of information."
    },
    "disclaimer": {
      "type": "string",
      "description": "BLIA's disclaimer, verbatim. Include it when relaying values."
    },
    "freshness": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "current",
            "aging",
            "stale"
          ],
          "description": "How old the snapshot is: current up to 30 days, aging up to 90, then stale."
        },
        "staleness_days": {
          "type": "number",
          "description": "Whole days since as_of."
        },
        "as_of": {
          "type": "string",
          "description": "When the snapshot was built, ISO 8601 UTC."
        },
        "guidance": {
          "type": "string",
          "description": "What to say and what to confirm with the institution at this age."
        }
      },
      "required": [
        "status",
        "staleness_days",
        "as_of",
        "guidance"
      ],
      "additionalProperties": true
    },
    "freshness_warning": {
      "type": "string",
      "description": "Repeats freshness.guidance when the snapshot is not current."
    }
  },
  "required": [
    "as_of",
    "publication_seq",
    "staleness_days",
    "coverage_scope",
    "coverage",
    "disclaimer",
    "freshness"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_products(product_slugs, province, cohort, channel, monthly_transactions)

Use this when the user wants to compare accounts, within one bank or across banks. One call returns, for each product: monthly fee, annual fee before waivers, included transactions (checked against monthly_transactions if given), minimum balance, NSF fee, the fee-waiver conditions (summary and logic), e-transfer and ATM terms, and what is missing -- plus a ranking by monthly fee with the annual difference to the lowest. It never applies a waiver to the customer's balances: it gives the conditions so they can be checked. Products whose fee BLIA has not published are listed as not_ranked, never ranked as free. The ranking uses published monthly fee and nothing else. For one account's complete terms and rule logic use get_product_terms.

입력 스키마

{
  "type": "object",
  "properties": {
    "product_slugs": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
      },
      "minItems": 2,
      "maxItems": 10,
      "description": "2 to 10 product_slugs from list_bank_products, from one or several banks."
    },
    "province": {
      "type": "string",
      "description": "Two-letter province code. Default \"ALL\"."
    },
    "cohort": {
      "type": "string",
      "description": "Customer group the terms apply to. Default \"current\" (the standard offer). Other groups a product carries (e.g. \"senior_60_plus\") are listed per product as variants; pass one to get that group's terms."
    },
    "channel": {
      "type": "string",
      "enum": [
        "branch",
        "online",
        "any"
      ],
      "description": "How the account is opened. Default \"any\" (terms that apply whatever the channel)."
    },
    "monthly_transactions": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000,
      "description": "Optional: the customer's typical debit transactions per month, checked against each product's included transactions."
    }
  },
  "required": [
    "product_slugs"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "as_of": {
      "type": "string",
      "description": "When the snapshot was built, ISO 8601 UTC."
    },
    "publication_seq": {
      "type": "integer",
      "description": "Publication number of the snapshot being served."
    },
    "staleness_days": {
      "type": "number",
      "description": "Whole days since as_of."
    },
    "coverage_scope": {
      "type": "string",
      "description": "The product class, institutions and lineup completeness the snapshot covers."
    },
    "coverage": {
      "type": "object",
      "properties": {},
      "additionalProperties": true,
      "description": "What BLIA does and does not cover: product classes, institutions, kinds of information."
    },
    "disclaimer": {
      "type": "string",
      "description": "BLIA's disclaimer, verbatim. Include it when relaying values."
    },
    "freshness": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "current",
            "aging",
            "stale"
          ],
          "description": "How old the snapshot is: current up to 30 days, aging up to 90, then stale."
        },
        "staleness_days": {
          "type": "number",
          "description": "Whole days since as_of."
        },
        "as_of": {
          "type": "string",
          "description": "When the snapshot was built, ISO 8601 UTC."
        },
        "guidance": {
          "type": "string",
          "description": "What to say and what to confirm with the institution at this age."
        }
      },
      "required": [
        "status",
        "staleness_days",
        "as_of",
        "guidance"
      ],
      "additionalProperties": true
    },
    "freshness_warning": {
      "type": "string",
      "description": "Repeats freshness.guidance when the snapshot is not current."
    },
    "ranking_by_monthly_fee": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_slug": {
            "type": "string"
          }
        },
        "required": [
          "product_slug"
        ],
        "additionalProperties": true
      },
      "description": "Products with a published CAD monthly fee, cheapest first, ties by product_slug. Nothing else affects the order."
    },
    "not_ranked": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "product_slug": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "product_slug",
          "reason"
        ],
        "additionalProperties": true
      },
      "description": "Products left out of the ranking and why; never ranked as free."
    }
  },
  "required": [
    "as_of",
    "publication_seq",
    "staleness_days",
    "coverage_scope",
    "coverage",
    "disclaimer",
    "freshness",
    "ranking_by_monthly_fee",
    "not_ranked"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_offers(institution, product_class)

Use this when the user asks which accounts have a welcome or sign-up offer, what an offer gives, or what they must do to get it. Returns each recorded offer with what you get (cash and any non-cash part, e.g. a membership), the qualifying conditions (each as a plain sentence), conditions_status, and the end date or that none is stated. conditions_status not_recorded means the conditions are unknown, never that there are none. A product with no recorded offer may still have one: say BLIA records none. Welcome offers only, which end; ongoing plan perks are in list_benefits, and fees and waiver rules in get_product_terms.

입력 스키마

{
  "type": "object",
  "properties": {
    "institution": {
      "type": "string",
      "description": "Institution id (bmo, cibc, rbc, scotia, td: the Big 5) or a common or legal name such as BMO, RBC or Scotiabank. Omit for all."
    },
    "product_class": {
      "type": "string",
      "description": "Product class. Only \"chequing\" is covered today."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "as_of": {
      "type": "string",
      "description": "When the snapshot was built, ISO 8601 UTC."
    },
    "publication_seq": {
      "type": "integer",
      "description": "Publication number of the snapshot being served."
    },
    "staleness_days": {
      "type": "number",
      "description": "Whole days since as_of."
    },
    "coverage_scope": {
      "type": "string",
      "description": "The product class, institutions and lineup completeness the snapshot covers."
    },
    "coverage": {
      "type": "object",
      "properties": {},
      "additionalProperties": true,
      "description": "What BLIA does and does not cover: product classes, institutions, kinds of information."
    },
    "disclaimer": {
      "type": "string",
      "description": "BLIA's disclaimer, verbatim. Include it when relaying values."
    },
    "freshness": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "current",
            "aging",
            "stale"
          ],
          "description": "How old the snapshot is: current up to 30 days, aging up to 90, then stale."
        },
        "staleness_days": {
          "type": "number",
          "description": "Whole days since as_of."
        },
        "as_of": {
          "type": "string",
          "description": "When the snapshot was built, ISO 8601 UTC."
        },
        "guidance": {
          "type": "string",
          "description": "What to say and what to confirm with the institution at this age."
        }
      },
      "required": [
        "status",
        "staleness_days",
        "as_of",
        "guidance"
      ],
      "additionalProperties": true
    },
    "freshness_warning": {
      "type": "string",
      "description": "Repeats freshness.guidance when the snapshot is not current."
    }
  },
  "required": [
    "as_of",
    "publication_seq",
    "staleness_days",
    "coverage_scope",
    "coverage",
    "disclaimer",
    "freshness"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_benefits(benefit, institution, product_class, cohort, province)

Use this when the user asks which accounts include a perk or benefit -- a credit card annual fee rebate, a safe deposit box, free drafts or cheques, rewards points, a borrowing rate discount. With benefit set, returns includes / does_not_include / not_recorded across products; without it, every tracked benefit per product. not_recorded is unknown, never 'not included'. A benefit with basis 'bank_default' is the bank's standard terms for all accounts (no product-specific benefit recorded): say so rather than calling it a feature of the plan. Ongoing perks only; welcome offers are in list_offers, and fees and waiver rules in get_product_terms.

입력 스키마

{
  "type": "object",
  "properties": {
    "benefit": {
      "type": "string",
      "description": "One benefit, e.g. safe_deposit_box, credit_card_annual_fee_rebate, bank_drafts. Omit for every benefit BLIA tracks."
    },
    "institution": {
      "type": "string",
      "description": "Institution id (bmo, cibc, rbc, scotia, td: the Big 5) or a common or legal name such as BMO, RBC or Scotiabank. Omit for all."
    },
    "product_class": {
      "type": "string",
      "description": "Product class. Only \"chequing\" is covered today."
    },
    "cohort": {
      "type": "string",
      "description": "Customer group the terms apply to. Default \"current\" (the standard offer). Other groups a product carries (e.g. \"senior_60_plus\") are listed per product as variants; pass one to get that group's terms."
    },
    "province": {
      "type": "string",
      "description": "Province: a two-letter code or a name such as Ontario. A benefit priced differently in that province is answered with its price there. Default \"ALL\"."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "as_of": {
      "type": "string",
      "description": "When the snapshot was built, ISO 8601 UTC."
    },
    "publication_seq": {
      "type": "integer",
      "description": "Publication number of the snapshot being served."
    },
    "staleness_days": {
      "type": "number",
      "description": "Whole days since as_of."
    },
    "coverage_scope": {
      "type": "string",
      "description": "The product class, institutions and lineup completeness the snapshot covers."
    },
    "coverage": {
      "type": "object",
      "properties": {},
      "additionalProperties": true,
      "description": "What BLIA does and does not cover: product classes, institutions, kinds of information."
    },
    "disclaimer": {
      "type": "string",
      "description": "BLIA's disclaimer, verbatim. Include it when relaying values."
    },
    "freshness": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "current",
            "aging",
            "stale"
          ],
          "description": "How old the snapshot is: current up to 30 days, aging up to 90, then stale."
        },
        "staleness_days": {
          "type": "number",
          "description": "Whole days since as_of."
        },
        "as_of": {
          "type": "string",
          "description": "When the snapshot was built, ISO 8601 UTC."
        },
        "guidance": {
          "type": "string",
          "description": "What to say and what to confirm with the institution at this age."
        }
      },
      "required": [
        "status",
        "staleness_days",
        "as_of",
        "guidance"
      ],
      "additionalProperties": true
    },
    "freshness_warning": {
      "type": "string",
      "description": "Repeats freshness.guidance when the snapshot is not current."
    }
  },
  "required": [
    "as_of",
    "publication_seq",
    "staleness_days",
    "coverage_scope",
    "coverage",
    "disclaimer",
    "freshness"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개