Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Italian e-invoicing with Fatture in Cloud. Create, send to SDI, manage clients.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
FIC_ACCESS_TOKEN, FIC_COMPANY_ID, FIC_SENDER_EMAILValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"fattureincloud": {
"command": "uvx",
"args": [
"fattureincloud-mcp"
],
"env": {
"FIC_ACCESS_TOKEN": "your-value",
"FIC_COMPANY_ID": "your-value",
"FIC_SENDER_EMAIL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add fattureincloud --env FIC_ACCESS_TOKEN=your-value --env FIC_COMPANY_ID=your-value --env FIC_SENDER_EMAIL=your-value -- uvx fattureincloud-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"fattureincloud": {
"command": "uvx",
"args": [
"fattureincloud-mcp"
],
"env": {
"FIC_ACCESS_TOKEN": "your-value",
"FIC_COMPANY_ID": "your-value",
"FIC_SENDER_EMAIL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"fattureincloud": {
"type": "stdio",
"command": "uvx",
"args": [
"fattureincloud-mcp"
],
"env": {
"FIC_ACCESS_TOKEN": "your-value",
"FIC_COMPANY_ID": "your-value",
"FIC_SENDER_EMAIL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
FIC_SENDER_EMAIL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account aringad, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: FIC_ACCESS_TOKEN, FIC_COMPANY_ID
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.2.0) reached the registry 11 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Readfirst
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
What to read and check before changing a file: project rules, risks, checks and tests per file.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
by [Mediaform s.c.r.l.](https://media-form.it) — Genova, Italy
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.
| Tool | Description |
|---|---|
list_invoices | List issued invoices / credit notes / proformas by year / month |
get_invoice | Full document detail by ID |
get_pdf_url | PDF URL and web link for a document |
list_clients | List clients with optional filter |
get_company_info | Connected company info |
create_client | Create a new client |
update_client | Update an existing client |
create_invoice | Create a draft invoice (optional revenue_center) |
create_credit_note | Create a draft credit note (optional revenue_center) |
create_proforma | Create a draft proforma (optional revenue_center) |
convert_proforma_to_invoice | Convert a proforma into a draft electronic invoice (optional revenue_center) |
update_document | Partial update of a draft document (optional revenue_center) |
duplicate_invoice | Duplicate an invoice with a new date (optional revenue_center) |
delete_invoice | Delete a draft document |
send_to_sdi | Send invoice / credit note to the Italian e-invoice system (SDI) |
get_invoice_status | E-invoice status for a document |
send_email | Send a courtesy copy by email |
list_received_documents | List supplier documents (exposes cost_center when present) |
get_received_document | Full detail of a received document by ID |
create_received_document | Create a passive document / expense (optional cost_center) |
list_cost_centers | List configured cost / revenue centers |
get_situation | Yearly dashboard: net revenue, collected, outstanding, costs, margin |
check_numeration | Verify 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.
fattureincloud.mcpb from the GitHub Releases page..mcpb file onto Claude Desktop, or use Settings → Extensions → Install from file.That's it — no Python setup, no virtualenv.
For Claude Code users or any MCP client that reads claude_desktop_config.json-style configuration:
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):
{
"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.
| Env var | Required | Description |
|---|---|---|
FIC_ACCESS_TOKEN | yes | Personal API access token (starts with a/) |
FIC_COMPANY_ID | yes | Numeric company ID, visible in the URL when logged into FattureInCloud |
FIC_SENDER_EMAIL | required for send_email | Sender mailbox for courtesy copies |
FIC_CACHE_DIR | no | Override cache directory (default ~/.fattureincloud-mcp/cache) |
FIC_CACHE_DISABLED | no | Set 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.
"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:
list_clients (cached) and pick the matching clientlist_cost_centers (cached) to validate Project Alpha existscreate_invoice with client_id, items, dates, payment terms, and revenue_center="Project Alpha""How much did I bill on the 'Project Alpha' revenue center in 2025? Break down by month."
Claude will:
list_cost_centers to confirm the labellist_invoices for year 2025 (the result includes revenue_center per invoice when set)revenue_center == "Project Alpha" and aggregate by month"Duplicate every invoice issued to 'Recurring Customer Co' in October 2025, set the new dates in November, keep 30-day payment terms."
Claude will:
list_invoices with query="Recurring Customer Co" and month=10, year=2025duplicate_invoice with new_date set in NovemberTo 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.
# Force refresh:
rm -rf ~/.fattureincloud-mcp/cache
export FIC_CACHE_DISABLED=1
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 registryrevenue_center=" " — assign on create_invoice, create_credit_note, create_proforma, convert_proforma_to_invoice, update_document, duplicate_invoicecost_center=" " — assign on create_received_documentThe 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.
api-v2.fattureincloud.it). No data is routed through Mediaform or any third-party server..env (gitignored), shell, or MCP client user_config. They are never logged or transmitted to anyone other than FattureInCloud.docs/PRIVACY.md for a mirrored copy of the policy.docs/KNOWN_ISSUES.md — please report a reproducible case via GitHub issues.Issues and pull requests welcome at https://github.com/aringad/fattureincloud-mcp.
For any code change:
main (feat/..., fix/..., docs/...).pytest tests/ — all 39 tests must stay green.feat:, fix:, docs:, chore:, test:).For vulnerability disclosure see SECURITY.md. Preferred channel: GitHub Security Advisories.
MIT — see LICENSE.
"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).