Mexican Payroll & Tax Calculator

Deterministic Mexican payroll & tax math: finiquito, ISR, aguinaldo, IMSS (2026 tables).

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,296Tokens (tool definitions)
~2.6 KBTypical response size
Moderate attention impact (1.01% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mx-fiscal": {
      "url": "https://fiscal.tinyapis.dev/mcp"
    }
  }
}

Remote endpoints

https://fiscal.tinyapis.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒calc_finiquito(termination_type, daily_salary, hire_date, termination_date, zone, ...)

Compute a Mexican finiquito/liquidaciΓ³n (severance) for a resignation or an unjustified dismissal: prorated christmas bonus, vacations, vacation premium, pending salary, and (for dismissal) 90-day + 20-day/year severance and the seniority premium, with Art. 93 exemptions and separation ISR. Do NOT compute this from memory β€” LFT bands, UMA exemptions, and the SDI integration factor are table-driven. Returns per-concept gross/exempt/taxable, totals, ISR, deductions, and net_total.

Input Schema

{
  "type": "object",
  "properties": {
    "termination_type": {
      "type": "string",
      "enum": [
        "dismissal",
        "resignation"
      ],
      "description": "Type of separation."
    },
    "daily_salary": {
      "type": "number",
      "description": "Daily salary (MXN)."
    },
    "hire_date": {
      "type": "string",
      "description": "Hire date, YYYY-MM-DD."
    },
    "termination_date": {
      "type": "string",
      "description": "Termination date, YYYY-MM-DD."
    },
    "zone": {
      "type": "string",
      "enum": [
        "general",
        "zlfn"
      ],
      "default": "general",
      "description": "Minimum-wage zone."
    },
    "vacation_proration": {
      "type": "string",
      "enum": [
        "anniversary",
        "calendar_year"
      ],
      "default": "anniversary",
      "description": "Vacation proration basis."
    },
    "prima_vacacional_pct": {
      "type": "number",
      "description": "Vacation premium percentage (defaults to the legal 25%)."
    },
    "pending_days": {
      "type": "integer",
      "default": 0,
      "description": "Unpaid worked days pending."
    },
    "include_20_days_per_year": {
      "type": "boolean",
      "default": true,
      "description": "Include the 20-day/year dismissal indemnity."
    },
    "monthly_ordinary_salary": {
      "type": "number",
      "description": "Monthly ordinary salary for ISR (defaults to daily x 30.4)."
    },
    "deductions": {
      "type": "array",
      "description": "Optional pass-through deductions.",
      "items": {
        "type": "object",
        "properties": {
          "concept": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        },
        "required": [
          "concept",
          "amount"
        ]
      }
    },
    "paid_in_january": {
      "type": "boolean",
      "default": false,
      "description": "January UMA boundary."
    },
    "year": {
      "type": "integer",
      "default": 2026,
      "description": "Tax-table year."
    }
  },
  "required": [
    "termination_type",
    "daily_salary",
    "hire_date",
    "termination_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟑calc_isr(income, period, paid_in_january, year)

Compute Mexican ISR (income tax) withholding for a monthly or annual income using the official SAT tables and employment subsidy. Do NOT estimate ISR from memory β€” brackets and subsidy change yearly and must come from this deterministic tool. Returns tax, subsidy_applied, withholding, the period, and the tax-table year used.

Input Schema

{
  "type": "object",
  "properties": {
    "income": {
      "type": "number",
      "description": "Gross income for the period (MXN)."
    },
    "period": {
      "type": "string",
      "enum": [
        "monthly",
        "annual"
      ],
      "default": "monthly",
      "description": "Tax period."
    },
    "paid_in_january": {
      "type": "boolean",
      "default": false,
      "description": "January UMA boundary (2025 vs 2026 tables)."
    },
    "year": {
      "type": "integer",
      "default": 2026,
      "description": "Tax-table year."
    }
  },
  "required": [
    "income"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒calc_aguinaldo(daily_salary, days_worked, aguinaldo_days, monthly_ordinary_salary, paid_in_january, ...)

Compute a Mexican aguinaldo (year-end bonus): gross, the UMA-based exempt portion, the taxable portion, its ISR, and the net. Minimum 15 days by law. Do NOT compute from memory β€” the exemption is UMA-indexed per year. Returns gross, taxable, exempt, isr, net, and the days used.

Input Schema

{
  "type": "object",
  "properties": {
    "daily_salary": {
      "type": "number",
      "description": "Daily salary (MXN)."
    },
    "days_worked": {
      "type": "integer",
      "description": "Days worked in the year."
    },
    "aguinaldo_days": {
      "type": "integer",
      "description": "Aguinaldo days (defaults to the legal 15)."
    },
    "monthly_ordinary_salary": {
      "type": "number",
      "description": "Monthly ordinary salary for ISR (defaults to daily x 30.4)."
    },
    "paid_in_january": {
      "type": "boolean",
      "default": false,
      "description": "January UMA boundary."
    },
    "year": {
      "type": "integer",
      "default": 2026,
      "description": "Tax-table year."
    }
  },
  "required": [
    "daily_salary",
    "days_worked"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟒calc_imss(rt_premium, daily_salary, seniority_years, sdi, days, ...)

Compute Mexican IMSS social-security contributions: the SDI (integrated daily wage by seniority) and SBC, plus employer/worker quotas for the five insurance branches. The work-risk premium (rt_premium) is an input. Provide either seniority_years (to derive the SDI) or an explicit sdi. Do NOT compute from memory β€” quota tables and UMA caps are table-driven. Returns sdi, sbc, employer_total, worker_total, grand_total, and a per-branch breakdown.

Input Schema

{
  "type": "object",
  "properties": {
    "rt_premium": {
      "type": "number",
      "description": "Work-risk premium (fraction, e.g. 0.005)."
    },
    "daily_salary": {
      "type": "number",
      "description": "Daily salary (MXN); with seniority_years derives the SDI."
    },
    "seniority_years": {
      "type": "integer",
      "description": "Completed years of seniority (for the SDI integration factor)."
    },
    "sdi": {
      "type": "number",
      "description": "Explicit integrated daily wage, if not deriving from salary."
    },
    "days": {
      "type": "integer",
      "default": 1,
      "description": "Number of days to bill."
    },
    "zone": {
      "type": "string",
      "enum": [
        "general",
        "zlfn"
      ],
      "default": "general",
      "description": "Minimum-wage zone."
    },
    "paid_in_january": {
      "type": "boolean",
      "default": false,
      "description": "January UMA boundary."
    },
    "year": {
      "type": "integer",
      "default": 2026,
      "description": "Tax-table year."
    }
  },
  "required": [
    "rt_premium"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools