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 rangeacube_list_invoice_notifications 内
  • LOWTool 'acube_list_business_registry_configurations' name length outside 3-30 rangeacube_list_business_registry_configurations 内
  • LOWTool 'acube_get_business_registry_configuration' name length outside 3-30 rangeacube_get_business_registry_configuration 内
  • LOWTool 'acube_get_current_numbering_sequence' name length outside 3-30 rangeacube_get_current_numbering_sequence 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~5,077トークン数(ツール定義)
~1.5 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 3.97%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件