amortization

Loan and lease schedules: payment, interest, early settlement and the journal, to the minor unit.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
90%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,212Tokens (definiciones de herramientas)
~2.0 KBTamaño de respuesta típico
Impacto moderado en la atención (1.73% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "amortization": {
      "command": "uvx",
      "args": [
        "https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/amortization.mcpb"
      ]
    }
  }
}

Paquetes ejecutables

mcpbhttps://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/amortization.mcpb0.22.0stdio

Puntos de conexión remotos

https://mcp.zovo.one/mcp/amortizationstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡loan_create(name, principal_minor, currency, rate_bps, compounding, ...)

Record a loan or lease and return its id, level payment and effective annual rate. principal_minor, fees and balloon are whole MINOR units; rate_bps is the nominal annual rate in basis points. Free: 3 agreements.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "description": "What this agreement is, e.g. Van finance or Office lease"
    },
    "principal_minor": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000000000000,
      "description": "Amount borrowed, in whole minor units (integer cents). 1,000,000 is EUR 10,000.00"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "ISO code the agreement is denominated in"
    },
    "rate_bps": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000,
      "description": "Nominal annual interest rate in basis points. 1200 is 12 percent. Zero is allowed"
    },
    "compounding": {
      "type": "string",
      "enum": [
        "weekly",
        "fortnightly",
        "monthly",
        "quarterly",
        "semiannual",
        "annual"
      ],
      "description": "How often interest compounds"
    },
    "payment_frequency": {
      "type": "string",
      "enum": [
        "weekly",
        "fortnightly",
        "monthly",
        "quarterly",
        "semiannual",
        "annual"
      ],
      "description": "How often a payment falls due"
    },
    "term_periods": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "Number of payment periods, not years"
    },
    "method": {
      "type": "string",
      "enum": [
        "annuity",
        "straight-principal"
      ],
      "description": "annuity for a level payment, straight-principal for equal principal and a falling payment"
    },
    "start_date": {
      "type": "string",
      "maxLength": 10,
      "description": "Drawdown date, YYYY-MM-DD. The first payment falls one period after it"
    },
    "fees_minor": {
      "type": "integer",
      "minimum": 0,
      "description": "Arrangement fees in whole minor units, paid at drawdown. Default 0"
    },
    "balloon_minor": {
      "type": "integer",
      "minimum": 0,
      "description": "Final balloon or residual value in whole minor units, due with the last payment and not inside it. Default 0"
    },
    "kind": {
      "type": "string",
      "enum": [
        "loan",
        "lease"
      ],
      "description": "Default \"loan\""
    },
    "lender": {
      "type": "string",
      "maxLength": 200,
      "description": "Who the money is owed to"
    },
    "note": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "name",
    "principal_minor",
    "currency",
    "rate_bps",
    "compounding",
    "payment_frequency",
    "term_periods",
    "method",
    "start_date"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪loan_schedule(loan, from_period, limit, year)

Build one loan's schedule: opening balance, payment, interest, principal and closing per period, with total interest. The last period absorbs rounding, landing exactly on the balloon or zero. loans_report totals it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "loan": {
      "type": "string",
      "maxLength": 200,
      "description": "The loan id, e.g. LOAN-2026-0001, or its exact name"
    },
    "from_period": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "First period to return. Default 1"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "Maximum rows, default and ceiling 600"
    },
    "year": {
      "type": "string",
      "maxLength": 4,
      "description": "Only the periods falling in this calendar year, YYYY"
    }
  },
  "required": [
    "loan"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪loan_repay_early(loan, as_of_period, extra_minor, penalty_minor, keep_payment, ...)

Work out what settling or overpaying costs as of a period: the outstanding balance, the penalty if one is given, the recalculated remaining schedule and the interest saved, stated gross and net of the penalty. Pro.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "loan": {
      "type": "string",
      "maxLength": 200,
      "description": "The loan id, e.g. LOAN-2026-0001, or its exact name"
    },
    "as_of_period": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "The period the extra money is paid at the end of. Period 1 is the first payment"
    },
    "extra_minor": {
      "type": "integer",
      "minimum": 1,
      "description": "A partial overpayment in whole minor units. Omit to settle the loan in full"
    },
    "penalty_minor": {
      "type": "integer",
      "minimum": 0,
      "description": "Early repayment charge in whole minor units. Default 0"
    },
    "keep_payment": {
      "type": "boolean",
      "description": "On a partial overpayment, keep the same payment and shorten the term. Default false, which keeps the term and lowers the payment"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "Maximum remaining rows to return, ceiling 600"
    }
  },
  "required": [
    "loan",
    "as_of_period"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡loan_journal(loan, period, month, interest_account, liability_account, ...)

Return the double entry for one payment period or month: debit interest expense and loan liability, credit cash, in the cash book's account names, with an expense_add-ready payload. Give period or month, not both. Pro.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "loan": {
      "type": "string",
      "maxLength": 200,
      "description": "The loan id, e.g. LOAN-2026-0001, or its exact name"
    },
    "period": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "The payment period to journal. Give this or month"
    },
    "month": {
      "type": "string",
      "maxLength": 7,
      "description": "Journal every payment falling in this month, YYYY-MM. Give this or period"
    },
    "interest_account": {
      "type": "string",
      "maxLength": 200,
      "description": "Debit account for the interest. Default \"interest_expense\""
    },
    "liability_account": {
      "type": "string",
      "maxLength": 200,
      "description": "Debit account for the principal. Default \"loan_liability\""
    },
    "cash_account": {
      "type": "string",
      "maxLength": 200,
      "description": "Credit account for the payment. Default \"cash\""
    },
    "category": {
      "type": "string",
      "maxLength": 200,
      "description": "Expense category for the expense_add payload. Default \"interest\""
    }
  },
  "required": [
    "loan"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢loan_list(currency, kind, as_of, limit)

List the register with terms, level payment, effective annual rate and, at as_of, periods paid, balance outstanding, interest to date and the next payment, totalled per currency. Free; loans_report is the Pro roll-up.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Only agreements in this currency"
    },
    "kind": {
      "type": "string",
      "enum": [
        "loan",
        "lease"
      ],
      "description": "Only loans, or only leases"
    },
    "as_of": {
      "type": "string",
      "maxLength": 10,
      "description": "Value the register at this date, YYYY-MM-DD. Default today"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "Maximum rows, default and ceiling 600"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴loan_delete(loan)

Remove one loan or lease from the register and give its free-tier slot back. Refused, with the entry named, if a journal has already been taken from it. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "loan": {
      "type": "string",
      "maxLength": 200,
      "description": "The loan id, e.g. LOAN-2026-0001, or its exact name"
    }
  },
  "required": [
    "loan"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢loans_report(as_of, year, currency)

The debt at as_of: per loan what is outstanding, whether it is settled, the next payment, and the interest and principal charged in a year, then totals per currency. Contractual balance, not cash paid. Pro.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "as_of": {
      "type": "string",
      "maxLength": 10,
      "description": "Value the debt at this date, YYYY-MM-DD. Default today"
    },
    "year": {
      "type": "string",
      "maxLength": 4,
      "description": "The calendar year to total the interest for, YYYY. Default the year of as_of"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Za-z]{3}$",
      "description": "Only agreements in this currency"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢license_status

Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪license_activate(key)

Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "License key from checkout, MCPL1.<payload>.<signature>"
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas