# io.github.codespar/mcp-afip (npm · @codespar/mcp-afip)

AFIP — Argentine tax authority, electronic invoicing (Factura Electrónica)

- Trust score: 69/100 (medium)
- Change this week: +23
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

- npm · `@codespar/mcp-afip`: 69/100 (this document), [markdown](https://verifymcp.io/servers/codespar-mcp-afip/codespar-mcp-afip.md), [page](https://verifymcp.io/servers/codespar-mcp-afip/codespar-mcp-afip)

## Channel facts

- Registry: `npm`
- Package: `@codespar/mcp-afip`
- Version: `0.2.0-alpha.3`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-04.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 42 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1349 tokens (~67/item across 20 items; 20 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add codespar-mcp-afip -- npx -y @codespar/mcp-afip
```

### Codex

```bash
codex mcp add codespar-mcp-afip -- npx -y @codespar/mcp-afip
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "codespar-mcp-afip": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@codespar/mcp-afip"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add codespar-mcp-afip --command npx --arg -y --arg @codespar/mcp-afip
```

### Hermes

```yaml
mcp_servers:
  codespar-mcp-afip:
    command: "npx"
    args: ["-y", "@codespar/mcp-afip"]
```

### Other

```json
{
  "mcpServers": {
    "codespar-mcp-afip": {
      "command": "npx",
      "args": [
        "-y",
        "@codespar/mcp-afip"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-04 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-03 (score 68, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 64, +36)

- [security regression] Provenance: fail → unverified
- [security regression] Install scripts: pass → unverified
- [security improvement] Known CVEs: unverified → partial
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] License: pass → unverified
- [functional regression] Maintenance: pass → unverified
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Schema quality: unverified → good
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: MIT

### 2026-08-01 (score 28, +7)

- [security regression] Provenance: unverified → fail
- [security improvement] Malware scan: unverified → pass
- [security improvement] Install scripts: unverified → pass
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional] First check of Schema quality: unverified
- [functional] Licence: MIT

### 2026-07-31 (score 21, −25)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (20)

### `create_invoice` (~188 tokens)

Create an electronic invoice (Factura Electrónica) via AFIP

Input parameters:

- `amount_iva` (number): IVA tax amount
- `amount_net` (number): Net taxable amount
- `amount_total` (number, required): Total invoice amount
- `concept` (number, required): Concept (1=Products, 2=Services, 3=Both)
- `currency` (string): Currency code (PES=ARS, DOL=USD)
- `doc_number` (number, required): Document number of the customer
- `doc_type` (number, required): Document type (80=CUIT, 86=CUIL, 96=DNI, 99=Consumer Final)
- `invoice_type` (number, required): Invoice type code (1=A, 6=B, 11=C, etc.)
- `items` (array): Invoice line items
- `point_of_sale` (number, required): Punto de venta number

### `get_invoice` (~55 tokens)

Get invoice details by type, point of sale, and number

Input parameters:

- `invoice_number` (number, required): Invoice number
- `invoice_type` (number, required): Invoice type code
- `point_of_sale` (number, required): Punto de venta number

### `get_last_invoice_number` (~47 tokens)

Get last authorized invoice number for a point of sale and type

Input parameters:

- `invoice_type` (number, required): Invoice type code
- `point_of_sale` (number, required): Punto de venta number

### `get_cae_status` (~53 tokens)

Check CAE authorization status for an invoice

Input parameters:

- `invoice_number` (number, required): Invoice number
- `invoice_type` (number, required): Invoice type code
- `point_of_sale` (number, required): Punto de venta number

### `list_invoice_types` (~23 tokens)

List available invoice types (Factura A, B, C, etc.)

### `list_tax_types` (~25 tokens)

List available tax types (IVA, percepciones, retenciones, etc.)

### `get_server_status` (~20 tokens)

Check AFIP web-service availability (WSFE status)

### `get_authorized_points_of_sale` (~22 tokens)

List authorized puntos de venta for the CUIT

### `create_invoice_batch` (~84 tokens)

Create a batch of invoices in a single CAE request (FECAESolicitar, up to 250)

Input parameters:

- `invoice_type` (number, required): Invoice type code (1=A, 6=B, 11=C, etc.)
- `invoices` (array, required): Invoice records (max 250 per request)
- `point_of_sale` (number, required): Punto de venta number

### `create_credit_note` (~172 tokens)

Issue a credit note (Nota de Crédito A/B/C: types 3, 8, 13) referencing an original invoice

Input parameters:

- `amount_iva` (number): IVA amount
- `amount_net` (number): Net taxable amount
- `amount_total` (number, required): Total amount
- `concept` (number, required): Concept (1=Products, 2=Services, 3=Both)
- `currency` (string): Currency code
- `doc_number` (number, required): Customer document number
- `doc_type` (number, required): Customer document type
- `note_type` (number, required): Credit note type (3=A, 8=B, 13=C)
- `point_of_sale` (number, required): Punto de venta number
- `related_invoice` (object, required): Original invoice reference (CbtesAsoc)

### `create_debit_note` (~174 tokens)

Issue a debit note (Nota de Débito A/B/C: types 2, 7, 12) referencing an original invoice

Input parameters:

- `amount_iva` (number): IVA amount
- `amount_net` (number): Net taxable amount
- `amount_total` (number, required): Total amount
- `concept` (number, required): Concept (1=Products, 2=Services, 3=Both)
- `currency` (string): Currency code
- `doc_number` (number, required): Customer document number
- `doc_type` (number, required): Customer document type
- `note_type` (number, required): Debit note type (2=A, 7=B, 12=C)
- `point_of_sale` (number, required): Punto de venta number
- `related_invoice` (object, required): Original invoice reference (CbtesAsoc)

### `cancel_invoice` (~70 tokens)

Cancel/void an authorized invoice (FECancel — limited to certain types/conditions)

Input parameters:

- `invoice_number` (number, required): Invoice number
- `invoice_type` (number, required): Invoice type code
- `point_of_sale` (number, required): Punto de venta number
- `reason` (string): Optional cancellation reason

### `get_invoice_total_x_request` (~30 tokens)

Max number of records allowed per FECAESolicitar request (FECompTotXRequest)

### `list_concept_types` (~37 tokens)

List available concept types (FEParamGetTiposConcepto: 1=Products, 2=Services, 3=Both)

### `list_doc_types` (~44 tokens)

List document/identifier types (FEParamGetTiposDoc: 80=CUIT, 86=CUIL, 96=DNI, 99=Consumer Final)

### `list_iva_types` (~39 tokens)

List IVA tax aliquots (FEParamGetTiposIva: 21%, 10.5%, 27%, 0%, etc.)

### `list_currency_types` (~20 tokens)

List supported currencies (FEParamGetTiposMonedas)

### `get_currency_rate` (~64 tokens)

Get FX rate (cotización) for a currency vs ARS (FEParamGetCotizacion)

Input parameters:

- `currency` (string, required): Currency code (e.g. DOL for USD)
- `date` (string): Optional date YYYYMMDD; defaults to last business day

### `lookup_taxpayer` (~77 tokens)

Padrón lookup by CUIT (WS_SR_PADRON A4/A5/A13 — fiscal status, name, address)

Input parameters:

- `cuit` (string, required): CUIT/CUIL to query (11 digits)
- `scope` (string): Padrón scope: A4, A5, or A13 (default A5)

### `get_registration_certificate` (~38 tokens)

Get constancia de inscripción (registration certificate) for a CUIT

Input parameters:

- `cuit` (string, required): CUIT/CUIL (11 digits)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/codespar-mcp-afip/codespar-mcp-afip#diagnostics

## Score history

- 2026-08-04: 69
- 2026-08-03: 68
- 2026-08-02: 64
- 2026-08-01: 28
- 2026-07-31: 21
- 2026-07-30: 46
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/@codespar/mcp-afip
- Socket report: https://socket.dev/npm/package/@codespar/mcp-afip
- Repository: https://github.com/codespar/mcp-dev-latam
- Changelog RSS feed: https://verifymcp.io/servers/codespar-mcp-afip/codespar-mcp-afip/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/codespar-mcp-afip/codespar-mcp-afip/changelog.json
- HTML version of this page: https://verifymcp.io/servers/codespar-mcp-afip/codespar-mcp-afip
