# A-Cube MCP by usefulapi (remote · acube.usefulapi.io)

Read Italian invoices, receipts and SDI notices; validate, prepare and submit agreed drafts.

- Trust score: 18/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- remote · `acube.usefulapi.io`: 18/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-acube/acube.md), [page](https://verifymcp.io/servers/io-usefulapi-acube/acube)

## Channel facts

- Endpoint: `https://acube.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.7.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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-11-04.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the A-Cube MCP by usefulapi server?

A-Cube MCP by usefulapi is a hosted endpoint at https://acube.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-acube 'https://acube.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-acube": {
      "url": "https://acube.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-acube": {
      "type": "http",
      "url": "https://acube.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-acube]
url = "https://acube.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-acube": {
      "type": "remote",
      "url": "https://acube.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-acube --url 'https://acube.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-acube:
    url: "https://acube.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-acube": {
      "Transport": "http",
      "Url": "https://acube.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-acube -t streamable-http -u 'https://acube.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-acube": {
      "type": "http",
      "url": "https://acube.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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-11-01 (score 18, −47)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-10-31 (score 65)

First indexed and scored.

## MCP tools (24)

### `acube_list_invoices` (~374 tokens)

List invoices

Sent and received Italian e-invoices (SDI) of the account: uuid, invoice number and date, document type (TD01...), sender and recipient, amounts, marking and notification status. Filter by date, number, document type, party name or VAT number. GET /invoices.

Input parameters:

- `created_from` (string): Created in A-Cube on or after this day.
- `created_to` (string): Created in A-Cube on or before this day.
- `document_type` (string): SDI document type, e.g. TD01 (invoice), TD04 (credit note), TD17-TD19 (reverse-charge self-invoices).
- `downloaded` (boolean): Only invoices already downloaded (true) or not yet (false).
- `invoice_date_from` (string): Invoice date on or after this day.
- `invoice_date_to` (string): Invoice date on or before this day.
- `invoice_number` (string): Exact invoice number.
- `items_per_page` (integer): Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.
- `order` (string): Sort direction (default desc).
- `order_by` (string): Sort field (default invoice_date).
- `page` (integer): Page number, from 1 (default 1).
- `recipient_name` (string): Recipient business name (partial match).
- `recipient_vat_number` (string): Recipient VAT number code (digits, without the country prefix).
- `sender_name` (string): Sender business name (partial match).
- `sender_vat_number` (string): Sender VAT number code (digits, without the country prefix).
- `signed` (boolean): Only signed (true) or unsigned (false) invoices.

### `acube_get_invoice` (~81 tokens)

Get an invoice

One invoice by uuid: metadata plus the FatturaPA JSON payload (parties, lines, VAT, payment), or the XML file sent to the SDI. GET /invoices/{uuid}.

Input parameters:

- `format` (string): json (default) or xml.
- `uuid` (string, required): The invoice uuid (from acube_list_invoices).

### `acube_list_invoice_notifications` (~75 tokens)

List an invoice's SDI notifications

The SDI notifications of one invoice (delivery receipt RC, rejection NS, outcome NE, failed delivery MC, deadline expiry DT...), with their type, date and status: how you tell whether an invoice was delivered or rejected. GET /invoices/{uuid}/notifications.

Input parameters:

- `uuid` (string, required): The invoice uuid.

### `acube_get_notification` (~44 tokens)

Get an SDI notification

One SDI notification by uuid, with its payload. GET /notifications/{uuid}.

Input parameters:

- `uuid` (string, required): The notification uuid (from acube_list_invoice_notifications).

### `acube_get_invoice_stats` (~87 tokens)

Get invoice statistics

Counters of invoices and notifications for a year (annual; monthly or daily detail only if A-Cube activated it), for the whole account or one fiscal id. GET /invoices/stats/{year}.

Input parameters:

- `fiscal_id` (string): Only this customer's fiscal id (a business registry configuration).
- `year` (integer, required): The year, e.g. 2026.

### `acube_list_draft_invoices` (~154 tokens)

List draft invoices

Draft invoices that were created but not yet sent to the SDI. Same filters as acube_list_invoices. GET /invoices/draft.

Input parameters:

- `invoice_date_from` (string): Invoice date on or after this day.
- `invoice_date_to` (string): Invoice date on or before this day.
- `invoice_number` (string): Exact invoice number.
- `items_per_page` (integer): Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.
- `page` (integer): Page number, from 1 (default 1).
- `recipient_name` (string): Recipient business name (partial match).

### `acube_get_draft_invoice` (~47 tokens)

Get a draft invoice

One draft invoice by uuid, with its FatturaPA JSON content. GET /invoices/draft/{uuid}.

Input parameters:

- `uuid` (string, required): The draft invoice uuid.

### `acube_validate_invoice` (~216 tokens)

Validate an invoice (no save)

Checks an invoice against the FatturaPA rules without creating or sending anything; returns the validation result or A-Cube's errors. POST /invoices/validate.

Input parameters:

- `fattura_elettronica_body` (array, required): Exactly one invoice body (an array with one object), snake_case keys: dati_generali (dati_generali_documento...), dati_beni_servizi (dettaglio_linee, dati_riepilogo), optional dati_pagamento. Field n…
- `fattura_elettronica_header` (object): FatturaPA header as A-Cube JSON (snake_case keys): dati_trasmissione (codice_destinatario, pec_destinatario), cedente_prestatore (seller), cessionario_committente (buyer). Give the full header (selle…

### `acube_create_draft_invoice` (~241 tokens)

Create a draft invoice

WRITE: saves a new invoice as a DRAFT in A-Cube. Nothing is sent to the SDI until acube_send_draft_invoice. Not idempotent: calling it twice creates two drafts. Validate first with acube_validate_invoice. POST /invoices/draft.

Input parameters:

- `fattura_elettronica_body` (array, required): Exactly one invoice body (an array with one object), snake_case keys: dati_generali (dati_generali_documento...), dati_beni_servizi (dettaglio_linee, dati_riepilogo), optional dati_pagamento. Field n…
- `fattura_elettronica_header` (object): FatturaPA header as A-Cube JSON (snake_case keys): dati_trasmissione (codice_destinatario, pec_destinatario), cedente_prestatore (seller), cessionario_committente (buyer). Give the full header (selle…

### `acube_send_draft_invoice` (~130 tokens)

Send a draft invoice to the SDI

WRITE: accepts a draft and transmits it to the Sistema di Interscambio. This is a legal act: a sent e-invoice cannot be recalled (only corrected with a credit note) and may be billed by A-Cube. Without confirm: true it only returns the draft for review. Show the draft to the user and get their explicit OK first. POST /invoices/draft/{uuid}/send.

Input parameters:

- `confirm` (boolean): Must be true to actually send. Otherwise the draft is returned as a preview.
- `uuid` (string, required): The draft invoice uuid.

### `acube_delete_draft_invoice` (~83 tokens)

Delete a draft invoice

WRITE: permanently deletes a draft invoice (a draft only: a sent invoice answers 409). Without confirm: true it only returns the draft. DELETE /invoices/draft/{uuid}.

Input parameters:

- `confirm` (boolean): Must be true to actually delete. Otherwise the draft is returned as a preview.
- `uuid` (string, required): The draft invoice uuid.

### `acube_list_receipts` (~190 tokens)

List electronic receipts

Electronic commercial receipts (scontrini) with number, date, status, type (sale, void, return) and totals. GET /receipts.

Input parameters:

- `document_date_from` (string): Receipt date on or after this day.
- `document_date_to` (string): Receipt date on or before this day.
- `document_number` (string): Exact receipt document number.
- `fiscal_id` (string): Only this business's receipts (its fiscal id).
- `items_per_page` (integer): Items per page, 1 to 100 (default 30). A full page means there may be more: ask for the next page.
- `page` (integer): Page number, from 1 (default 1).
- `status` (string): Receipt status, as shown in the list.
- `type` (string): Receipt type, e.g. sale, void, return.

### `acube_get_receipt` (~71 tokens)

Get an electronic receipt

One electronic receipt by uuid: type, status, number, date, total and links to voiding or returned receipts (no line items: use acube_get_receipt_details). GET /receipts/{uuid}.

Input parameters:

- `uuid` (string, required): The receipt uuid (from acube_list_receipts).

### `acube_get_receipt_details` (~53 tokens)

Get electronic receipt details

The line items and VAT, discount and taxable totals of one electronic receipt. GET /receipts/{uuid}/details.

Input parameters:

- `uuid` (string, required): The receipt uuid (from acube_list_receipts).

### `acube_list_business_registry_configurations` (~182 tokens)

List business registry configurations

The businesses (fiscal ids) set up on the account, with which services are on: customer invoices, supplier invoices, receipts, signature, legal storage. GET /business-registry-configurations.

Input parameters:

- `email` (string): Contact email.
- `fiscal_id` (string): Exact fiscal id.
- `items_per_page` (integer): Items per page, 1 to 100 (default 30). A full page means there may be more: ask for the next page.
- `name` (string): Business name (partial match).
- `page` (integer): Page number, from 1 (default 1).
- `receipts_enabled` (boolean): Only businesses with electronic receipts on (true) or off (false).
- `supplier_invoice_enabled` (boolean): Only businesses that receive supplier invoices (true) or not (false).

### `acube_get_business_registry_configuration` (~61 tokens)

Get a business registry configuration

One business by fiscal id: name, email, enabled services and its webhook configurations. GET /business-registry-configurations/{fiscalId}.

Input parameters:

- `fiscal_id` (string, required): The business's fiscal id (codice fiscale or partita IVA).

### `acube_list_webhooks` (~111 tokens)

List webhook configurations

The webhooks (events and target URLs) configured on the account. Authentication keys and tokens are never returned. GET /api-configurations.

Input parameters:

- `fiscal_id` (string): Only webhooks of this business (fiscal id).
- `items_per_page` (integer): Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.
- `page` (integer): Page number, from 1 (default 1).

### `acube_list_numbering_sequences` (~107 tokens)

List numbering sequences

The invoice numbering sequences (name, year, last number). GET /numbering-sequences.

Input parameters:

- `items_per_page` (integer): Items per page, 1 to 100 (default 30). A full page means there may be more: ask for the next page.
- `page` (integer): Page number, from 1 (default 1).
- `sequence_name` (string): Only this sequence name.
- `year` (integer): Only this year.

### `acube_get_current_numbering_sequence` (~60 tokens)

Get the current numbering sequence

The sequence now in use for a sequence name. Its number is the LAST number used: the next invoice gets that number plus one. GET /numbering-sequences/current/{name}.

Input parameters:

- `name` (string, required): The sequence name.

### `acube_list_jobs` (~133 tokens)

List background jobs

Background jobs (invoice, report and zip downloads, F24 and daily receipt report downloads) with status ready, started, completed or error. GET /jobs.

Input parameters:

- `fiscal_id` (string): Only this business's jobs.
- `items_per_page` (integer): Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.
- `job_type` (string): Only this job type.
- `page` (integer): Page number, from 1 (default 1).
- `status` (string): Only jobs in this status.

### `acube_get_job` (~43 tokens)

Get a background job

One background job by uuid with its status and result. GET /jobs/{uuid}.

Input parameters:

- `uuid` (string, required): The job uuid (from acube_list_jobs).

### `acube_verify_fiscal_id` (~56 tokens)

Check a fiscal id

Checks whether a codice fiscale or partita IVA is valid. GET /verify/fiscal-id/{id}.

Input parameters:

- `id` (string, required): The fiscal id or VAT number to check, e.g. 12345678901.

### `acube_verify_company` (~74 tokens)

Look up an Italian company

Basic registry data of an Italian company by VAT number (name, address, status), optionally with the split-payment check. GET /verify/company/{id}.

Input parameters:

- `check_split_payment` (boolean): Also tell whether the company is subject to split payment.
- `id` (string, required): The company's VAT number or fiscal id.

### `acube_get_recipient_code` (~47 tokens)

Get the SDI recipient code

The account's 7-character SDI recipient code (codice destinatario), the address customers put on invoices they send to you. GET /users/me/recipient-code.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-acube/acube#diagnostics

## Score history

- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 18
- 2026-10-31: 65

## Common questions

### What is the A-Cube MCP by usefulapi server?

A-Cube MCP by usefulapi is listed in the public MCP registry as io.usefulapi/acube. Read Italian invoices, receipts and SDI notices; validate, prepare and submit agreed drafts. This page covers its hosted endpoint (https://acube.usefulapi.io/mcp).

### Is the A-Cube MCP by usefulapi server safe to use?

A-Cube MCP by usefulapi scores 18 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the A-Cube MCP by usefulapi server expose?

A-Cube MCP by usefulapi exposes 24 tools: acube_list_invoices, acube_get_invoice, acube_list_invoice_notifications, acube_get_notification, acube_get_invoice_stats, and 19 more. Their descriptions and schemas cost roughly 2,720 tokens of context every time the server is loaded.

### Does the A-Cube MCP by usefulapi server require authentication?

Its publisher declares no required credentials for A-Cube MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the A-Cube MCP by usefulapi server still maintained?

A-Cube MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://acube.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/acube/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-acube/acube.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-acube/acube.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-acube/acube
