Credit GPS — Canadian credit
Ce que fait ce MCP
Explains Canadian credit reporting and calculates utilization, payoff timelines, payment impacts, statement calendars, credit plans, closure effects, and credit-building options.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards', 'cardName'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card â\x80\x94 those three drive everything."}, 'today': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Today's date in the person's local timezone, yyyy-mm-dd. Pass it â\x80\x94 the server otherwise falls back to UTC, which is a day ahead for Canadian evenings."}, 'cardName': {'type': 'string', 'maxLength': 80, 'description': 'Which card to pay off. Partial names are matched.'}, 'monthlyPayment': {'type': 'number', 'maximum': 100000000, 'description': "Fixed amount paid each month in CAD. Omit to use the card's minimum payment, if one was supplied.", 'exclusiveMinimum': 0}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cardName', 'balance', 'aprBps', 'monthlyPayment', 'months', 'totalInterest', 'neverShrinks', 'aprUnknown', 'atMinimum', 'assumptions', 'disclosure'], 'properties': {'aprBps': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'months': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'balance': {'type': 'number'}, 'cardName': {'type': 'string'}, 'atMinimum': {'anyOf': [{'type': 'object', 'required': ['monthlyPayment', 'months', 'totalInterest', 'neverShrinks'], 'properties': {'months': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'neverShrinks': {'type': 'boolean'}, 'totalInterest': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'monthlyPayment': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'aprUnknown': {'type': 'boolean'}, 'disclosure': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'neverShrinks': {'type': 'boolean'}, 'totalInterest': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'monthlyPayment': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards', 'amount'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card â\x80\x94 those three drive everything."}, 'amount': {'type': 'number', 'maximum': 100000000, 'description': 'Purchase amount in CAD.', 'exclusiveMinimum': 0}, 'targetUtilization': {'type': 'number', 'maximum': 0.95, 'minimum': 0.01, 'description': 'Target utilization as a decimal. Defaults to 0.29 â\x80\x94 one point under the 30% band.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount', 'blendedBefore', 'bestForReporting', 'cheapestToCarry', 'optionsDisagree', 'noCardFits', 'disclosure'], 'properties': {'amount': {'type': 'number'}, 'disclosure': {'type': 'string'}, 'noCardFits': {'type': 'boolean'}, 'blendedBefore': {'type': 'number'}, 'cheapestToCarry': {'anyOf': [{'type': 'object', 'required': ['name', 'aprBps', 'monthsAtMinimum', 'totalInterestAtMinimum', 'neverShrinksAtMinimum'], 'properties': {'name': {'type': 'string'}, 'aprBps': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'monthsAtMinimum': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'neverShrinksAtMinimum': {'type': 'boolean'}, 'totalInterestAtMinimum': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}]}, 'optionsDisagree': {'type': 'boolean'}, 'bestForReporting': {'anyOf': [{'type': 'object', 'required': ['name', 'utilizationAfter', 'bandAfter', 'blendedAfter', 'crossesBandUp', 'remainingHeadroom', 'aprBps'], 'properties': {'name': {'type': 'string'}, 'aprBps': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'bandAfter': {'enum': ['good', 'elevated', 'high'], 'type': 'string'}, 'blendedAfter': {'type': 'number'}, 'crossesBandUp': {'type': 'boolean'}, 'utilizationAfter': {'type': 'number'}, 'remainingHeadroom': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['what', 'privacy', 'limits', 'product', 'manualReportGuide', 'sources', 'disclosure'], 'properties': {'what': {'type': 'string'}, 'limits': {'type': 'array', 'items': {'type': 'string'}}, 'privacy': {'type': 'array', 'items': {'type': 'string'}}, 'product': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'disclosure': {'type': 'string'}, 'manualReportGuide': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's cards, if they have given them. Omit to get the mechanics and the Canadian rules without any numbers."}, 'today': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Today's date in the person's local timezone, yyyy-mm-dd. Pass it â\x80\x94 the server otherwise falls back to UTC, which is a day ahead for Canadian evenings."}, 'cardName': {'type': 'string', 'maxLength': 80, 'description': 'The card being considered for closure. Partial names are matched. Only meaningful alongside cards.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['computed', 'cardName', 'limitRemoved', 'balanceOnCard', 'blendedBefore', 'blendedAfter', 'bandBefore', 'bandAfter', 'crossesBandUp', 'remainingLimit', 'isOnlyRevolvingAccount', 'alwaysTrue', 'assumptions', 'disclosure'], 'properties': {'cardName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'computed': {'type': 'boolean'}, 'bandAfter': {'anyOf': [{'enum': ['good', 'elevated', 'high'], 'type': 'string'}, {'type': 'null'}]}, 'alwaysTrue': {'type': 'array', 'items': {'type': 'string'}}, 'bandBefore': {'anyOf': [{'enum': ['good', 'elevated', 'high'], 'type': 'string'}, {'type': 'null'}]}, 'disclosure': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'blendedAfter': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'limitRemoved': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'balanceOnCard': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'blendedBefore': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'crossesBandUp': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'remainingLimit': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'isOnlyRevolvingAccount': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'topic': {'enum': ['statement_close_vs_due_date', 'scores_and_scale', 'checking_your_own_file', 'regulation', 'open_banking', 'utilization'], 'type': 'string', 'description': 'A single topic id. Omit to get all of them.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOf', 'topics', 'disclosure'], 'properties': {'asOf': {'type': 'string'}, 'topics': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'correction', 'detail', 'sources'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'detail': {'type': 'array', 'items': {'type': 'string'}}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'correction': {'type': 'string'}}, 'additionalProperties': False}}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'daysPastDue': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'How many days past the due date the payment is, if known. Changes which part of the answer leads.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOf', 'daysPastDue', 'withinReportingWindow', 'threshold', 'ratingScale', 'afterwards', 'sources', 'disclosure'], 'properties': {'asOf': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'threshold': {'type': 'array', 'items': {'type': 'string'}}, 'afterwards': {'type': 'array', 'items': {'type': 'string'}}, 'disclosure': {'type': 'string'}, 'daysPastDue': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'ratingScale': {'type': 'array', 'items': {'type': 'string'}}, 'withinReportingWindow': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOf', 'items', 'caveat', 'disclosure'], 'properties': {'asOf': {'type': 'string'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['item', 'duration', 'differsFromUs', 'sources'], 'properties': {'item': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'duration': {'type': 'string'}, 'differsFromUs': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'caveat': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOf', 'general', 'notPublished', 'sources', 'disclosure'], 'properties': {'asOf': {'type': 'string'}, 'general': {'type': 'array', 'items': {'type': 'string'}}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'disclosure': {'type': 'string'}, 'notPublished': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'issuer': {'type': 'string', 'maxLength': 80, 'description': 'The issuer, if known, e.g. "TD". Only used to tailor the wording â\x80\x94 there is no per-issuer date table, because none is published.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'A known payment due date, yyyy-mm-dd. Supplying it produces a derived estimate of the closing date.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOf', 'derivedCloseDate', 'derivedFromDueDate', 'graceDays', 'methods', 'disclosure'], 'properties': {'asOf': {'type': 'string'}, 'methods': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'reliability', 'steps', 'sources'], 'properties': {'id': {'type': 'string'}, 'steps': {'type': 'array', 'items': {'type': 'string'}}, 'title': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'reliability': {'type': 'string'}}, 'additionalProperties': False}}, 'graceDays': {'type': 'number'}, 'disclosure': {'type': 'string'}, 'derivedCloseDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'derivedFromDueDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards', 'goal'], 'properties': {'goal': {'enum': ['raise_score', 'pay_down_balances', 'build_credit'], 'type': 'string', 'description': 'Which goal to plan for.'}, 'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card â\x80\x94 those three drive everything."}, 'today': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Today's date in the person's local timezone, yyyy-mm-dd. Pass it â\x80\x94 the server otherwise falls back to UTC, which is a day ahead for Canadian evenings."}, 'targetUtilization': {'type': 'number', 'maximum': 0.95, 'minimum': 0.01, 'description': 'Target utilization as a decimal. Defaults to 0.29 â\x80\x94 one point under the 30% band.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['goal', 'generatedForDate', 'steps', 'assumptions', 'disclosure'], 'properties': {'goal': {'type': 'string'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'action', 'why', 'dueByDate', 'amount', 'kind', 'status', 'accountName', 'forecast'], 'properties': {'why': {'type': 'string'}, 'kind': {'enum': ['payment', 'habit', 'monitor'], 'type': 'string'}, 'title': {'type': 'string'}, 'action': {'type': 'string'}, 'amount': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'status': {'enum': ['done', 'current', 'upcoming', 'ongoing'], 'type': 'string'}, 'forecast': {'type': 'null', 'description': 'No validated score prediction is available.'}, 'dueByDate': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'accountName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'disclosure': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'generatedForDate': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'homeCountry': {'type': 'string', 'maxLength': 80, 'description': 'Country the person is arriving from, in English. Determines whether the credit-import route is open.'}, 'monthsInCanada': {'type': 'integer', 'maximum': 120, 'minimum': 0, 'description': 'Roughly how long they have been in Canada, to focus the answer on the relevant phase.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOf', 'creditImport', 'steps', 'bankPrograms', 'disclosure'], 'properties': {'asOf': {'type': 'string'}, 'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['phase', 'window', 'action', 'mechanism', 'notes', 'focus'], 'properties': {'focus': {'type': 'boolean'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'phase': {'type': 'string'}, 'action': {'type': 'string'}, 'window': {'type': 'string'}, 'mechanism': {'type': 'string'}}, 'additionalProperties': False}}, 'disclosure': {'type': 'string'}, 'bankPrograms': {'type': 'array', 'items': {'type': 'object', 'required': ['bank', 'program', 'novaCredit', 'notes'], 'properties': {'bank': {'type': 'string'}, 'notes': {'type': 'string'}, 'program': {'type': 'string'}, 'novaCredit': {'type': 'boolean'}}, 'additionalProperties': False}}, 'creditImport': {'type': 'object', 'required': ['homeCountry', 'covered', 'explanation', 'banksWithIntegration', 'knownGaps'], 'properties': {'covered': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'knownGaps': {'type': 'array', 'items': {'type': 'string'}}, 'explanation': {'type': 'string'}, 'homeCountry': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'banksWithIntegration': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card â\x80\x94 those three drive everything."}, 'today': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Today's date in the person's local timezone, yyyy-mm-dd. Pass it â\x80\x94 the server otherwise falls back to UTC, which is a day ahead for Canadian evenings."}, 'targetUtilization': {'type': 'number', 'maximum': 0.95, 'minimum': 0.01, 'description': 'Target utilization as a decimal. Defaults to 0.29 â\x80\x94 one point under the 30% band.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['move', 'currentUtilization', 'forecast', 'assumptions', 'disclosure'], 'properties': {'move': {'type': 'object', 'required': ['accountName', 'amount', 'dueByDate', 'reason', 'projectedUtilization', 'rationale'], 'properties': {'amount': {'type': 'number'}, 'reason': {'enum': ['cross_score_band', 'avoid_delinquency', 'clear_overdue', 'hold'], 'type': 'string'}, 'dueByDate': {'type': 'string'}, 'rationale': {'type': 'string'}, 'accountName': {'type': 'string'}, 'projectedUtilization': {'type': 'number'}}, 'additionalProperties': False}, 'forecast': {'type': 'null', 'description': 'No validated score prediction is available.'}, 'disclosure': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'currentUtilization': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card â\x80\x94 those three drive everything."}, 'today': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Today's date in the person's local timezone, yyyy-mm-dd. Pass it â\x80\x94 the server otherwise falls back to UTC, which is a day ahead for Canadian evenings."}, 'targetUtilization': {'type': 'number', 'maximum': 0.95, 'minimum': 0.01, 'description': 'Target utilization as a decimal. Defaults to 0.29 â\x80\x94 one point under the 30% band.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards', 'totalReported', 'totalLimit', 'blendedUtilization', 'band', 'isEmpty', 'assumptions', 'disclosure'], 'properties': {'band': {'enum': ['good', 'elevated', 'high'], 'type': 'string'}, 'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'reportedBalance', 'creditLimit', 'utilization', 'band', 'statementCloseDate', 'daysUntilClose', 'payToTarget', 'minimumPayment', 'dueDate', 'daysUntilDue', 'isOverdue'], 'properties': {'band': {'enum': ['good', 'elevated', 'high'], 'type': 'string'}, 'name': {'type': 'string'}, 'dueDate': {'type': 'string'}, 'isOverdue': {'type': 'boolean'}, 'creditLimit': {'type': 'number'}, 'payToTarget': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'utilization': {'type': 'number'}, 'daysUntilDue': {'type': 'number'}, 'daysUntilClose': {'type': 'number'}, 'minimumPayment': {'type': 'number'}, 'reportedBalance': {'type': 'number'}, 'statementCloseDate': {'type': 'string'}}, 'additionalProperties': False}}, 'isEmpty': {'type': 'boolean'}, 'disclosure': {'type': 'string'}, 'totalLimit': {'type': 'number'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'totalReported': {'type': 'number'}, 'blendedUtilization': {'type': 'number'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card â\x80\x94 those three drive everything."}, 'count': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': 'How many events to return. Default 8.'}, 'today': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Today's date in the person's local timezone, yyyy-mm-dd. Pass it â\x80\x94 the server otherwise falls back to UTC, which is a day ahead for Canadian evenings."}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['events', 'assumptions', 'disclosure'], 'properties': {'events': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'kind', 'accountName', 'label', 'amount', 'daysAway'], 'properties': {'date': {'type': 'string'}, 'kind': {'enum': ['pay_by', 'statement_close', 'payment_due'], 'type': 'string'}, 'label': {'type': 'string'}, 'amount': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'daysAway': {'type': 'number'}, 'accountName': {'type': 'string'}}, 'additionalProperties': False}}, 'disclosure': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tier': {'enum': ['established', 'legitimate_but_costly', 'treat_with_caution'], 'type': 'string', 'description': 'Filter to one credibility tier. Omit for all.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asOf', 'products', 'caveat', 'sources', 'disclosure'], 'properties': {'asOf': {'type': 'string'}, 'caveat': {'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'string'}}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'kind', 'reportsTo', 'tier', 'notes', 'url'], 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'kind': {'type': 'string'}, 'name': {'type': 'string'}, 'tier': {'type': 'string'}, 'notes': {'type': 'string'}, 'reportsTo': {'type': 'string'}}, 'additionalProperties': False}}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cards', 'cardName', 'amount'], 'properties': {'cards': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'creditLimit', 'statementBalance'], 'properties': {'name': {'type': 'string', 'maxLength': 80, 'minLength': 1, 'description': 'What the person calls this card, e.g. "TD Cash Back Visa" or "the blue one".'}, 'last4': {'type': 'string', 'maxLength': 4, 'description': 'Last four digits, only to tell two similar cards apart. Optional and never required.'}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Payment due date for the current statement. Defaults to 21 days after the closing date.'}, 'isOverdue': {'type': 'boolean', 'description': 'True if a payment is past due right now.'}, 'aprPercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown â\x80\x94 0 is a real interest-free rate and cost estimates would understate what a balance costs.'}, 'creditLimit': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': 'Credit limit in CAD. Use 0 for a charge card or any account with no set limit â\x80\x94 it is then excluded from utilization.'}, 'currentBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Today's balance, if it differs from the statement balance. Defaults to statementBalance."}, 'minimumPayment': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "The issuer's minimum payment. Omit if unknown â\x80\x94 do not pass 0 to mean unknown."}, 'statementBalance': {'type': 'number', 'maximum': 100000000, 'minimum': 0, 'description': "Balance at the most recent statement close. This is the figure the issuer reported, and the one utilization is read from. If only today's balance is known, pass it here and say so."}, 'statementCloseDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The day the NEXT statement closes â\x80\x94 the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.'}}}, 'maxItems': 25, 'minItems': 1, 'description': "The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card â\x80\x94 those three drive everything."}, 'today': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Today's date in the person's local timezone, yyyy-mm-dd. Pass it â\x80\x94 the server otherwise falls back to UTC, which is a day ahead for Canadian evenings."}, 'amount': {'type': 'number', 'maximum': 100000000, 'description': "Payment amount in CAD, posting before that card's statement closes.", 'exclusiveMinimum': 0}, 'cardName': {'type': 'string', 'maxLength': 80, 'description': 'Which card the payment goes on. Partial names are matched.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cardName', 'amount', 'cardUtilizationBefore', 'cardUtilizationAfter', 'cardBandBefore', 'cardBandAfter', 'blendedBefore', 'blendedAfter', 'payBeforeDate', 'forecast', 'assumptions', 'disclosure'], 'properties': {'amount': {'type': 'number'}, 'cardName': {'type': 'string'}, 'forecast': {'type': 'null', 'description': 'No validated score prediction is available.'}, 'disclosure': {'type': 'string'}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}}, 'blendedAfter': {'type': 'number'}, 'blendedBefore': {'type': 'number'}, 'cardBandAfter': {'enum': ['good', 'elevated', 'high'], 'type': 'string'}, 'payBeforeDate': {'type': 'string'}, 'cardBandBefore': {'enum': ['good', 'elevated', 'high'], 'type': 'string'}, 'cardUtilizationAfter': {'type': 'number'}, 'cardUtilizationBefore': {'type': 'number'}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
MaCalculatriceEnLigne
Provides calculators for French and Belgian taxes, salaries, pensions, VAT, loans, health metrics, education scores, fitness, and…
Lovie Company Formation
Supports company formation and business administration with bank accounts, cards, invoicing, bookkeeping, accounting periods, and…
AlpineDataWorks Intelligence Server
Provides economic, market, supply-chain, real-estate, energy, consumer, labor, and other scored intelligence indices with histori…
The Stall
Provides pay-per-call tools for YouTube keyword research and research on stocks, crypto, DeFi, options, and macroeconomic data.
Stratalize Finance
Provides financial, macroeconomic, banking, credit, commodities, M&A, ESG, labor, and regulatory benchmarks for analysis and plan…
Crank Protocol
Provides non-custodial Solana and EVM tools for swaps, derivatives, lending, staking, tokenized equities, bridging, and strategy …
Red by Big Red Cloud
Connects to Big Red Cloud accounting for customers, suppliers, products, invoices, purchases, payments, receipts, journals, quote…
x402-services
Provides on-chain, trading, and AI tools for Robinhood Chain.