A-Cube MCP by usefulapi

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

我該用這個嗎

品質與安全性

A
說明品質
95%
結構描述完整度
94%
命名品質
77%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(4)

  • LOWTool 'acube_list_invoice_notifications' name length outside 3-30 range在 acube_list_invoice_notifications 中
  • LOWTool 'acube_list_business_registry_configurations' name length outside 3-30 range在 acube_list_business_registry_configurations 中
  • LOWTool 'acube_get_business_registry_configuration' name length outside 3-30 range在 acube_get_business_registry_configuration 中
  • LOWTool 'acube_get_current_numbering_sequence' name length outside 3-30 range在 acube_get_current_numbering_sequence 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~5,077Token(工具定義)
~1.5 KB典型回應大小
顯著的注意力影響(128k 上下文的 3.97%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

https://acube.usefulapi.io/mcpstreamable-http

它能做什麼

工具清單

工具(24)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢acube_list_invoices(invoice_date_from, invoice_date_to, created_from, created_to, invoice_number, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "invoice_date_from": {
      "description": "Invoice date on or after this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "invoice_date_to": {
      "description": "Invoice date on or before this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "created_from": {
      "description": "Created in A-Cube on or after this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "created_to": {
      "description": "Created in A-Cube on or before this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "invoice_number": {
      "description": "Exact invoice number.",
      "type": "string",
      "maxLength": 40
    },
    "document_type": {
      "description": "SDI document type, e.g. TD01 (invoice), TD04 (credit note), TD17-TD19 (reverse-charge self-invoices).",
      "type": "string",
      "maxLength": 10
    },
    "sender_name": {
      "description": "Sender business name (partial match).",
      "type": "string",
      "maxLength": 120
    },
    "recipient_name": {
      "description": "Recipient business name (partial match).",
      "type": "string",
      "maxLength": 120
    },
    "sender_vat_number": {
      "description": "Sender VAT number code (digits, without the country prefix).",
      "type": "string",
      "maxLength": 30
    },
    "recipient_vat_number": {
      "description": "Recipient VAT number code (digits, without the country prefix).",
      "type": "string",
      "maxLength": 30
    },
    "signed": {
      "description": "Only signed (true) or unsigned (false) invoices.",
      "type": "boolean"
    },
    "downloaded": {
      "description": "Only invoices already downloaded (true) or not yet (false).",
      "type": "boolean"
    },
    "order_by": {
      "description": "Sort field (default invoice_date).",
      "type": "string",
      "enum": [
        "invoice_date",
        "invoice_number",
        "uuid"
      ]
    },
    "order": {
      "description": "Sort direction (default desc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "items_per_page": {
      "description": "Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_invoice(uuid, format)

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}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The invoice uuid (from acube_list_invoices)."
    },
    "format": {
      "description": "json (default) or xml.",
      "type": "string",
      "enum": [
        "json",
        "xml"
      ]
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_list_invoice_notifications(uuid)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The invoice uuid."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_notification(uuid)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The notification uuid (from acube_list_invoice_notifications)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_invoice_stats(year, fiscal_id)

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}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "minimum": 2000,
      "maximum": 2100,
      "description": "The year, e.g. 2026."
    },
    "fiscal_id": {
      "description": "Only this customer's fiscal id (a business registry configuration).",
      "type": "string",
      "maxLength": 30
    }
  },
  "required": [
    "year"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_list_draft_invoices(invoice_date_from, invoice_date_to, invoice_number, recipient_name, page, ...)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "invoice_date_from": {
      "description": "Invoice date on or after this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "invoice_date_to": {
      "description": "Invoice date on or before this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "invoice_number": {
      "description": "Exact invoice number.",
      "type": "string",
      "maxLength": 40
    },
    "recipient_name": {
      "description": "Recipient business name (partial match).",
      "type": "string",
      "maxLength": 120
    },
    "page": {
      "description": "Page number, from 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "items_per_page": {
      "description": "Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_draft_invoice(uuid)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The draft invoice uuid."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_validate_invoice(fattura_elettronica_header, fattura_elettronica_body)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "fattura_elettronica_header": {
      "description": "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 (seller and buyer) for a draft you intend to send: A-Cube only fills in transmission data automatically, and acube_validate_invoice shows what is missing.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "fattura_elettronica_body": {
      "minItems": 1,
      "maxItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      },
      "description": "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 names as in the A-Cube Italy API reference."
    }
  },
  "required": [
    "fattura_elettronica_body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡acube_create_draft_invoice(fattura_elettronica_header, fattura_elettronica_body)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "fattura_elettronica_header": {
      "description": "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 (seller and buyer) for a draft you intend to send: A-Cube only fills in transmission data automatically, and acube_validate_invoice shows what is missing.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "fattura_elettronica_body": {
      "minItems": 1,
      "maxItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      },
      "description": "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 names as in the A-Cube Italy API reference."
    }
  },
  "required": [
    "fattura_elettronica_body"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴acube_send_draft_invoice(uuid, confirm)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The draft invoice uuid."
    },
    "confirm": {
      "description": "Must be true to actually send. Otherwise the draft is returned as a preview.",
      "type": "boolean"
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴acube_delete_draft_invoice(uuid, confirm)

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}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The draft invoice uuid."
    },
    "confirm": {
      "description": "Must be true to actually delete. Otherwise the draft is returned as a preview.",
      "type": "boolean"
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_list_receipts(fiscal_id, document_number, status, type, document_date_from, ...)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "fiscal_id": {
      "description": "Only this business's receipts (its fiscal id).",
      "type": "string",
      "maxLength": 30
    },
    "document_number": {
      "description": "Exact receipt document number.",
      "type": "string",
      "maxLength": 40
    },
    "status": {
      "description": "Receipt status, as shown in the list.",
      "type": "string",
      "maxLength": 30
    },
    "type": {
      "description": "Receipt type, e.g. sale, void, return.",
      "type": "string",
      "maxLength": 30
    },
    "document_date_from": {
      "description": "Receipt date on or after this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "document_date_to": {
      "description": "Receipt date on or before this day.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "page": {
      "description": "Page number, from 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "items_per_page": {
      "description": "Items per page, 1 to 100 (default 30). A full page means there may be more: ask for the next page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_receipt(uuid)

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}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The receipt uuid (from acube_list_receipts)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_receipt_details(uuid)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The receipt uuid (from acube_list_receipts)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_list_business_registry_configurations(fiscal_id, name, email, supplier_invoice_enabled, receipts_enabled, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "fiscal_id": {
      "description": "Exact fiscal id.",
      "type": "string",
      "maxLength": 30
    },
    "name": {
      "description": "Business name (partial match).",
      "type": "string",
      "maxLength": 120
    },
    "email": {
      "description": "Contact email.",
      "type": "string",
      "maxLength": 254
    },
    "supplier_invoice_enabled": {
      "description": "Only businesses that receive supplier invoices (true) or not (false).",
      "type": "boolean"
    },
    "receipts_enabled": {
      "description": "Only businesses with electronic receipts on (true) or off (false).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "items_per_page": {
      "description": "Items per page, 1 to 100 (default 30). A full page means there may be more: ask for the next page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_business_registry_configuration(fiscal_id)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "fiscal_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The business's fiscal id (codice fiscale or partita IVA)."
    }
  },
  "required": [
    "fiscal_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_list_webhooks(fiscal_id, page, items_per_page)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "fiscal_id": {
      "description": "Only webhooks of this business (fiscal id).",
      "type": "string",
      "maxLength": 30
    },
    "page": {
      "description": "Page number, from 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "items_per_page": {
      "description": "Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_list_numbering_sequences(sequence_name, year, page, items_per_page)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "sequence_name": {
      "description": "Only this sequence name.",
      "type": "string",
      "maxLength": 60
    },
    "year": {
      "description": "Only this year.",
      "type": "integer",
      "minimum": 2000,
      "maximum": 2100
    },
    "page": {
      "description": "Page number, from 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "items_per_page": {
      "description": "Items per page, 1 to 100 (default 30). A full page means there may be more: ask for the next page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_current_numbering_sequence(name)

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}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The sequence name."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_list_jobs(status, job_type, fiscal_id, page, items_per_page)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Only jobs in this status.",
      "type": "string",
      "enum": [
        "ready",
        "started",
        "completed",
        "error"
      ]
    },
    "job_type": {
      "description": "Only this job type.",
      "type": "string",
      "enum": [
        "invoice-download",
        "invoice-report-download",
        "invoice-zip-download",
        "f24-download",
        "daily-receipt-report-download"
      ]
    },
    "fiscal_id": {
      "description": "Only this business's jobs.",
      "type": "string",
      "maxLength": 30
    },
    "page": {
      "description": "Page number, from 1 (default 1).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "items_per_page": {
      "description": "Items per page, 1 to 30 (default 30). A full page means there may be more: ask for the next page.",
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_job(uuid)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The job uuid (from acube_list_jobs)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_verify_fiscal_id(id)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The fiscal id or VAT number to check, e.g. 12345678901."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_verify_company(id, check_split_payment)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120,
      "description": "The company's VAT number or fiscal id."
    },
    "check_split_payment": {
      "description": "Also tell whether the company is subject to split payment.",
      "type": "boolean"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢acube_get_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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本24 個工具