io.github.aringad/fattureincloud-mcp

平台与服务

by aringad

基于 Fatture in Cloud 的意大利电子开票 MCP server,可创建发票、发送到 SDI 并管理客户。

什么是 io.github.aringad/fattureincloud-mcp

基于 Fatture in Cloud 的意大利电子开票 MCP server,可创建发票、发送到 SDI 并管理客户。

README

fattureincloud-mcp

PyPI License MCPB

<!-- mcp-name: io.github.aringad/fattureincloud-mcp -->

MCP server that connects Claude (Desktop, Code, or any MCP client) to FattureInCloud, the leading Italian SaaS for electronic invoicing. Manage invoices, credit notes, proformas, clients, suppliers, cost/revenue centers, and supplier expenses through natural language. Italy mandates B2B/B2C e-invoicing through the Sistema di Interscambio (SDI) — this server brings AI-assisted billing to that compliance-driven workflow.

⚠️ Unofficial integration. Not affiliated with, endorsed by, or sponsored by TeamSystem S.p.A., owner of the FattureInCloud trademark. The trademark is used here for descriptive purposes only.

Features (23 tools)

ToolDescription
list_invoicesList issued invoices / credit notes / proformas by year / month
get_invoiceFull document detail by ID
get_pdf_urlPDF URL and web link for a document
list_clientsList clients with optional filter
get_company_infoConnected company info
create_clientCreate a new client
update_clientUpdate an existing client
create_invoiceCreate a draft invoice (optional revenue_center)
create_credit_noteCreate a draft credit note (optional revenue_center)
create_proformaCreate a draft proforma (optional revenue_center)
convert_proforma_to_invoiceConvert a proforma into a draft electronic invoice (optional revenue_center)
update_documentPartial update of a draft document (optional revenue_center)
duplicate_invoiceDuplicate an invoice with a new date (optional revenue_center)
delete_invoiceDelete a draft document
send_to_sdiSend invoice / credit note to the Italian e-invoice system (SDI)
get_invoice_statusE-invoice status for a document
send_emailSend a courtesy copy by email
list_received_documentsList supplier documents (exposes cost_center when present)
get_received_documentFull detail of a received document by ID
create_received_documentCreate a passive document / expense (optional cost_center)
list_cost_centersList configured cost / revenue centers
get_situationYearly dashboard: net revenue, collected, outstanding, costs, margin
check_numerationVerify invoice numbering continuity

Marking payments as "paid" is intentionally not exposed: the FattureInCloud API requires a payment account that cannot be reliably retrieved through the SDK. Use the FattureInCloud web panel for that operation.

Installation

Option 1 — Claude Desktop (MCPB bundle, recommended)

  1. Download the latest fattureincloud.mcpb from the GitHub Releases page.
  2. Drag the .mcpb file onto Claude Desktop, or use Settings → Extensions → Install from file.
  3. When prompted, fill in your FattureInCloud API token, company ID, and (optional) sender email.

That's it — no Python setup, no virtualenv.

Option 2 — Manual install via PyPI

For Claude Code users or any MCP client that reads claude_desktop_config.json-style configuration:

bash
pip install fattureincloud-mcp

Then add to your MCP client configuration (for Claude Desktop, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows):

json
{
  "mcpServers": {
    "fattureincloud": {
      "command": "python",
      "args": ["-m", "fattureincloud_mcp"],
      "env": {
        "FIC_ACCESS_TOKEN": "a/xxxxx.yyyyy.zzzzz",
        "FIC_COMPANY_ID": "123456",
        "FIC_SENDER_EMAIL": "billing@yourcompany.com"
      }
    }
  }
}

Restart your MCP client after editing the config.

Configuration

Env varRequiredDescription
FIC_ACCESS_TOKENyesPersonal API access token (starts with a/)
FIC_COMPANY_IDyesNumeric company ID, visible in the URL when logged into FattureInCloud
FIC_SENDER_EMAILrequired for send_emailSender mailbox for courtesy copies
FIC_CACHE_DIRnoOverride cache directory (default ~/.fattureincloud-mcp/cache)
FIC_CACHE_DISABLEDnoSet to 1 to disable the local cache

How to get the FattureInCloud credentials: log into FattureInCloud, go to Settings → API and Integrations, create a Manual Token with the permissions you need. The COMPANY_ID is in the URL after /c/ once you select a company.

Usage examples

Example 1 — Create an invoice for a known client

"Find client 'Acme Srl' and create a draft invoice for €1,500 + VAT for consulting services in November 2026, payable in 30 days, on revenue center 'Project Alpha'."

Claude will:

  1. Call list_clients (cached) and pick the matching client
  2. Call list_cost_centers (cached) to validate Project Alpha exists
  3. Call create_invoice with client_id, items, dates, payment terms, and revenue_center="Project Alpha"
  4. Return the draft number and ask whether to send it to SDI

Example 2 — Cost-center analysis

"How much did I bill on the 'Project Alpha' revenue center in 2025? Break down by month."

Claude will:

  1. Call list_cost_centers to confirm the label
  2. Call list_invoices for year 2025 (the result includes revenue_center per invoice when set)
  3. Filter by revenue_center == "Project Alpha" and aggregate by month

Example 3 — Recurring invoices replay

"Duplicate every invoice issued to 'Recurring Customer Co' in October 2025, set the new dates in November, keep 30-day payment terms."

Claude will:

  1. Call list_invoices with query="Recurring Customer Co" and month=10, year=2025
  2. For each result, call duplicate_invoice with new_date set in November
  3. Return the list of new draft invoices and ask before sending

Caching

To minimize redundant calls to the FattureInCloud API, this server caches client lookups and the cost-centers list locally as JSON files (default location ~/.fattureincloud-mcp/cache/, scoped per company_id, 24-hour TTL). The cache is transparent: tool signatures don't change.

bash
# Force refresh:
rm -rf ~/.fattureincloud-mcp/cache

# Disable temporarily:
export FIC_CACHE_DISABLED=1

Cost / Revenue Centers

FattureInCloud uses one shared registry for cost centers (on supplier documents) and revenue centers (on issued documents). With this server you can:

  • list_cost_centers — read the registry
  • revenue_center="<label>" — assign on create_invoice, create_credit_note, create_proforma, convert_proforma_to_invoice, update_document, duplicate_invoice
  • cost_center="<label>" — assign on create_received_document

The label must already exist; centers are managed from FattureInCloud's web UI (Settings → Cost Centers). Passing an unknown label returns the list of valid labels in the error message.

Privacy & Data Handling

  • API calls go directly from your machine to FattureInCloud's servers (api-v2.fattureincloud.it). No data is routed through Mediaform or any third-party server.
  • The local cache is plaintext JSON in your home directory. You control it.
  • Credentials live only in your .env (gitignored), shell, or MCP client user_config. They are never logged or transmitted to anyone other than FattureInCloud.
  • Full Privacy Policy: https://media-form.it/privacy-policy.html
  • See also docs/PRIVACY.md for a mirrored copy of the policy.

Known issues

  • Invoice duplication may fail for some clients. A specific client configuration triggers a failure path that hasn't been reproduced yet. Workaround: duplicate manually from the FattureInCloud web panel. Tracked in docs/KNOWN_ISSUES.md — please report a reproducible case via GitHub issues.

Contributing

Issues and pull requests welcome at https://github.com/aringad/fattureincloud-mcp.

For any code change:

  1. Fork and branch from main (feat/..., fix/..., docs/...).
  2. Run pytest tests/ — all 39 tests must stay green.
  3. New code targeting cost-center / cache / new tools should ship with tests (target ≥80% coverage on new modules).
  4. Conventional commits style (feat:, fix:, docs:, chore:, test:).
  5. Open a PR. The maintainer reviews changes against the FattureInCloud API contract.

Security

For vulnerability disclosure see SECURITY.md. Preferred channel: GitHub Security Advisories.

License

MIT — see LICENSE.

Trademark

"FattureInCloud" is a trademark of TeamSystem S.p.A. This is an independent, community-built integration. It is not affiliated with, endorsed by, or sponsored by TeamSystem S.p.A. The trademark is used solely for descriptive purposes (to indicate the third-party service this software interoperates with).

Author / Support

常见问题

io.github.aringad/fattureincloud-mcp 是什么?

基于 Fatture in Cloud 的意大利电子开票 MCP server,可创建发票、发送到 SDI 并管理客户。

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描164.6k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描164.6k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描23.3k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.0k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
71.5k

评论