fintonic.com
Fintonic is a Spanish personal finance app for organizing money, comparing loans and insurance from over 50 providers, and avoiding overcharges by banks.
First seen 2026-10-12 · Last seen 2026-10-12 · Source: webmcp.com
Answer 1 · Act 2 · Transact 0 · Score: Not yet scored
Tool inspector
loan
Quote a Fintonic personal loan in Spain. Collects amount, duration, and the user's FinScore profile (ASNEF + employment + income + housing + other loan payments), maps the profile to a band, and shows the band-specific monthly installment in a result widget. After the result widget renders, the widget's CTA opens fintonic.com directly for the user to continue — your job is done at that point. This fits when the user mentions a loan, simulation, monthly payment, or amount/duration combination. For informational questions about how Fintonic, FinScore, ASNEF, OpenBanking, security, or the product work, `explain_fintonic` is the right tool; this one quotes a specific loan and collects FinScore inputs for the calculation rather than explaining concepts. INPUTS: a quote needs `amount`, `durationMonths`, `notInASNEF`, `laboralSituation`, `monthlyIncome`, `housingPayment`, `otherLoanPayments` (plus `laboralSituationConfidence`). Any subset can be supplied: pass whatever the user has stated and the flow asks for the rest through interrupts, one or two at a time, in their language. EXTRACTION: when the user states any of the input values, extract them into `stateUpdates` on the `start` call. Also extract `locale` — "en" if the user's latest message is in English, otherwise "es" (default Spanish). - `amount` (1,000–50,000 €), `durationMonths` (one of: 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96) - `notInASNEF` boolean — true means the user is NOT in the ASNEF registry (good); false means listed (blocked) - `laboralSituation` (Funcionario, Fijo, Temporal, Por obra y servicio, Fijo discontinuo, Autónomo, Interino, Pensionista, Desempleado, Becario, ND) — always paired with `laboralSituationConfidence` ("high" | "medium" | "low") so the system can clear and re-ask when you flag a guess. - `monthlyIncome` (net monthly income in €) - `housingPayment` (monthly rent OR mortgage payment; 0 if neither) - `otherLoanPayments` (sum of all other monthly loan/credit obligati…
Page: /es-ES/inicio/
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
action |
string | yes | "start" to begin the flow, "continue" to resume after a pause (interrupt or widget), "reset" to restart from the beginning with a correction to a previously-collected field |
intent |
string | no | Required when action is "start". Provide a brief summary of the user's goal for this flow. Do not invent missing intent. |
context |
string | no | Optional when action is "start". Describe the situation or environment that led the user to start this flow — e.g. what page they are on, what they were doing, or what triggered the request. Do not invent missing context. |
stateUpdates |
object | no | State field values to set before processing the next node. Pass the user's answer (keyed by the field name from the response) and any other values the user mentioned. For nested state fields, use dot-paths like "driver.name". |
sessionId |
string | no | Session identifier. If the response includes a `sessionId`, pass it back on every subsequent "continue" and "reset" call for this flow. |
Raw JSON schema
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"start",
"continue",
"reset"
],
"description": "\"start\" to begin the flow, \"continue\" to resume after a pause (interrupt or widget), \"reset\" to restart from the beginning with a correction to a previously-collected field"
},
"intent": {
"description": "Required when action is \"start\". Provide a brief summary of the user's goal for this flow. Do not invent missing intent.",
"type": "string"
},
"context": {
"description": "Optional when action is \"start\". Describe the situation or environment that led the user to start this flow — e.g. what page they are on, what they were doing, or what triggered the request. Do not invent missing context.",
"type": "string"
},
"stateUpdates": {
"description": "State field values to set before processing the next node. Pass the user's answer (keyed by the field name from the response) and any other values the user mentioned. For nested state fields, use dot-paths like \"driver.name\".",
"type": "object",
"properties": {
"amount": {
"description": "Loan amount in euros. Must be between 1000 and 50000. Values off the 500€ grid are rounded silently.",
"type": "number"
},
"durationMonths": {
"description": "Loan duration in months. Must be one of 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96. Off-grid values are rejected.",
"type": "number"
},
"locale": {
"description": "User interface language: \"es\" (Spanish, default) or \"en\" (English). Set based on the language of the user's latest message so widgets mirror it.",
"type": "string",
"enum": [
"es",
"en"
]
},
"notInASNEF": {
"description": "Whether the user is NOT listed in the ASNEF delinquency registry. True = not listed (qualifies); false = listed (blocked).",
"type": "boolean"
},
"laboralSituation": {
"description": "User's employment status. Must be one of: Funcionario, Fijo, Temporal, Por obra y servicio, Fijo discontinuo, Autónomo, Interino, Pensionista, Desempleado, Becario, ND",
"type": "string"
},
"laboralSituationConfidence": {
"description": "How confident the LLM is in the laboralSituation it picked. Output alongside laboralSituation. On low, the system clears the value and re-asks.",
"type": "string",
"enum": [
"high",
"medium",
"low"
]
},
"monthlyIncome": {
"description": "Net monthly income in euros.",
"type": "number"
},
"housingPayment": {
"description": "Monthly rent OR mortgage payment in euros (mutually exclusive). 0 if the user has neither.",
"type": "number"
},
"otherLoanPayments": {
"description": "Sum of the user's other monthly loan/credit obligations in euros (car, personal loans, credit cards, etc.). 0 if none.",
"type": "number"
},
"finscoreBand": {
"type": "string",
"enum": [
"600",
"700",
"<500",
">800"
]
},
"rejectReason": {
"type": "string",
"enum": [
"asnef",
"employment",
"no_offer"
]
},
"installment": {
"type": "number"
},
"tae": {
"type": "number"
}
},
"additionalProperties": {}
},
"sessionId": {
"description": "Session identifier. If the response includes a `sessionId`, pass it back on every subsequent \"continue\" and \"reset\" call for this flow.",
"type": "string"
}
},
"required": [
"action"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}
Similar websites
dashboard.orderly.network
Orderly dashboard
stockpilot-indol-chi.vercel.app
A WebMCP-powered trading terminal where humans and AI agents research markets, analyze SEC filings, and trade together — on real data.
app.ramp.com
Sign-in page for Ramp's finance platform, used to manage corporate cards, expenses and accounts payable.
famabook.com
famabook