Make rent receipts for HRA in India as one print-ready PDF.
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.
Use this when the user wants rent receipts for HRA (rent receipt format for India) as a print-ready PDF: one receipt per month for a financial year (April to March) or a date range, 2 or 3 per A4 page plus a summary page. Put the user's details into the fields (monthly_rent, tenant_name, landlord_name, property_address, financial_year or from/to, rent_changes, payment_mode); details is only a fallback for pasted text. Handles rent changes, part months by calendar days, amounts in words in the Indian system, Hindi and other Indian scripts, a revenue stamp box for cash above Rs 5,000, and a landlord PAN line when the year's rent is above Rs 1,00,000. Does not compute the HRA exemption or tax and does not take the landlord's PAN. Do not use for rent agreements or for tracking unpaid rent.
Optional last month or move-out date, e.g. "2026-03" or "10/03/2026". Default: 31 March of the same financial year.
Optional first month or move-in date, e.g. "2025-04", "June 2025" or "15/06/2025" (day first). A date after the 1st makes a part-month receipt with rent by days.
Fallback only: the user's details pasted as text, e.g. "Tenant: Rajesh Kumar; Landlord: Sunita Iyer; Rent: 15000; FY 2025-26; UPI". Prefer the fields above.
Charge part months by days (default true). false charges the full month.
Part-month rent rounding: "rupee" (default, nearest rupee) or "paise".
"A4" (default) or "Letter".
Day of the month printed as the receipt date, e.g. 5 or "last". Default: the first day of each rent period.
Tenant (employee) name as it should print, any script, e.g. "Rajesh Kumar" or "राजेश कुमार".
Monthly rent in rupees, e.g. 15000, "Rs 15,000", "₹18.5k" or "1.2 lakh". Required unless rent_changes gives every rent.
How rent was paid: "cash", "UPI", "bank transfer", "NEFT", "cheque". Cash above Rs 5,000 gets a revenue stamp box. Default: a blank line to fill in.
Rent changes inside the period: [{"from":"2025-10","rent":16500}], or text like "16,500 from October 2025" or "Apr-Sep 15000, Oct-Mar 16500". Text with any other number in it is refused; send objects then.
Landlord name, e.g. "Sunita Iyer".
Indian financial year (April to March), e.g. "2025-26" or "FY 2025-26". Default: the current financial year. AY 2026-27 is read as FY 2025-26.
Optional receipt number prefix, e.g. "RR-". Default numbers are per financial year, e.g. 2025-26/01.
Address of the rented property, e.g. "Flat 302, Shanti Apartments, 14 MG Road, Bengaluru 560001".
2 or 3 receipts per page (default 3).
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http rent-receipts https://rent-receipts.zovo.one/mcp
Use this when the user wants rent receipts for HRA (rent receipt format for India) as a print-ready PDF: one receipt per month for a financial year (April to March) or a date range, 2 or 3 per A4 page plus a summary page. Put the user's details into the fields (monthly_rent, tenant_name, landlord_name, property_address, financial_year or from/to, rent_changes, payment_mode); details is only a fallback for pasted text. Handles rent changes, part months by calendar days, amounts in words in the Indian system, Hindi and other Indian scripts, a revenue stamp box for cash above Rs 5,000, and a landlord PAN line when the year's rent is above Rs 1,00,000. Does not compute the HRA exemption or tax and does not take the landlord's PAN. Do not use for rent agreements or for tracking unpaid rent.
| Argument | Type | Description |
|---|---|---|
| to | string | null | Optional last month or move-out date, e.g. "2026-03" or "10/03/2026". Default: 31 March of the same financial year. |
| from | string | null | Optional first month or move-in date, e.g. "2025-04", "June 2025" or "15/06/2025" (day first). A date after the 1st makes a part-month receipt with rent by days. |
| details | string | null | Fallback only: the user's details pasted as text, e.g. "Tenant: Rajesh Kumar; Landlord: Sunita Iyer; Rent: 15000; FY 2025-26; UPI". Prefer the fields above. |
| prorate | boolean | string | null | Charge part months by days (default true). false charges the full month. |
| rounding | string | null | Part-month rent rounding: "rupee" (default, nearest rupee) or "paise". |
| page_size | string | null | "A4" (default) or "Letter". |
| payment_day | number | string | null | Day of the month printed as the receipt date, e.g. 5 or "last". Default: the first day of each rent period. |
| tenant_name | string | null | Tenant (employee) name as it should print, any script, e.g. "Rajesh Kumar" or "राजेश कुमार". |
| monthly_rent | number | string | null | Monthly rent in rupees, e.g. 15000, "Rs 15,000", "₹18.5k" or "1.2 lakh". Required unless rent_changes gives every rent. |
| payment_mode | string | null | How rent was paid: "cash", "UPI", "bank transfer", "NEFT", "cheque". Cash above Rs 5,000 gets a revenue stamp box. Default: a blank line to fill in. |
| rent_changes | any | Rent changes inside the period: [{"from":"2025-10","rent":16500}], or text like "16,500 from October 2025" or "Apr-Sep 15000, Oct-Mar 16500". Text with any other number in it is refused; send objects then. |
| landlord_name | string | null | Landlord name, e.g. "Sunita Iyer". |
| financial_year | string | number | null | Indian financial year (April to March), e.g. "2025-26" or "FY 2025-26". Default: the current financial year. AY 2026-27 is read as FY 2025-26. |
| receipt_prefix | string | null | Optional receipt number prefix, e.g. "RR-". Default numbers are per financial year, e.g. 2025-26/01. |
| property_address | string | null | Address of the rented property, e.g. "Flat 302, Shanti Apartments, 14 MG Road, Bengaluru 560001". |
| receipts_per_page | number | string | null | 2 or 3 receipts per page (default 3). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": [
"string",
"null"
],
"description": "Optional last month or move-out date, e.g. \"2026-03\" or \"10/03/2026\". Default: 31 March of the same financial year."
},
"from": {
"type": [
"string",
"null"
],
"description": "Optional first month or move-in date, e.g. \"2025-04\", \"June 2025\" or \"15/06/2025\" (day first). A date after the 1st makes a part-month receipt with rent by days."
},
"details": {
"type": [
"string",
"null"
],
"description": "Fallback only: the user's details pasted as text, e.g. \"Tenant: Rajesh Kumar; Landlord: Sunita Iyer; Rent: 15000; FY 2025-26; UPI\". Prefer the fields above."
},
"prorate": {
"type": [
"boolean",
"string",
"null"
],
"description": "Charge part months by days (default true). false charges the full month."
},
"rounding": {
"type": [
"string",
"null"
],
"description": "Part-month rent rounding: \"rupee\" (default, nearest rupee) or \"paise\"."
},
"page_size": {
"type": [
"string",
"null"
],
"description": "\"A4\" (default) or \"Letter\"."
},
"payment_day": {
"type": [
"number",
"string",
"null"
],
"description": "Day of the month printed as the receipt date, e.g. 5 or \"last\". Default: the first day of each rent period."
},
"tenant_name": {
"type": [
"string",
"null"
],
"description": "Tenant (employee) name as it should print, any script, e.g. \"Rajesh Kumar\" or \"राजेश कुमार\"."
},
"monthly_rent": {
"type": [
"number",
"string",
"null"
],
"description": "Monthly rent in rupees, e.g. 15000, \"Rs 15,000\", \"₹18.5k\" or \"1.2 lakh\". Required unless rent_changes gives every rent."
},
"payment_mode": {
"type": [
"string",
"null"
],
"description": "How rent was paid: \"cash\", \"UPI\", \"bank transfer\", \"NEFT\", \"cheque\". Cash above Rs 5,000 gets a revenue stamp box. Default: a blank line to fill in."
},
"rent_changes": {
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"to": {
"type": [
"string",
"null"
],
"description": "Optional last month at this rent, e.g. \"2026-03\"."
},
"from": {
"type": [
"string",
"null"
],
"description": "First month at this rent, e.g. \"2025-10\" or \"October 2025\"."
},
"rent": {
"type": [
"number",
"string",
"null"
],
"description": "Monthly rent in rupees from that month, e.g. 16500."
},
"month": {
"type": [
"string",
"null"
],
"description": "One month only (an override), e.g. \"2025-12\"."
},
"payment_mode": {
"type": [
"string",
"null"
],
"description": "Optional payment mode from that month, e.g. \"cash\" or \"UPI\"."
}
},
"additionalProperties": {}
}
]
}
},
{
"type": "string"
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
]
},
{
"type": "null"
}
],
"description": "Rent changes inside the period: [{\"from\":\"2025-10\",\"rent\":16500}], or text like \"16,500 from October 2025\" or \"Apr-Sep 15000, Oct-Mar 16500\". Text with any other number in it is refused; send objects then."
},
"landlord_name": {
"type": [
"string",
"null"
],
"description": "Landlord name, e.g. \"Sunita Iyer\"."
},
"financial_year": {
"type": [
"string",
"number",
"null"
],
"description": "Indian financial year (April to March), e.g. \"2025-26\" or \"FY 2025-26\". Default: the current financial year. AY 2026-27 is read as FY 2025-26."
},
"receipt_prefix": {
"type": [
"string",
"null"
],
"description": "Optional receipt number prefix, e.g. \"RR-\". Default numbers are per financial year, e.g. 2025-26/01."
},
"property_address": {
"type": [
"string",
"null"
],
"description": "Address of the rented property, e.g. \"Flat 302, Shanti Apartments, 14 MG Road, Bengaluru 560001\"."
},
"receipts_per_page": {
"type": [
"number",
"string",
"null"
],
"description": "2 or 3 receipts per page (default 3)."
}
}
}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 Nov 8, 2026.