Codice Fiscale Subito

Compute, decode and verify the Italian codice fiscale; codici catastali of every era.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~875Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.68% 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": {
    "codice-fiscale": {
      "url": "https://codicefiscalesubito.it/api/mcp"
    }
  }
}

Remote endpoints

https://codicefiscalesubito.it/api/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢compute_codice_fiscale(surname, name, sex, birth_date, birth_place)

Compute the Italian codice fiscale (tax code) of a person from surname, name, sex, birth date and birth place, with the D.M. 23/12/1976 rules. The place can be a comune ('Roma', 'Castro (LE)'), a foreign state ('Francia') or a codice catastale ('H501'); the code valid on the birth date is used. Returns the 16 characters and why each group has its value. The Agenzia delle Entrate may assign an omocodic variant: only it confirms a code.

Input Schema

{
  "type": "object",
  "properties": {
    "surname": {
      "type": "string",
      "description": "Surname (cognome), as on the document.",
      "example": "Rossi"
    },
    "name": {
      "type": "string",
      "description": "Given name(s) (nome), all of them.",
      "example": "Mario"
    },
    "sex": {
      "type": "string",
      "description": "M or F.",
      "enum": [
        "M",
        "F"
      ],
      "example": "M"
    },
    "birth_date": {
      "type": "string",
      "description": "Birth date, YYYY-MM-DD (DD/MM/YYYY accepted).",
      "example": "1985-12-10"
    },
    "birth_place": {
      "type": "string",
      "description": "Comune (with province if ambiguous), foreign state, or codice catastale / Z-code.",
      "example": "Roma"
    }
  },
  "required": [
    "surname",
    "name",
    "sex",
    "birth_date",
    "birth_place"
  ],
  "additionalProperties": false
}
🟢decode_codice_fiscale(code)

Read back a codice fiscale: sex, birth date (one or two possible centuries), birth comune or foreign state valid on that date, the consonant codes of surname and name, and omocodia. The full name cannot be recovered from a code. Fails with the reason when the format or the check character is wrong.

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Codice fiscale, 16 characters (spaces and lowercase accepted).",
      "example": "RSSMRA85T10H501O"
    }
  },
  "required": [
    "code"
  ],
  "additionalProperties": false
}
🟢verify_codice_fiscale(code, surname, name)

Check that a codice fiscale is well formed, layer by layer: format, check character, a real birth date, a place code valid on that date, and optionally the surname and name letters. It says whether the code is written correctly, not whether the Agenzia delle Entrate has assigned it (only its own service does).

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Codice fiscale, 16 characters (spaces and lowercase accepted).",
      "example": "RSSMRA85T10H501O"
    },
    "surname": {
      "type": "string",
      "description": "Optional surname to match against characters 1-3.",
      "example": "Rossi"
    },
    "name": {
      "type": "string",
      "description": "Optional name to match against characters 4-6.",
      "example": "Mario"
    }
  },
  "required": [
    "code"
  ],
  "additionalProperties": false
}
🟢lookup_place(q, date)

Search the 15,000 comuni of every era and the foreign states of the ANPR archive by name or by code (codice catastale like H501, Z-code like Z110). Returns up to 20 places with their province and the dates their code was valid. Give a date to keep only the places valid on it.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Name ('Roma', 'Sant Angelo') or code ('H501', 'Z110').",
      "example": "Pola"
    },
    "date": {
      "type": "string",
      "description": "Optional date YYYY-MM-DD: only places valid on that day.",
      "example": "1940-06-02"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools