{"name":"ca.creditgps/canadian-credit","slug":"creditgps-canadian-credit","title":"Credit GPS — Canadian credit","description":"Canadian credit: statement-cycle and utilization math, plus bureau and reporting reference data.","url":"https://mcp.market/server/creditgps-canadian-credit","rating":null,"grade":"C","score":60,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":21,"ok":21,"last_checked_at":"2026-09-24T11:41:10.147Z","last_ok_at":"2026-09-24T11:41:10.147Z","latency_ms":223},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/creditgps/CreditGPS","website":"https://creditgps.ca","version":"0.2.0","remotes":[{"type":"streamable-http","url":"https://mcp.creditgps.ca/mcp"}],"packages":[],"tools":[{"name":"calculate_payoff_timeline","description":"Use this for \"if I pay $200 a month, when is this paid off?\" or \"what happens if I only pay the minimum?\". Returns how long a card takes to clear at a fixed monthly payment and the interest paid over that time. This is a cost question, not a reporting one: it does not change what the bureaus see, so use get_reported_snapshot or simulate_paydown for that. Requires the card's purchase APR; without it no timeline is returned, because the rate decides the answer. Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]},"description":"The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card — those three drive everything."},"cardName":{"type":"string","maxLength":80,"description":"Which card to pay off. Partial names are matched."},"monthlyPayment":{"description":"Fixed amount paid each month in CAD. Omit to use the card's minimum payment, if one was supplied.","type":"number","exclusiveMinimum":0,"maximum":100000000},"today":{"description":"Today's date in the person's local timezone, yyyy-mm-dd. Pass it — the server otherwise falls back to UTC, which is a day ahead for Canadian evenings.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["cards","cardName"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"compare_cards_for_purchase","description":"Use this when someone asks which card to put a purchase on. Returns two answers for the amount given: the card that reports the least utilization impact, the card that is cheapest to carry, and the trade-off when those differ, because the card the bureaus notice least is often not the card with the lowest rate. Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]},"description":"The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card — those three drive everything."},"amount":{"type":"number","exclusiveMinimum":0,"maximum":100000000,"description":"Purchase amount in CAD."},"targetUtilization":{"description":"Target utilization as a decimal. Defaults to 0.29 — one point under the 30% band.","type":"number","minimum":0.01,"maximum":0.95}},"required":["cards","amount"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"describe_credit_gps","description":"Use this when someone asks what Credit GPS is, who made this, whether their data is stored, or why an answer stopped short. Also explains how to obtain free Canadian bureau reports and manually enter their figures in the Credit GPS application for score tracking. This tool provides instructions; it cannot save entries or retrieve score history. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"estimate_close_card_impact","description":"Use this for \"should I cancel the credit card I never use\", \"is it bad to close a card\", or any question about cancelling, downgrading, or consolidating cards. It does not close, cancel, or change any card; it only explains and calculates. With no card figures it returns general closure considerations and retention information. Supply figures for a hypothetical paid-off closure calculation. Supply cards and cardName as well and it additionally computes the exact utilization before and after, the limit leaving the denominator, and whether it crosses a band upward. Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"description":"The person's cards, if they have given them. Omit to get the mechanics and the Canadian rules without any numbers.","minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]}},"cardName":{"description":"The card being considered for closure. Partial names are matched. Only meaningful alongside cards.","type":"string","maxLength":80},"today":{"description":"Today's date in the person's local timezone, yyyy-mm-dd. Pass it — the server otherwise falls back to UTC, which is a day ahead for Canadian evenings.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"explain_canadian_credit_mechanics","description":"Use this for a requested explanation of Canadian credit scores, reports, utilization, or reporting timing. Returns the Canada-specific mechanics of credit reporting, each entry leading with the correction to the common United States-based answer: the 300-900 scale and two-bureau market, statement-close versus due-date reporting, provincial rather than federal regulation, soft pulls and free-report rights, how utilization is read, and why open banking does not open up bureau data. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"topic":{"description":"A single topic id. Omit to get all of them.","type":"string","enum":["statement_close_vs_due_date","scores_and_scale","checking_your_own_file","regulation","open_banking","utilization"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"explain_missed_payment","description":"Use this for a missed, late, or nearly-late payment, or for \"how long will this hurt me\". Returns what happens when a Canadian credit card payment is missed: the roughly 30-day gap before it is reported at all, the Canadian R1-R9 rating scale a tradeline actually carries, and how long a reported late payment stays on the file. The Canadian answer differs from the American one on both the scale and the duration, and the 30-day gap is frequently actionable, because a payment caught inside it often never reaches the file. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"daysPastDue":{"description":"How many days past the due date the payment is, if known. Changes which part of the answer leads.","type":"integer","minimum":0,"maximum":9007199254740991}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"explain_retention_periods","description":"Use this for any \"how long will this stay on my credit report\" question. Returns retention periods on a Canadian credit file: closed accounts, late payments, collections, hard inquiries, bankruptcy, consumer proposals, judgments. Durations differ by information type, bureau, and province. Returns those distinctions and source links. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"explain_when_issuers_report","description":"Use this for \"when will this show up on my credit report\" or \"what day does my bank report\". Returns how the monthly reporting cadence works in Canada, how long a change takes to appear on a file, and why an Equifax file and a TransUnion file for the same person differ. This bundled reference has no verified per-issuer transmission calendar and returns no exact reporting day. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"find_statement_close_date","description":"Use this whenever someone does not know their statement closing date, or gives a payment due date and asks what to pay. Returns the ways to find the closing date of a Canadian credit card, the date every other tool here depends on and the one most people have never been shown. Give a payment due date and it also derives an estimate, because federally regulated issuers must allow at least a 21-day interest-free grace period measured from the close. It looks nothing up on any account; the estimate is arithmetic on the date supplied. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"dueDate":{"description":"A known payment due date, yyyy-mm-dd. Supplying it produces a derived estimate of the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"issuer":{"description":"The issuer, if known, e.g. \"TD\". Only used to tailor the wording — there is no per-issuer date table, because none is published.","type":"string","maxLength":80}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_credit_plan","description":"Use this when someone wants more than the next single action. Returns an ordered plan for one of three goals: raise_score, pay_down_balances, or build_credit. Safety steps come first (anything overdue, then imminent minimums), then goal steps, each with the specific action, the mechanism behind it, and a date. The plan is returned as text and structured data for the person to act on themselves; nothing is scheduled or executed. Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]},"description":"The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card — those three drive everything."},"goal":{"type":"string","enum":["raise_score","pay_down_balances","build_credit"],"description":"Which goal to plan for."},"today":{"description":"Today's date in the person's local timezone, yyyy-mm-dd. Pass it — the server otherwise falls back to UTC, which is a day ahead for Canadian evenings.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"targetUtilization":{"description":"Target utilization as a decimal. Defaults to 0.29 — one point under the 30% band.","type":"number","minimum":0.01,"maximum":0.95}},"required":["cards","goal"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_newcomer_credit_path","description":"Use this for any question about building credit as an immigrant, newcomer, international student, or temporary resident in Canada. Returns the ordered path for someone new to Canada: what to do before a SIN arrives, whether their home-country history can be imported and at which banks, how to get a first tradeline, and what accumulates after that. Supply the home country for a specific answer on credit import; coverage is partial, and several of the largest source countries for Canadian newcomers are not covered at all. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"homeCountry":{"description":"Country the person is arriving from, in English. Determines whether the credit-import route is open.","type":"string","maxLength":80},"monthsInCanada":{"description":"Roughly how long they have been in Canada, to focus the answer on the relevant phase.","type":"integer","minimum":0,"maximum":120}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_next_move","description":"Use this when someone asks what to pay first, what to do next, or how to lower utilization before it is reported. Returns the single highest-priority action from the card figures given in the conversation: which card, how much, and by which date. The calculation uses the supplied statement closing date as a planning assumption; actual issuer reporting dates can differ. Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]},"description":"The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card — those three drive everything."},"today":{"description":"Today's date in the person's local timezone, yyyy-mm-dd. Pass it — the server otherwise falls back to UTC, which is a day ahead for Canadian evenings.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"targetUtilization":{"description":"Target utilization as a decimal. Defaults to 0.29 — one point under the 30% band.","type":"number","minimum":0.01,"maximum":0.95}},"required":["cards"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_reported_snapshot","description":"Use this when someone asks how their cards look, where they stand, or which card is the problem. Returns utilization from supplied balances, days to the supplied closing date, and a hypothetical payment to reach the target. It does not determine future bureau-reported balances. This is the difference between today's balance and the figure the issuer transmits. Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]},"description":"The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card — those three drive everything."},"today":{"description":"Today's date in the person's local timezone, yyyy-mm-dd. Pass it — the server otherwise falls back to UTC, which is a day ahead for Canadian evenings.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"targetUtilization":{"description":"Target utilization as a decimal. Defaults to 0.29 — one point under the 30% band.","type":"number","minimum":0.01,"maximum":0.95}},"required":["cards"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_statement_calendar","description":"Use this when someone asks about timing, what is coming up, or why the closing date differs from the due date. Returns the upcoming dates in order: when to pay, when each statement closes (the bureau read), and when each payment is due (the delinquency line). Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]},"description":"The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card — those three drive everything."},"today":{"description":"Today's date in the person's local timezone, yyyy-mm-dd. Pass it — the server otherwise falls back to UTC, which is a day ahead for Canadian evenings.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"count":{"description":"How many events to return. Default 8.","type":"integer","minimum":1,"maximum":30}},"required":["cards"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_credit_building_products","description":"Use this to retrieve dated reference examples of Canadian secured cards and credit-building products. Confirm current terms and reporting arrangements with the provider. Returns the products available in Canada, grouped by how established they are, with which bureau each reports to. Single-bureau reporting is the detail most often missed: several well-known products report to Equifax only, which leaves the TransUnion file empty. Also flags the warning signs on upfront-fee credit repair and advertised-certainty lending. Returns bundled reference material, optionally filtered or calculated from inputs; does not fetch live data or change accounts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"tier":{"description":"Filter to one credibility tier. Omit for all.","type":"string","enum":["established","legitimate_but_costly","treat_with_caution"]}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"simulate_paydown","description":"Use this when someone asks what happens if they pay a particular amount, or wants to compare two amounts. Returns a what-if for a specific payment on a specific card before it closes: reported utilization before and after, per card and blended. No score change is predicted. It is a calculation only; no payment is made. Calculates scenarios from supplied figures; does not make payments, change accounts, fetch external data, or retain tool inputs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cards":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80,"description":"What the person calls this card, e.g. \"TD Cash Back Visa\" or \"the blue one\"."},"creditLimit":{"type":"number","minimum":0,"maximum":100000000,"description":"Credit limit in CAD. Use 0 for a charge card or any account with no set limit — it is then excluded from utilization."},"statementBalance":{"type":"number","minimum":0,"maximum":100000000,"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."},"currentBalance":{"description":"Today's balance, if it differs from the statement balance. Defaults to statementBalance.","type":"number","minimum":0,"maximum":100000000},"statementCloseDate":{"description":"The day the NEXT statement closes — the date the engine targets. Found on a statement or in online banking. If omitted, a placeholder 30 days out is assumed and flagged.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Payment due date for the current statement. Defaults to 21 days after the closing date.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minimumPayment":{"description":"The issuer's minimum payment. Omit if unknown — do not pass 0 to mean unknown.","type":"number","minimum":0,"maximum":100000000},"aprPercent":{"description":"Purchase APR as a percentage, e.g. 19.99. Omit when unknown. Never pass 0 to mean unknown — 0 is a real interest-free rate and cost estimates would understate what a balance costs.","type":"number","minimum":0,"maximum":100},"isOverdue":{"description":"True if a payment is past due right now.","type":"boolean"},"last4":{"description":"Last four digits, only to tell two similar cards apart. Optional and never required.","type":"string","maxLength":4}},"required":["name","creditLimit","statementBalance"]},"description":"The person's revolving credit accounts. Ask for limit, statement balance, and statement closing date per card — those three drive everything."},"cardName":{"type":"string","maxLength":80,"description":"Which card the payment goes on. Partial names are matched."},"amount":{"type":"number","exclusiveMinimum":0,"maximum":100000000,"description":"Payment amount in CAD, posting before that card's statement closes."},"today":{"description":"Today's date in the person's local timezone, yyyy-mm-dd. Pass it — the server otherwise falls back to UTC, which is a day ahead for Canadian evenings.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["cards","cardName","amount"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":60,"grade":"C","scanned_at":"2026-09-21T13:07:16.540Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T13:07:16.580Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 534ms"]},"poisoning":{"score":15,"max":15,"notes":["16 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.creditgps.ca/mcp","reachable":true,"authRequired":false,"latencyMs":534,"serverInfo":{"name":"creditgps","version":"0.3.1"}}],"packages":[],"repo":{"found":false,"owner":"creditgps","repo":"CreditGPS","error":"repo not found"},"icon":{"url":"https://mcp.creditgps.ca/icon.svg","source":"registry"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}