Koskamo

Homes Loan Calculator MCP

A remote MCP server providing home loan calculation capabilities including EMI, eligibility, affordability, balance transfer, down payment, and rent-vs-buy analysis for users in India.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Homes Loan Calculator MCP logo, by Homes Loan CalculatorCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Homes Loan Calculator
MCP endpoint (Streamable HTTP)
https://homesloancalculator.in/mcp
Vendor documentation

What you can do with it

  • Calculate monthly EMI and total interest for a home loan
  • Determine maximum home loan eligibility based on income
  • Compare the financial outcome of renting versus buying a home
  • Analyze savings from transferring an existing home loan to a lower rate

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
homes-loan-calculator 1.0.0
MCP protocol
2025-06-18
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

6 advertised

emi
Advertised by the server during the last successful anonymous check.

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}

emi input schema
{
  "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"
    }
  }
}
sensitivity
Advertised by the server during the last successful anonymous check.

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}

sensitivity input schema
{
  "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"
    }
  }
}
eligibility
Advertised by the server during the last successful anonymous check.

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}

eligibility input schema
{
  "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
    }
  }
}
rentVsBuy
Advertised by the server during the last successful anonymous check.

Takes rent, price, down payment, loan terms and growth assumptions and returns the year-by-year net worth of buying against renting, with the break-even year. Example input: {"rent":30000,"rentGrowth":5,"price":8000000,"downPayment":1600000,"annualRate":8.5,"months":240,"appreciation":5,"investReturn":10,"years":20}

rentVsBuy input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "rent",
    "rentGrowth",
    "price",
    "downPayment",
    "annualRate",
    "months",
    "appreciation",
    "investReturn",
    "years"
  ],
  "properties": {
    "rent": {
      "type": "number",
      "minimum": 0,
      "description": "Current monthly rent in rupees"
    },
    "price": {
      "type": "number",
      "description": "Property price in rupees",
      "exclusiveMinimum": 0
    },
    "years": {
      "type": "integer",
      "maximum": 40,
      "minimum": 1,
      "description": "Years to compare over"
    },
    "months": {
      "type": "integer",
      "maximum": 480,
      "minimum": 6,
      "description": "Loan tenure in months"
    },
    "annualRate": {
      "type": "number",
      "maximum": 30,
      "minimum": 0.1,
      "description": "Annual interest rate in percent, for example 8.5"
    },
    "rentGrowth": {
      "type": "number",
      "maximum": 30,
      "minimum": 0,
      "description": "Yearly rent increase in percent"
    },
    "downPayment": {
      "type": "number",
      "minimum": 0,
      "description": "Down payment in rupees"
    },
    "appreciation": {
      "type": "number",
      "maximum": 30,
      "minimum": -20,
      "description": "Yearly property price growth in percent"
    },
    "investReturn": {
      "type": "number",
      "maximum": 40,
      "minimum": 0,
      "description": "Yearly return in percent if the down payment is invested instead"
    }
  }
}
balanceTransfer
Advertised by the server during the last successful anonymous check.

Takes the outstanding balance, months left, current and new rates and a fee and returns both EMIs, the net saving and the break-even months of a balance transfer. Example input: {"outstanding":4000000,"remainingMonths":180,"currentRate":9.25,"newRate":8.4,"processingFee":20000}

balanceTransfer input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "outstanding",
    "remainingMonths",
    "currentRate",
    "newRate"
  ],
  "properties": {
    "newRate": {
      "type": "number",
      "maximum": 30,
      "minimum": 0.1,
      "description": "New lender annual rate in percent"
    },
    "currentRate": {
      "type": "number",
      "maximum": 30,
      "minimum": 0.1,
      "description": "Current annual rate in percent"
    },
    "outstanding": {
      "type": "number",
      "description": "Outstanding loan balance in rupees",
      "exclusiveMinimum": 0
    },
    "processingFee": {
      "type": "number",
      "minimum": 0,
      "description": "One-time transfer fee in rupees (default 0)"
    },
    "remainingMonths": {
      "type": "integer",
      "maximum": 480,
      "minimum": 1,
      "description": "Months left on the current loan"
    }
  }
}
downPayment
Advertised by the server during the last successful anonymous check.

Takes a property price and returns the loan-to-value ratio, maximum loan, minimum down payment and approximate stamp duty plus registration. Example input: {"price":7500000}

downPayment input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "price"
  ],
  "properties": {
    "price": {
      "type": "number",
      "description": "Property price in rupees",
      "exclusiveMinimum": 0
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1142 ms
95th percentile latency
1142 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1142 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http homes-loan-calculator-mcp https://homesloancalculator.in/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add homes-loan-calculator-mcp --url https://homesloancalculator.in/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable homes-loan-calculator-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "homes-loan-calculator-mcp": {
      "url": "https://homesloancalculator.in/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "homes-loan-calculator-mcp": {
      "type": "streamableHttp",
      "url": "https://homesloancalculator.in/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start homes-loan-calculator-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "homes-loan-calculator-mcp": {
      "type": "http",
      "url": "https://homesloancalculator.in/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http homes-loan-calculator-mcp https://homesloancalculator.in/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "homes-loan-calculator-mcp": {
      "url": "https://homesloancalculator.in/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "homes-loan-calculator-mcp": {
      "serverUrl": "https://homesloancalculator.in/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Homes Loan Calculator MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.