@casys/mcp-einvoice 0.1.2 → 0.1.3
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.
- package/README.md +44 -30
- package/mcp-einvoice.mjs +519 -126
- package/package.json +1 -1
- package/ui-dist/action-result/index.html +43 -43
- package/ui-dist/directory-card/index.html +26 -26
- package/ui-dist/directory-list/index.html +33 -33
- package/ui-dist/doclist-viewer/index.html +45 -45
- package/ui-dist/invoice-viewer/index.html +25 -25
- package/ui-dist/status-timeline/index.html +25 -25
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# mcp-einvoice
|
|
2
2
|
|
|
3
|
-
Serveur MCP pour la facturation électronique — agnostique plateforme via le
|
|
3
|
+
Serveur MCP pour la facturation électronique — agnostique plateforme via le
|
|
4
|
+
pattern adapter.
|
|
4
5
|
|
|
5
6
|
<p align="center">
|
|
6
7
|
<img src="docs/logos/iopole.svg" alt="Iopole" height="40">
|
|
@@ -10,19 +11,27 @@ Serveur MCP pour la facturation électronique — agnostique plateforme via le p
|
|
|
10
11
|
|
|
11
12
|
## Pourquoi
|
|
12
13
|
|
|
13
|
-
La réforme de la facturation électronique en France (sept. 2026) impose
|
|
14
|
+
La réforme de la facturation électronique en France (sept. 2026) impose
|
|
15
|
+
l'utilisation de Plateformes Agréées (PA). Il en existe 106+, chacune avec sa
|
|
16
|
+
propre API. Ce serveur MCP expose **une interface unique** pour toutes, avec 39
|
|
17
|
+
tools et 6 viewers interactifs.
|
|
14
18
|
|
|
15
19
|
## Adapters
|
|
16
20
|
|
|
17
|
-
|
|
|
18
|
-
|
|
19
|
-
| <img src="docs/logos/iopole.svg" height="16">
|
|
20
|
-
| <img src="docs/logos/storecove.png" height="16"> | **Storecove** | Peppol AP, 40+ pays | 19/39 | BaseAdapter
|
|
21
|
-
| <img src="docs/logos/superpdp.svg" height="16">
|
|
21
|
+
| | Adapter | Scope | Tools | Base |
|
|
22
|
+
| ------------------------------------------------ | ------------- | ------------------- | ----- | ---------------- |
|
|
23
|
+
| <img src="docs/logos/iopole.svg" height="16"> | **Iopole** | PA française, B2B | 39/39 | BaseAdapter |
|
|
24
|
+
| <img src="docs/logos/storecove.png" height="16"> | **Storecove** | Peppol AP, 40+ pays | 19/39 | BaseAdapter |
|
|
25
|
+
| <img src="docs/logos/superpdp.svg" height="16"> | **Super PDP** | PA française, B2B | 20/39 | AfnorBaseAdapter |
|
|
22
26
|
|
|
23
|
-
`BaseAdapter` fournit des stubs `NotSupportedError` pour les 45 méthodes de
|
|
27
|
+
`BaseAdapter` fournit des stubs `NotSupportedError` pour les 45 méthodes de
|
|
28
|
+
l'interface `EInvoiceAdapter`. Les PA françaises avec AFNOR héritent
|
|
29
|
+
d'`AfnorBaseAdapter` (socle
|
|
30
|
+
[AFNOR XP Z12-013](https://norminfo.afnor.org/norme/pr-xp-a00-002/standardisation-api-odpdp/211970))
|
|
31
|
+
qui ajoute les opérations flow. Les autres étendent `BaseAdapter` directement.
|
|
24
32
|
|
|
25
|
-
Le filtrage par `capabilities` assure que le LLM ne voit que les tools supportés
|
|
33
|
+
Le filtrage par `capabilities` assure que le LLM ne voit que les tools supportés
|
|
34
|
+
par l'adapter actif.
|
|
26
35
|
|
|
27
36
|
## Configuration rapide
|
|
28
37
|
|
|
@@ -52,7 +61,8 @@ deno task serve # HTTP mode (port 3015)
|
|
|
52
61
|
}
|
|
53
62
|
```
|
|
54
63
|
|
|
55
|
-
Remplacer `EINVOICE_ADAPTER` par `storecove` ou `superpdp` avec les variables
|
|
64
|
+
Remplacer `EINVOICE_ADAPTER` par `storecove` ou `superpdp` avec les variables
|
|
65
|
+
correspondantes (voir `.env.example`).
|
|
56
66
|
|
|
57
67
|
### Options serveur
|
|
58
68
|
|
|
@@ -91,16 +101,17 @@ Remplacer `EINVOICE_ADAPTER` par `storecove` ou `superpdp` avec les variables co
|
|
|
91
101
|
|
|
92
102
|
## Tools
|
|
93
103
|
|
|
94
|
-
| Catégorie
|
|
95
|
-
|
|
96
|
-
| **invoice** (11)
|
|
97
|
-
| **directory** (3) | fr_search, int_search, peppol_check
|
|
98
|
-
| **status** (2)
|
|
99
|
-
| **reporting** (2) | invoice_transaction, transaction
|
|
100
|
-
| **webhook** (5)
|
|
101
|
-
| **config** (16)
|
|
104
|
+
| Catégorie | Tools |
|
|
105
|
+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
106
|
+
| **invoice** (11) | submit, search, get, download, download_readable, files, attachments, download_file, generate_cii, generate_ubl, generate_facturx |
|
|
107
|
+
| **directory** (3) | fr_search, int_search, peppol_check |
|
|
108
|
+
| **status** (2) | send, history |
|
|
109
|
+
| **reporting** (2) | invoice_transaction, transaction |
|
|
110
|
+
| **webhook** (5) | list, get, create, update, delete |
|
|
111
|
+
| **config** (16) | customer_id, entities_list, entity_get, entity_create_legal, entity_create_office, enroll_fr, entity_claim, entity_delete, network_register, network_register_by_id, network_unregister, identifier_create, identifier_create_by_scheme, identifier_delete, entity_configure, claim_delete |
|
|
102
112
|
|
|
103
|
-
Tous préfixés `einvoice_<category>_`. Chaque tool déclare ses `requires` — seuls
|
|
113
|
+
Tous préfixés `einvoice_<category>_`. Chaque tool déclare ses `requires` — seuls
|
|
114
|
+
ceux supportés par l'adapter actif sont exposés au LLM.
|
|
104
115
|
|
|
105
116
|
### Flow generate → preview → submit
|
|
106
117
|
|
|
@@ -110,14 +121,14 @@ Tous préfixés `einvoice_<category>_`. Chaque tool déclare ses `requires` —
|
|
|
110
121
|
|
|
111
122
|
## Viewers (MCP Apps)
|
|
112
123
|
|
|
113
|
-
| Viewer
|
|
114
|
-
|
|
115
|
-
| **invoice-viewer**
|
|
116
|
-
| **doclist-viewer**
|
|
117
|
-
| **status-timeline** | Timeline verticale des changements de statut
|
|
118
|
-
| **directory-card**
|
|
119
|
-
| **directory-list**
|
|
120
|
-
| **action-result**
|
|
124
|
+
| Viewer | Usage |
|
|
125
|
+
| ------------------- | ---------------------------------------------------------- |
|
|
126
|
+
| **invoice-viewer** | Facture détaillée + actions (accepter, rejeter, déposer) |
|
|
127
|
+
| **doclist-viewer** | Table avec drill-down, recherche, filtres direction/statut |
|
|
128
|
+
| **status-timeline** | Timeline verticale des changements de statut |
|
|
129
|
+
| **directory-card** | Fiche entreprise (SIREN/SIRET, réseaux) |
|
|
130
|
+
| **directory-list** | Résultats annuaire — cartes avec expand, recherche client |
|
|
131
|
+
| **action-result** | Feedback visuel d'action (enroll, register) |
|
|
121
132
|
|
|
122
133
|
```bash
|
|
123
134
|
cd src/ui && node build-all.mjs # Rebuild après modification TSX
|
|
@@ -125,7 +136,8 @@ cd src/ui && node build-all.mjs # Rebuild après modification TSX
|
|
|
125
136
|
|
|
126
137
|
## Ajouter un adapter
|
|
127
138
|
|
|
128
|
-
**PA française avec AFNOR** → `extends AfnorBaseAdapter` (socle AFNOR gratuit,
|
|
139
|
+
**PA française avec AFNOR** → `extends AfnorBaseAdapter` (socle AFNOR gratuit,
|
|
140
|
+
override le natif) :
|
|
129
141
|
|
|
130
142
|
```typescript
|
|
131
143
|
export class MyPAAdapter extends AfnorBaseAdapter {
|
|
@@ -143,9 +155,11 @@ export class MyPAAdapter extends AfnorBaseAdapter {
|
|
|
143
155
|
}
|
|
144
156
|
```
|
|
145
157
|
|
|
146
|
-
**PA française sans AFNOR** → `extends BaseAdapter` (override toutes les
|
|
158
|
+
**PA française sans AFNOR** → `extends BaseAdapter` (override toutes les
|
|
159
|
+
méthodes avec l'API native, comme Iopole).
|
|
147
160
|
|
|
148
|
-
**Plateforme non-française** → `extends BaseAdapter` directement (comme
|
|
161
|
+
**Plateforme non-française** → `extends BaseAdapter` directement (comme
|
|
162
|
+
Storecove).
|
|
149
163
|
|
|
150
164
|
Guide complet : `src/adapters/README.md`.
|
|
151
165
|
|