FattureInCloud MCP
MCP server for the Fatture in Cloud API v2 that lets Claude read and manage issued and received documents (invoices, credit notes, quotes, expenses, etc.) via CRUD operations.
README
FattureInCloud MCP
MCP (Model Context Protocol) server for the Fatture in Cloud API v2. Lets Claude (Code / Desktop / any MCP client) read and manage (CRUD) issued documents (invoices, credit notes, quotes...) and received documents (expenses, passive credit notes...).
Two transports over the same tools: stdio as a local child process, and Streamable HTTP for a shared deployment that keeps no credentials of its own.
Tools
| Tool | Description |
|---|---|
list_companies |
Companies accessible with the token (source of company_id) |
get_company_info |
Config lookups: VAT types, payment methods/accounts, expense categories |
list_issued_documents |
Paginated list of issued documents, one type per call (default invoice) |
get_issued_document |
Full detail of a single issued document |
list_received_documents |
Paginated list of received documents (default expense) |
get_received_document |
Full detail of a single received document |
create_issued_document |
Create an invoice, credit note, quote... |
update_issued_document |
Update an issued document (partial: only the fields passed) |
delete_issued_document |
Delete an issued document (irreversible) |
create_received_document |
Create an expense or other received document |
update_received_document |
Update a received document (partial) |
delete_received_document |
Delete a received document (irreversible) |
upload_attachment |
Upload a local file, returns an attachment_token to bind via create/update |
delete_document_attachment |
Remove a document's attachment (FIC API currently 500s here, see docs) |
See docs/api.md for parameters, payload shapes and API quirks. List tools support:
q— Fatture in Cloud filter language, e.g.date >= '2026-01-01' and date <= '2026-06-30',entity.name like '%acme%',amount_gross > 1000sort— e.g.-date(descending)page/per_page(min 5, max 100) — responses includecurrent_page,last_page,totalfieldset—basic(compact, default for lists) ordetailed(includes line items)
Setup
npm install
npm run build
Authentication
Two values, wherever they come from:
FIC_ACCESS_TOKEN(required) — a manual access token: generate it from the Fatture in Cloud developer area selecting the read scopes for issued and received documents. Manual tokens never expire (revocable from the same page).FIC_COMPANY_ID(optional) — default company ID; if unset, tools require an explicitcompany_idargument (discover it withlist_companies).
Over stdio they are environment variables of the server process. Over HTTP they are the X-FIC-Token and X-FIC-Company headers of each request, so the deployed instance stores neither.
Configuration templates for Claude Code, Claude Desktop and opencode, local stdio and remote HTTP, are in examples/.
Claude Code
A project-scoped .mcp.json (gitignored) holds the credentials. From any other directory:
claude mcp add --scope user fattureincloud -e FIC_ACCESS_TOKEN=<token> -e FIC_COMPANY_ID=<id> -- node <repo>\dist\index.js
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"fattureincloud": {
"command": "node",
"args": ["<repo>\\dist\\index.js"],
"env": {
"FIC_ACCESS_TOKEN": "<token>",
"FIC_COMPANY_ID": "<id>"
}
}
}
}
Remote (Streamable HTTP)
dist/http.js serves the same tools over HTTP and takes the credentials from the X-FIC-Token and X-FIC-Company request headers instead of the environment, so the host running it stores no secret. ./scripts/deploy.ps1 installs it as a systemd service on a remote machine — see docs/deploy.md.
Extending
The API surface is small on purpose. To add endpoints (clients, suppliers, products, receipts, taxes, cashbook...), follow the pattern in src/server.ts: one registerTool per action calling ficGet from src/fic.ts. The full OpenAPI spec lives at fattureincloud/openapi-fattureincloud.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.