Free home loan EMI, eligibility, stamp duty and tax benefit calculators for India.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Takes net monthly income, existing EMIs, annual rate and tenure and returns the maximum EMI and home loan amount a borrower qualifies for. Example input: {"netMonthlyIncome":150000,"existingEmis":10000,"annualRate":8.5,"years":20}
Annual interest rate in percent, for example 8.5
Net monthly take-home income in rupees
Share of income a bank lets all EMIs take, 0.1 to 1 (default 0.5)
Loan tenure in years (0.5 to 40). Give months or years.
Loan tenure in months (6 to 480). Give months or years.
Total EMIs already paid each month in rupees (default 0)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http homeloanscalculator https://homeloanscalculator.in/mcp
Takes net monthly income, existing EMIs, annual rate and tenure and returns the maximum EMI and home loan amount a borrower qualifies for. Example input: {"netMonthlyIncome":150000,"existingEmis":10000,"annualRate":8.5,"years":20}
| Argument | Type | Description |
|---|---|---|
| foir | number | Share of income a bank lets all EMIs take, 0.1 to 1 (default 0.5) |
| years | number | Loan tenure in years (0.5 to 40). Give months or years. |
| months | integer | Loan tenure in months (6 to 480). Give months or years. |
| annualRate* | number | Annual interest rate in percent, for example 8.5 |
| existingEmis | number | Total EMIs already paid each month in rupees (default 0) |
| netMonthlyIncome* | number | Net monthly take-home income in rupees |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"netMonthlyIncome",
"annualRate"
],
"properties": {
"foir": {
"type": "number",
"maximum": 1,
"minimum": 0.1,
"description": "Share of income a bank lets all EMIs take, 0.1 to 1 (default 0.5)"
},
"years": {
"type": "number",
"maximum": 40,
"minimum": 0.5,
"description": "Loan tenure in years (0.5 to 40). Give months or years."
},
"months": {
"type": "integer",
"maximum": 480,
"minimum": 6,
"description": "Loan tenure in months (6 to 480). Give months or years."
},
"annualRate": {
"type": "number",
"maximum": 30,
"minimum": 0.1,
"description": "Annual interest rate in percent, for example 8.5"
},
"existingEmis": {
"type": "number",
"minimum": 0,
"description": "Total EMIs already paid each month in rupees (default 0)"
},
"netMonthlyIncome": {
"type": "number",
"description": "Net monthly take-home income in rupees",
"exclusiveMinimum": 0
}
}
}Takes a loan amount, annual rate and tenure, plus optional prepayments or a rate change, and returns the monthly EMI, total interest and year-by-year schedule for an Indian home loan. Example input: {"principal":5000000,"annualRate":8.5,"years":20}
| Argument | Type | Description |
|---|---|---|
| mode | string | What prepayment shortens: reduceTenure (default) or reduceEMI |
| years | number | Loan tenure in years (0.5 to 40). Give months or years. |
| months | integer | Loan tenure in months (6 to 480). Give months or years. |
| monthly | boolean | Set true to include the month-by-month schedule in the result |
| lumpSums | array | One-time prepayments as a list of { month, amount }, or a string like "12:100000,24:50000" |
| principal* | number | Loan amount in rupees |
| rateReset | object | A floating-rate change part-way through the loan |
| annualRate* | number | Annual interest rate in percent, for example 8.5 |
| extraMonthly | number |
Takes a loan amount, annual rate and tenure and returns how the EMI and total interest change when the rate moves up or down by small steps. Example input: {"principal":5000000,"annualRate":8.5,"years":20}
| Argument | Type | Description |
|---|---|---|
| years | number | Loan tenure in years (0.5 to 40). Give months or years. |
| deltas | array | Rate changes in percentage points to test, for example [-1, -0.5, 0.5, 1] |
| months | integer | Loan tenure in months (6 to 480). Give months or years. |
| principal* | number | Loan amount in rupees |
| annualRate* | number | Annual interest rate in percent, for example 8.5 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"principal",
"annualRate"
],
"properties": {
"years": {
"type": "number",
"maximum": 40,
"minimum": 0.5,
"description": "Loan tenure in years (0.5 to 40). Give months or years."
},
"deltas": {
"type": "array",
"items": {
"type": "number"
},
"description": "Rate changes in percentage points to test, for example [-1, -0.5, 0.5, 1]"
},
"months": {
"type": "integer",
"maximum": 480,
"minimum": 6,
"description": "Loan tenure in months (6 to 480). Give months or years."
},
"principal": {
"type": "number",
"maximum": 1000000000,
"minimum": 100000,
"description": "Loan amount in rupees"
},
"annualRate": {
"type": "number",
"maximum": 30,
"minimum": 0.1,
"description": "Annual interest rate in percent, for example 8.5"
}
}
}Takes a property value, buyer gender and a state rate row and returns the stamp duty, registration fee, cess and total for a property purchase. Example input: {"propertyValue":8000000,"gender":"female","state":"maharashtra"}
| Argument | Type | Description |
|---|---|---|
| state* | string | State slug: maharashtra, karnataka, delhi, tamil-nadu, telangana, uttar-pradesh, gujarat, west-bengal, haryana, rajasthan |
| gender | string | Buyer gender; women may get a lower rate in some states |
| propertyValue* | number | Property value in rupees |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"propertyValue",
"state"
],
"properties": {
"state": {
"type": "string",
"description": "State slug: maharashtra, karnataka, delhi, tamil-nadu, telangana, uttar-pradesh, gujarat, west-bengal, haryana, rajasthan"
},
"gender": {
"enum": [
"male",
"female"
],
"type": "string",
"description": "Buyer gender; women may get a lower rate in some states"
},
"propertyValue": {
"type": "number",
"description": "Property value in rupees",
"exclusiveMinimum": 0
}
}
}Takes a loan amount, annual rate, tenure and tax slab and returns the Section 80C and 24(b) deductions and the tax saved in a given repayment year. Example input: {"principal":5000000,"annualRate":8.5,"years":20,"slabRate":0.3}
| Argument | Type | Description |
|---|---|---|
| year | integer | Repayment year to compute for (default 1) |
| years | number | Loan tenure in years (0.5 to 40). Give months or years. |
| months | integer | Loan tenure in months (6 to 480). Give months or years. |
| slabRate* | number | Income tax slab rate as a fraction, for example 0.3 |
| principal* | number | Loan amount in rupees |
| annualRate* | number | Annual interest rate in percent, for example 8.5 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"principal",
"annualRate",
"slabRate"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Repayment year to compute for (default 1)"
},
"years": {
"type": "number",
"maximum": 40,
"minimum": 0.5,
"description": "Loan tenure in years (0.5 to 40). Give months or years."
},
"months": {
"type": "integer",
"maximum": 480,
"minimum": 6,
"description": "Loan tenure in months (6 to 480). Give months or years."
},
"slabRate": {
"type": "number",
"maximum": 0.3,
"minimum": 0,
"description": "Income tax slab rate as a fraction, for example 0.3"
},
"principal": {
"type": "number",
"maximum": 1000000000,
"minimum": 100000,
"description": "Loan amount in rupees"
},
"annualRate": {
"type": "number",
"maximum": 30,
"minimum": 0.1,
"description": "Annual interest rate in percent, for example 8.5"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
| Extra rupees prepaid every month |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"principal",
"annualRate"
],
"properties": {
"mode": {
"enum": [
"reduceTenure",
"reduceEMI"
],
"type": "string",
"description": "What prepayment shortens: reduceTenure (default) or reduceEMI"
},
"years": {
"type": "number",
"maximum": 40,
"minimum": 0.5,
"description": "Loan tenure in years (0.5 to 40). Give months or years."
},
"months": {
"type": "integer",
"maximum": 480,
"minimum": 6,
"description": "Loan tenure in months (6 to 480). Give months or years."
},
"monthly": {
"type": "boolean",
"description": "Set true to include the month-by-month schedule in the result"
},
"lumpSums": {
"type": "array",
"items": {
"type": "object",
"required": [
"month",
"amount"
],
"properties": {
"month": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
}
}
},
"description": "One-time prepayments as a list of { month, amount }, or a string like \"12:100000,24:50000\""
},
"principal": {
"type": "number",
"maximum": 1000000000,
"minimum": 100000,
"description": "Loan amount in rupees"
},
"rateReset": {
"type": "object",
"required": [
"afterMonth",
"newRate"
],
"properties": {
"mode": {
"enum": [
"reduceTenure",
"reduceEMI"
],
"type": "string",
"description": "reduceTenure (default) or reduceEMI"
},
"newRate": {
"type": "number",
"maximum": 30,
"minimum": 0.1,
"description": "New annual rate in percent"
},
"afterMonth": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Month after which the new rate applies"
}
},
"description": "A floating-rate change part-way through the loan"
},
"annualRate": {
"type": "number",
"maximum": 30,
"minimum": 0.1,
"description": "Annual interest rate in percent, for example 8.5"
},
"extraMonthly": {
"type": "number",
"minimum": 0,
"description": "Extra rupees prepaid every month"
}
}
}