Credit GPS · Schema
Creditgps Ca Mcp Tools List
CompanyCredit ScorePersonal FinanceFintechCanadaCredit CardsFinancial Education
JSON Schema
{
"result": {
"tools": [
{
"name": "get_next_move",
"title": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 those three drive everything."
},
"today": {
"description": "Today's date in the person's local timezone, yyyy-mm-dd. Pass it \u2014 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 \u2014 one point under the 30% band.",
"type": "number",
"minimum": 0.01,
"maximum": 0.95
}
},
"required": [
"cards"
]
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
},
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"move": {
"type": "object",
"properties": {
"accountName": {
"type": "string"
},
"amount": {
"type": "number"
},
"dueByDate": {
"type": "string"
},
"reason": {
"type": "string",
"enum": [
"cross_score_band",
"avoid_delinquency",
"clear_overdue",
"hold"
]
},
"projectedUtilization": {
"type": "number"
},
"rationale": {
"type": "string"
}
},
"required": [
"accountName",
"amount",
"dueByDate",
"reason",
"projectedUtilization",
"rationale"
],
"additionalProperties": false
},
"currentUtilization": {
"type": "number"
},
"forecast": {
"type": "null",
"description": "No validated score prediction is available."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"disclosure": {
"type": "string"
}
},
"required": [
"move",
"currentUtilization",
"forecast",
"assumptions",
"disclosure"
],
"additionalProperties": false
}
},
{
"name": "get_reported_snapshot",
"title": "Calculate utilization from supplied balances",
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 those three drive everything."
},
"today": {
"description": "Today's date in the person's local timezone, yyyy-mm-dd. Pass it \u2014 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 \u2014 one point under the 30% band.",
"type": "number",
"minimum": 0.01,
"maximum": 0.95
}
},
"required": [
"cards"
]
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
},
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"cards": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"reportedBalance": {
"type": "number"
},
"creditLimit": {
"type": "number"
},
"utilization": {
"type": "number"
},
"band": {
"type": "string",
"enum": [
"good",
"elevated",
"high"
]
},
"statementCloseDate": {
"type": "string"
},
"daysUntilClose": {
"type": "number"
},
"payToTarget": {
"type": [
"number",
"null"
]
},
"minimumPayment": {
"type": "number"
},
"dueDate": {
"type": "string"
},
"daysUntilDue": {
"type": "number"
},
"isOverdue": {
"type": "boolean"
}
},
"required": [
"name",
"reportedBalance",
"creditLimit",
"utilization",
"band",
"statementCloseDate",
"daysUntilClose",
"payToTarget",
"minimumPayment",
"dueDate",
"daysUntilDue",
"isOverdue"
],
"additionalProperties": false
}
},
"totalReported": {
"type": "number"
},
"totalLimit": {
"type": "number"
},
"blendedUtilization": {
"type": "number"
},
"band": {
"type": "string",
"enum": [
"good",
"elevated",
"high"
]
},
"isEmpty": {
"type": "boolean"
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"disclosure": {
"type": "string"
}
},
"required": [
"cards",
"totalReported",
"totalLimit",
"blendedUtilization",
"band",
"isEmpty",
"assumptions",
"disclosure"
],
"additionalProperties": false
}
},
{
"name": "get_statement_calendar",
"title": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 those three drive everything."
},
"today": {
"description": "Today's date in the person's local timezone, yyyy-mm-dd. Pass it \u2014 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"
]
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
},
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"pay_by",
"statement_close",
"payment_due"
]
},
"accountName": {
"type": "string"
},
"label": {
"type": "string"
},
"amount": {
"type": [
"number",
"null"
]
},
"daysAway": {
"type": "number"
}
},
"required": [
"date",
"kind",
"accountName",
"label",
"amount",
"daysAway"
],
"additionalProperties": false
}
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"disclosure": {
"type": "string"
}
},
"required": [
"events",
"assumptions",
"disclosure"
],
"additionalProperties": false
}
},
{
"name": "simulate_paydown",
"title": "What a payment does to reported utilization",
"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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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 \u2014 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"
]
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
},
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"cardName": {
"type": "string"
},
"amount": {
"type": "number"
},
"cardUtilizationBefore": {
"type": "number"
},
"cardUtilizationAfter": {
"type": "number"
},
"cardBandBefore": {
"type": "string",
"enum": [
"good",
"elevated",
"high"
]
},
"cardBandAfter": {
"type": "string",
"enum": [
"good",
"elevated",
"high"
]
},
"blendedBefore": {
"type": "number"
},
"blendedAfter": {
"type": "number"
},
"payBeforeDate": {
"type": "string"
},
"forecast": {
"type": "null",
"description": "No validated score prediction is available."
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"disclosure": {
"type": "string"
}
},
"required": [
"cardName",
"amount",
"cardUtilizationBefore",
"cardUtilizationAfter",
"cardBandBefore",
"cardBandAfter",
"blendedBefore",
"blendedAfter",
"payBeforeDate",
"forecast",
"assumptions",
"disclosure"
],
"additionalProperties": false
}
},
{
"name": "compare_cards_for_purchase",
"title": "Which card for this 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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/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 \u2014 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 \u2014 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}$"
},
"minimum
# --- truncated at 32 KB (86 KB total) ---
# Full source: https://artifacts.apis.io/creditgps-ca/json-schema/creditgps-ca-mcp-tools-list.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/creditgps-ca-mcp-tools-list"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.