fattureincloud-mcp 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fattureincloud_mcp-1.1.0/LICENSE +21 -0
- fattureincloud_mcp-1.1.0/PKG-INFO +272 -0
- fattureincloud_mcp-1.1.0/README.md +243 -0
- fattureincloud_mcp-1.1.0/fattureincloud_mcp.egg-info/PKG-INFO +272 -0
- fattureincloud_mcp-1.1.0/fattureincloud_mcp.egg-info/SOURCES.txt +10 -0
- fattureincloud_mcp-1.1.0/fattureincloud_mcp.egg-info/dependency_links.txt +1 -0
- fattureincloud_mcp-1.1.0/fattureincloud_mcp.egg-info/entry_points.txt +2 -0
- fattureincloud_mcp-1.1.0/fattureincloud_mcp.egg-info/requires.txt +3 -0
- fattureincloud_mcp-1.1.0/fattureincloud_mcp.egg-info/top_level.txt +1 -0
- fattureincloud_mcp-1.1.0/pyproject.toml +55 -0
- fattureincloud_mcp-1.1.0/server.py +745 -0
- fattureincloud_mcp-1.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Mediaform s.c.r.l.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fattureincloud-mcp
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: MCP Server for Fatture in Cloud API - Italian electronic invoicing with Claude AI
|
|
5
|
+
Author-email: "Mediaform s.c.r.l." <info@media-form.it>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/aringad/fattureincloud-mcp
|
|
8
|
+
Project-URL: Repository, https://github.com/aringad/fattureincloud-mcp
|
|
9
|
+
Project-URL: Issues, https://github.com/aringad/fattureincloud-mcp/issues
|
|
10
|
+
Project-URL: Author, https://media-form.it
|
|
11
|
+
Keywords: mcp,fattureincloud,fatture,invoicing,e-invoice,sdi,claude,anthropic,italy,italian
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Financial and Insurance Industry
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Office/Business :: Financial :: Accounting
|
|
22
|
+
Requires-Python: >=3.10
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
License-File: LICENSE
|
|
25
|
+
Requires-Dist: fattureincloud-python-sdk>=2.0.0
|
|
26
|
+
Requires-Dist: mcp>=1.0.0
|
|
27
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
28
|
+
Dynamic: license-file
|
|
29
|
+
|
|
30
|
+
# Fatture in Cloud MCP Server
|
|
31
|
+
|
|
32
|
+
[🇮🇹 Italiano](#italiano) | [🇬🇧 English](#english)
|
|
33
|
+
|
|
34
|
+
<!-- mcp-name: io.github.aringad/fattureincloud-mcp -->
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Italiano
|
|
39
|
+
|
|
40
|
+
Server MCP (Model Context Protocol) per integrare **Fatture in Cloud** con Claude AI e altri assistenti compatibili.
|
|
41
|
+
|
|
42
|
+
Permette di gestire fatture elettroniche italiane tramite conversazione naturale.
|
|
43
|
+
|
|
44
|
+
### ✨ Funzionalità
|
|
45
|
+
|
|
46
|
+
| Tool | Descrizione |
|
|
47
|
+
|------|-------------|
|
|
48
|
+
| `list_invoices` | Lista fatture emesse per anno/mese |
|
|
49
|
+
| `get_invoice` | Dettaglio completo fattura |
|
|
50
|
+
| `list_clients` | Lista clienti con filtro |
|
|
51
|
+
| `get_company_info` | Info azienda collegata |
|
|
52
|
+
| `create_invoice` | Crea nuova fattura (bozza) |
|
|
53
|
+
| `duplicate_invoice` | Duplica fattura esistente |
|
|
54
|
+
| `send_to_sdi` | Invia fattura allo SDI |
|
|
55
|
+
| `get_invoice_status` | Stato fattura elettronica |
|
|
56
|
+
| `send_email` | Invia copia cortesia via email |
|
|
57
|
+
| `list_received_documents` | Fatture passive (fornitori) |
|
|
58
|
+
| `get_situation` | Dashboard: fatturato, incassato, costi |
|
|
59
|
+
|
|
60
|
+
### 🚀 Installazione
|
|
61
|
+
|
|
62
|
+
#### Prerequisiti
|
|
63
|
+
- Python 3.10+
|
|
64
|
+
- Account [Fatture in Cloud](https://www.fattureincloud.it/) con API attive
|
|
65
|
+
- [Claude Desktop](https://claude.ai/download) o altro client MCP
|
|
66
|
+
|
|
67
|
+
#### 1. Clona il repository
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
git clone https://github.com/aringad/fattureincloud-mcp.git
|
|
71
|
+
cd fattureincloud-mcp
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
#### 2. Crea ambiente virtuale e installa dipendenze
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
python -m venv venv
|
|
78
|
+
source venv/bin/activate # Linux/Mac
|
|
79
|
+
# oppure: venv\Scripts\activate # Windows
|
|
80
|
+
|
|
81
|
+
pip install -r requirements.txt
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### 3. Configura le credenziali
|
|
85
|
+
|
|
86
|
+
Copia il file di esempio e inserisci i tuoi dati:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
cp .env.example .env
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Modifica `.env`:
|
|
93
|
+
```env
|
|
94
|
+
FIC_ACCESS_TOKEN=a/xxxxx.yyyyy.zzzzz
|
|
95
|
+
FIC_COMPANY_ID=123456
|
|
96
|
+
FIC_SENDER_EMAIL=fatturazione@tuaazienda.it
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Come ottenere le credenziali:**
|
|
100
|
+
1. Accedi a [Fatture in Cloud](https://secure.fattureincloud.it/)
|
|
101
|
+
2. Vai su *Impostazioni > API e Integrazioni*
|
|
102
|
+
3. Crea un **Token Manuale** con i permessi necessari
|
|
103
|
+
4. Il `COMPANY_ID` è visibile nell'URL quando sei loggato
|
|
104
|
+
|
|
105
|
+
#### 4. Configura Claude Desktop
|
|
106
|
+
|
|
107
|
+
Modifica `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) o `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"mcpServers": {
|
|
112
|
+
"fattureincloud": {
|
|
113
|
+
"command": "/percorso/completo/fattureincloud-mcp/venv/bin/python",
|
|
114
|
+
"args": ["/percorso/completo/fattureincloud-mcp/server.py"],
|
|
115
|
+
"env": {
|
|
116
|
+
"FIC_ACCESS_TOKEN": "a/xxxxx.yyyyy.zzzzz",
|
|
117
|
+
"FIC_COMPANY_ID": "123456",
|
|
118
|
+
"FIC_SENDER_EMAIL": "fatturazione@tuaazienda.it"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### 5. Riavvia Claude Desktop
|
|
126
|
+
|
|
127
|
+
Chiudi completamente Claude Desktop (Cmd+Q su Mac) e riaprilo.
|
|
128
|
+
|
|
129
|
+
### 💬 Esempi d'uso
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
"Mostrami le fatture di dicembre 2024"
|
|
133
|
+
"Qual è la situazione finanziaria del 2025?"
|
|
134
|
+
"Duplica la fattura 310 cambiando 2025 in 2026"
|
|
135
|
+
"Invia la fattura 326 allo SDI"
|
|
136
|
+
"Manda la copia cortesia via email"
|
|
137
|
+
"Quali fatture devo ancora incassare?"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### ⚠️ Note di sicurezza
|
|
141
|
+
|
|
142
|
+
- Le operazioni di scrittura (create, send_to_sdi) richiedono **sempre conferma**
|
|
143
|
+
- L'invio allo SDI è **irreversibile**
|
|
144
|
+
- Le fatture vengono create come **bozze** (draft)
|
|
145
|
+
- Il metodo di pagamento di default è **MP05** (bonifico)
|
|
146
|
+
|
|
147
|
+
### 📄 Licenza
|
|
148
|
+
|
|
149
|
+
MIT - Vedi [LICENSE](LICENSE)
|
|
150
|
+
|
|
151
|
+
### 👨💻 Autore
|
|
152
|
+
|
|
153
|
+
Sviluppato da **[Mediaform s.c.r.l.](https://media-form.it)** - Genova, Italia
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## English
|
|
158
|
+
|
|
159
|
+
MCP (Model Context Protocol) Server to integrate **Fatture in Cloud** with Claude AI and other compatible assistants.
|
|
160
|
+
|
|
161
|
+
Manage Italian electronic invoices through natural conversation.
|
|
162
|
+
|
|
163
|
+
### ✨ Features
|
|
164
|
+
|
|
165
|
+
| Tool | Description |
|
|
166
|
+
|------|-------------|
|
|
167
|
+
| `list_invoices` | List issued invoices by year/month |
|
|
168
|
+
| `get_invoice` | Full invoice details |
|
|
169
|
+
| `list_clients` | List clients with filter |
|
|
170
|
+
| `get_company_info` | Connected company info |
|
|
171
|
+
| `create_invoice` | Create new invoice (draft) |
|
|
172
|
+
| `duplicate_invoice` | Duplicate existing invoice |
|
|
173
|
+
| `send_to_sdi` | Send invoice to SDI (Italian e-invoice system) |
|
|
174
|
+
| `get_invoice_status` | E-invoice status |
|
|
175
|
+
| `send_email` | Send courtesy copy via email |
|
|
176
|
+
| `list_received_documents` | Received invoices (suppliers) |
|
|
177
|
+
| `get_situation` | Dashboard: revenue, collected, costs |
|
|
178
|
+
|
|
179
|
+
### 🚀 Installation
|
|
180
|
+
|
|
181
|
+
#### Prerequisites
|
|
182
|
+
- Python 3.10+
|
|
183
|
+
- [Fatture in Cloud](https://www.fattureincloud.it/) account with API enabled
|
|
184
|
+
- [Claude Desktop](https://claude.ai/download) or other MCP client
|
|
185
|
+
|
|
186
|
+
#### 1. Clone the repository
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
git clone https://github.com/aringad/fattureincloud-mcp.git
|
|
190
|
+
cd fattureincloud-mcp
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### 2. Create virtual environment and install dependencies
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
python -m venv venv
|
|
197
|
+
source venv/bin/activate # Linux/Mac
|
|
198
|
+
# or: venv\Scripts\activate # Windows
|
|
199
|
+
|
|
200
|
+
pip install -r requirements.txt
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
#### 3. Configure credentials
|
|
204
|
+
|
|
205
|
+
Copy the example file and fill in your data:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
cp .env.example .env
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Edit `.env`:
|
|
212
|
+
```env
|
|
213
|
+
FIC_ACCESS_TOKEN=a/xxxxx.yyyyy.zzzzz
|
|
214
|
+
FIC_COMPANY_ID=123456
|
|
215
|
+
FIC_SENDER_EMAIL=billing@yourcompany.com
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**How to get credentials:**
|
|
219
|
+
1. Log into [Fatture in Cloud](https://secure.fattureincloud.it/)
|
|
220
|
+
2. Go to *Settings > API and Integrations*
|
|
221
|
+
3. Create a **Manual Token** with required permissions
|
|
222
|
+
4. The `COMPANY_ID` is visible in the URL when logged in
|
|
223
|
+
|
|
224
|
+
#### 4. Configure Claude Desktop
|
|
225
|
+
|
|
226
|
+
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
227
|
+
|
|
228
|
+
```json
|
|
229
|
+
{
|
|
230
|
+
"mcpServers": {
|
|
231
|
+
"fattureincloud": {
|
|
232
|
+
"command": "/full/path/to/fattureincloud-mcp/venv/bin/python",
|
|
233
|
+
"args": ["/full/path/to/fattureincloud-mcp/server.py"],
|
|
234
|
+
"env": {
|
|
235
|
+
"FIC_ACCESS_TOKEN": "a/xxxxx.yyyyy.zzzzz",
|
|
236
|
+
"FIC_COMPANY_ID": "123456",
|
|
237
|
+
"FIC_SENDER_EMAIL": "billing@yourcompany.com"
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
#### 5. Restart Claude Desktop
|
|
245
|
+
|
|
246
|
+
Fully quit Claude Desktop (Cmd+Q on Mac) and reopen it.
|
|
247
|
+
|
|
248
|
+
### 💬 Usage examples
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
"Show me invoices from December 2024"
|
|
252
|
+
"What's the financial situation for 2025?"
|
|
253
|
+
"Duplicate invoice 310 changing 2025 to 2026"
|
|
254
|
+
"Send invoice 326 to SDI"
|
|
255
|
+
"Send the courtesy copy via email"
|
|
256
|
+
"Which invoices are still pending payment?"
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### ⚠️ Security notes
|
|
260
|
+
|
|
261
|
+
- Write operations (create, send_to_sdi) **always require confirmation**
|
|
262
|
+
- Sending to SDI is **irreversible**
|
|
263
|
+
- Invoices are created as **drafts**
|
|
264
|
+
- Default payment method is **MP05** (bank transfer)
|
|
265
|
+
|
|
266
|
+
### 📄 License
|
|
267
|
+
|
|
268
|
+
MIT - See [LICENSE](LICENSE)
|
|
269
|
+
|
|
270
|
+
### 👨💻 Author
|
|
271
|
+
|
|
272
|
+
Developed by **[Mediaform s.c.r.l.](https://media-form.it)** - Genova, Italy
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# Fatture in Cloud MCP Server
|
|
2
|
+
|
|
3
|
+
[🇮🇹 Italiano](#italiano) | [🇬🇧 English](#english)
|
|
4
|
+
|
|
5
|
+
<!-- mcp-name: io.github.aringad/fattureincloud-mcp -->
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Italiano
|
|
10
|
+
|
|
11
|
+
Server MCP (Model Context Protocol) per integrare **Fatture in Cloud** con Claude AI e altri assistenti compatibili.
|
|
12
|
+
|
|
13
|
+
Permette di gestire fatture elettroniche italiane tramite conversazione naturale.
|
|
14
|
+
|
|
15
|
+
### ✨ Funzionalità
|
|
16
|
+
|
|
17
|
+
| Tool | Descrizione |
|
|
18
|
+
|------|-------------|
|
|
19
|
+
| `list_invoices` | Lista fatture emesse per anno/mese |
|
|
20
|
+
| `get_invoice` | Dettaglio completo fattura |
|
|
21
|
+
| `list_clients` | Lista clienti con filtro |
|
|
22
|
+
| `get_company_info` | Info azienda collegata |
|
|
23
|
+
| `create_invoice` | Crea nuova fattura (bozza) |
|
|
24
|
+
| `duplicate_invoice` | Duplica fattura esistente |
|
|
25
|
+
| `send_to_sdi` | Invia fattura allo SDI |
|
|
26
|
+
| `get_invoice_status` | Stato fattura elettronica |
|
|
27
|
+
| `send_email` | Invia copia cortesia via email |
|
|
28
|
+
| `list_received_documents` | Fatture passive (fornitori) |
|
|
29
|
+
| `get_situation` | Dashboard: fatturato, incassato, costi |
|
|
30
|
+
|
|
31
|
+
### 🚀 Installazione
|
|
32
|
+
|
|
33
|
+
#### Prerequisiti
|
|
34
|
+
- Python 3.10+
|
|
35
|
+
- Account [Fatture in Cloud](https://www.fattureincloud.it/) con API attive
|
|
36
|
+
- [Claude Desktop](https://claude.ai/download) o altro client MCP
|
|
37
|
+
|
|
38
|
+
#### 1. Clona il repository
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
git clone https://github.com/aringad/fattureincloud-mcp.git
|
|
42
|
+
cd fattureincloud-mcp
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### 2. Crea ambiente virtuale e installa dipendenze
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
python -m venv venv
|
|
49
|
+
source venv/bin/activate # Linux/Mac
|
|
50
|
+
# oppure: venv\Scripts\activate # Windows
|
|
51
|
+
|
|
52
|
+
pip install -r requirements.txt
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
#### 3. Configura le credenziali
|
|
56
|
+
|
|
57
|
+
Copia il file di esempio e inserisci i tuoi dati:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
cp .env.example .env
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Modifica `.env`:
|
|
64
|
+
```env
|
|
65
|
+
FIC_ACCESS_TOKEN=a/xxxxx.yyyyy.zzzzz
|
|
66
|
+
FIC_COMPANY_ID=123456
|
|
67
|
+
FIC_SENDER_EMAIL=fatturazione@tuaazienda.it
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Come ottenere le credenziali:**
|
|
71
|
+
1. Accedi a [Fatture in Cloud](https://secure.fattureincloud.it/)
|
|
72
|
+
2. Vai su *Impostazioni > API e Integrazioni*
|
|
73
|
+
3. Crea un **Token Manuale** con i permessi necessari
|
|
74
|
+
4. Il `COMPANY_ID` è visibile nell'URL quando sei loggato
|
|
75
|
+
|
|
76
|
+
#### 4. Configura Claude Desktop
|
|
77
|
+
|
|
78
|
+
Modifica `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) o `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"mcpServers": {
|
|
83
|
+
"fattureincloud": {
|
|
84
|
+
"command": "/percorso/completo/fattureincloud-mcp/venv/bin/python",
|
|
85
|
+
"args": ["/percorso/completo/fattureincloud-mcp/server.py"],
|
|
86
|
+
"env": {
|
|
87
|
+
"FIC_ACCESS_TOKEN": "a/xxxxx.yyyyy.zzzzz",
|
|
88
|
+
"FIC_COMPANY_ID": "123456",
|
|
89
|
+
"FIC_SENDER_EMAIL": "fatturazione@tuaazienda.it"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### 5. Riavvia Claude Desktop
|
|
97
|
+
|
|
98
|
+
Chiudi completamente Claude Desktop (Cmd+Q su Mac) e riaprilo.
|
|
99
|
+
|
|
100
|
+
### 💬 Esempi d'uso
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
"Mostrami le fatture di dicembre 2024"
|
|
104
|
+
"Qual è la situazione finanziaria del 2025?"
|
|
105
|
+
"Duplica la fattura 310 cambiando 2025 in 2026"
|
|
106
|
+
"Invia la fattura 326 allo SDI"
|
|
107
|
+
"Manda la copia cortesia via email"
|
|
108
|
+
"Quali fatture devo ancora incassare?"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### ⚠️ Note di sicurezza
|
|
112
|
+
|
|
113
|
+
- Le operazioni di scrittura (create, send_to_sdi) richiedono **sempre conferma**
|
|
114
|
+
- L'invio allo SDI è **irreversibile**
|
|
115
|
+
- Le fatture vengono create come **bozze** (draft)
|
|
116
|
+
- Il metodo di pagamento di default è **MP05** (bonifico)
|
|
117
|
+
|
|
118
|
+
### 📄 Licenza
|
|
119
|
+
|
|
120
|
+
MIT - Vedi [LICENSE](LICENSE)
|
|
121
|
+
|
|
122
|
+
### 👨💻 Autore
|
|
123
|
+
|
|
124
|
+
Sviluppato da **[Mediaform s.c.r.l.](https://media-form.it)** - Genova, Italia
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## English
|
|
129
|
+
|
|
130
|
+
MCP (Model Context Protocol) Server to integrate **Fatture in Cloud** with Claude AI and other compatible assistants.
|
|
131
|
+
|
|
132
|
+
Manage Italian electronic invoices through natural conversation.
|
|
133
|
+
|
|
134
|
+
### ✨ Features
|
|
135
|
+
|
|
136
|
+
| Tool | Description |
|
|
137
|
+
|------|-------------|
|
|
138
|
+
| `list_invoices` | List issued invoices by year/month |
|
|
139
|
+
| `get_invoice` | Full invoice details |
|
|
140
|
+
| `list_clients` | List clients with filter |
|
|
141
|
+
| `get_company_info` | Connected company info |
|
|
142
|
+
| `create_invoice` | Create new invoice (draft) |
|
|
143
|
+
| `duplicate_invoice` | Duplicate existing invoice |
|
|
144
|
+
| `send_to_sdi` | Send invoice to SDI (Italian e-invoice system) |
|
|
145
|
+
| `get_invoice_status` | E-invoice status |
|
|
146
|
+
| `send_email` | Send courtesy copy via email |
|
|
147
|
+
| `list_received_documents` | Received invoices (suppliers) |
|
|
148
|
+
| `get_situation` | Dashboard: revenue, collected, costs |
|
|
149
|
+
|
|
150
|
+
### 🚀 Installation
|
|
151
|
+
|
|
152
|
+
#### Prerequisites
|
|
153
|
+
- Python 3.10+
|
|
154
|
+
- [Fatture in Cloud](https://www.fattureincloud.it/) account with API enabled
|
|
155
|
+
- [Claude Desktop](https://claude.ai/download) or other MCP client
|
|
156
|
+
|
|
157
|
+
#### 1. Clone the repository
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
git clone https://github.com/aringad/fattureincloud-mcp.git
|
|
161
|
+
cd fattureincloud-mcp
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### 2. Create virtual environment and install dependencies
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
python -m venv venv
|
|
168
|
+
source venv/bin/activate # Linux/Mac
|
|
169
|
+
# or: venv\Scripts\activate # Windows
|
|
170
|
+
|
|
171
|
+
pip install -r requirements.txt
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
#### 3. Configure credentials
|
|
175
|
+
|
|
176
|
+
Copy the example file and fill in your data:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
cp .env.example .env
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Edit `.env`:
|
|
183
|
+
```env
|
|
184
|
+
FIC_ACCESS_TOKEN=a/xxxxx.yyyyy.zzzzz
|
|
185
|
+
FIC_COMPANY_ID=123456
|
|
186
|
+
FIC_SENDER_EMAIL=billing@yourcompany.com
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**How to get credentials:**
|
|
190
|
+
1. Log into [Fatture in Cloud](https://secure.fattureincloud.it/)
|
|
191
|
+
2. Go to *Settings > API and Integrations*
|
|
192
|
+
3. Create a **Manual Token** with required permissions
|
|
193
|
+
4. The `COMPANY_ID` is visible in the URL when logged in
|
|
194
|
+
|
|
195
|
+
#### 4. Configure Claude Desktop
|
|
196
|
+
|
|
197
|
+
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
|
|
198
|
+
|
|
199
|
+
```json
|
|
200
|
+
{
|
|
201
|
+
"mcpServers": {
|
|
202
|
+
"fattureincloud": {
|
|
203
|
+
"command": "/full/path/to/fattureincloud-mcp/venv/bin/python",
|
|
204
|
+
"args": ["/full/path/to/fattureincloud-mcp/server.py"],
|
|
205
|
+
"env": {
|
|
206
|
+
"FIC_ACCESS_TOKEN": "a/xxxxx.yyyyy.zzzzz",
|
|
207
|
+
"FIC_COMPANY_ID": "123456",
|
|
208
|
+
"FIC_SENDER_EMAIL": "billing@yourcompany.com"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
#### 5. Restart Claude Desktop
|
|
216
|
+
|
|
217
|
+
Fully quit Claude Desktop (Cmd+Q on Mac) and reopen it.
|
|
218
|
+
|
|
219
|
+
### 💬 Usage examples
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
"Show me invoices from December 2024"
|
|
223
|
+
"What's the financial situation for 2025?"
|
|
224
|
+
"Duplicate invoice 310 changing 2025 to 2026"
|
|
225
|
+
"Send invoice 326 to SDI"
|
|
226
|
+
"Send the courtesy copy via email"
|
|
227
|
+
"Which invoices are still pending payment?"
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### ⚠️ Security notes
|
|
231
|
+
|
|
232
|
+
- Write operations (create, send_to_sdi) **always require confirmation**
|
|
233
|
+
- Sending to SDI is **irreversible**
|
|
234
|
+
- Invoices are created as **drafts**
|
|
235
|
+
- Default payment method is **MP05** (bank transfer)
|
|
236
|
+
|
|
237
|
+
### 📄 License
|
|
238
|
+
|
|
239
|
+
MIT - See [LICENSE](LICENSE)
|
|
240
|
+
|
|
241
|
+
### 👨💻 Author
|
|
242
|
+
|
|
243
|
+
Developed by **[Mediaform s.c.r.l.](https://media-form.it)** - Genova, Italy
|