@lekteo/mcp 0.1.2
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/LICENSE +58 -0
- package/README.de.md +103 -0
- package/README.fr.md +102 -0
- package/README.md +100 -0
- package/README.nl.md +102 -0
- package/dist/server.js +5276 -0
- package/package.json +59 -0
- package/src/server.ts +235 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
Lekteo MCP — licence
|
|
2
|
+
|
|
3
|
+
Ce paquet réunit deux choses aux conditions différentes. La distinction est
|
|
4
|
+
volontaire et tient en une phrase : l'enveloppe est ouverte, le moteur ne
|
|
5
|
+
l'est pas.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
1. L'ENVELOPPE — répertoire `src/`
|
|
9
|
+
|
|
10
|
+
Le serveur MCP lui-même, publié sous licence Apache 2.0.
|
|
11
|
+
|
|
12
|
+
Copyright 2026 Lekteo
|
|
13
|
+
|
|
14
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
+
you may not use this file except in compliance with the License.
|
|
16
|
+
You may obtain a copy of the License at
|
|
17
|
+
|
|
18
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
+
|
|
20
|
+
Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
23
|
+
implied. See the License for the specific language governing
|
|
24
|
+
permissions and limitations under the License.
|
|
25
|
+
|
|
26
|
+
C'est le code que vous êtes invité à lire avant de pointer ce serveur sur vos
|
|
27
|
+
factures. Il est livré avec le paquet pour cette raison précise.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
2. LE MOTEUR DE LECTURE — compilé dans `dist/server.js`
|
|
31
|
+
|
|
32
|
+
La détection de format, la lecture UBL / CII / Factur-X, le modèle canonique
|
|
33
|
+
et les contrôles EN 16931 restent la propriété de l'éditeur de Lekteo.
|
|
34
|
+
|
|
35
|
+
Vous êtes autorisé, sans frais et sans démarche :
|
|
36
|
+
|
|
37
|
+
· à utiliser ce paquet, y compris à titre professionnel et commercial,
|
|
38
|
+
sans limite de volume ni de durée ;
|
|
39
|
+
· à le redistribuer tel quel, sans modification ;
|
|
40
|
+
· à l'intégrer dans vos propres outils et flux de travail.
|
|
41
|
+
|
|
42
|
+
Vous n'êtes pas autorisé :
|
|
43
|
+
|
|
44
|
+
· à redistribuer une version modifiée du moteur ;
|
|
45
|
+
· à en extraire le code pour le publier ou le proposer séparément.
|
|
46
|
+
|
|
47
|
+
La décompilation à des fins d'interopérabilité reste permise dans les limites
|
|
48
|
+
prévues par le droit applicable, notamment l'article L122-6-1 du code de la
|
|
49
|
+
propriété intellectuelle et la directive 2009/24/CE.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
3. GARANTIE
|
|
53
|
+
|
|
54
|
+
Ce logiciel est fourni « en l'état », sans garantie d'aucune sorte. Il lit des
|
|
55
|
+
factures et signale des écarts avec une norme ; il ne constitue ni un conseil
|
|
56
|
+
comptable, ni un conseil fiscal, ni un conseil juridique. Un document déclaré
|
|
57
|
+
conforme reste soumis à l'appréciation de votre comptable et de
|
|
58
|
+
l'administration.
|
package/README.de.md
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# @lekteo/mcp
|
|
2
|
+
|
|
3
|
+
[English](https://lekteo.eu/en/mcp) · [Français](https://lekteo.eu/mcp) · **Deutsch** · [Nederlands](https://lekteo.eu/nl/mcp)
|
|
4
|
+
|
|
5
|
+
**Lesen Sie Ihre elektronischen Rechnungen aus Ihrem Assistenten, ohne dass sie Ihren Rechner verlassen.**
|
|
6
|
+
|
|
7
|
+
UBL 2.1, CII D22B, Factur-X, ZUGFeRD, XRechnung, Peppol BIS. Die Datei wird von
|
|
8
|
+
Ihrer Platte gelesen, in Ihrem Prozess verarbeitet, und nichts wird irgendwohin
|
|
9
|
+
übertragen.
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
Nichts zu installieren im eigentlichen Sinn: der Befehl holt den Server bei
|
|
14
|
+
Bedarf.
|
|
15
|
+
|
|
16
|
+
**Claude Code**
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
claude mcp add lekteo -- npx -y @lekteo/mcp
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Claude Desktop** — in `claude_desktop_config.json`:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"mcpServers": {
|
|
27
|
+
"lekteo": { "command": "npx", "args": ["-y", "@lekteo/mcp"] }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Andere MCP-Clients**: Befehl `npx`, Argumente `["-y", "@lekteo/mcp"]`,
|
|
33
|
+
stdio-Transport. Node 20 oder neuer.
|
|
34
|
+
|
|
35
|
+
## Was Sie damit bekommen
|
|
36
|
+
|
|
37
|
+
| Werkzeug | Was es tut |
|
|
38
|
+
| ----------------- | --------------------------------------------------------------------------------- |
|
|
39
|
+
| `read_invoice` | Öffnet die Rechnung: Parteien, Positionen, Steueraufteilung, Summen, Zahlung |
|
|
40
|
+
| `check_invoice` | Beantwortet „ist sie in Ordnung?“ – EN-16931-Prüfungen, ohne den Inhalt zu zeigen |
|
|
41
|
+
| `invoice_to_json` | Das vollständige kanonische Modell, für ein Skript oder eine Tabelle |
|
|
42
|
+
|
|
43
|
+
Die Hinweise erscheinen auf **Deutsch, Französisch, Englisch oder
|
|
44
|
+
Niederländisch** – Parameter `locale`.
|
|
45
|
+
|
|
46
|
+
Anfragen, die unmittelbar funktionieren:
|
|
47
|
+
|
|
48
|
+
- „Öffne `~/rechnungen/F2026-114.xml` und nenne mir den Zahlbetrag“
|
|
49
|
+
- „Ist diese Rechnung konform?“
|
|
50
|
+
- „Prüfe alle Rechnungen in diesem Ordner und nenne die fehlerhaften“
|
|
51
|
+
|
|
52
|
+
## Was geprüft wird
|
|
53
|
+
|
|
54
|
+
Die `BR-xx`-Regeln der europäischen Norm EN 16931, dazu eigene Prüfungen:
|
|
55
|
+
Prüfziffer der IBAN, Aufbau der Unternehmens- und Umsatzsteuer-Identifikations
|
|
56
|
+
nummern, jeder Steuerbetrag gegen seine Bemessungsgrundlage, und das
|
|
57
|
+
Rechnungsdatum vor dem Fälligkeitsdatum.
|
|
58
|
+
|
|
59
|
+
Eine XML-Datei kann formal einwandfrei und trotzdem falsch sein. XML garantiert
|
|
60
|
+
die Struktur, nicht die Richtigkeit.
|
|
61
|
+
|
|
62
|
+
## Nichts verlässt Ihren Rechner
|
|
63
|
+
|
|
64
|
+
Dieser Server führt **keinen Netzwerkzugriff** aus. Kein HTTP-Client, keine
|
|
65
|
+
Telemetrie, keine Update-Prüfung. Sie müssen uns nicht glauben:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
grep -c "fetch(\|XMLHttpRequest\|node:http" "$(npm root -g)/@lekteo/mcp/dist/server.js"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Der Build **schlägt fehl**, wenn eine dieser Zeichenketten im Bundle auftaucht.
|
|
72
|
+
Das ist eine Prüfung im Build, keine erklärte Absicht.
|
|
73
|
+
|
|
74
|
+
Der Quelltext der Hülle liegt in `src/` bei, unter Apache 2.0, damit Sie ihn
|
|
75
|
+
lesen können, bevor Sie ihn auf Ihre Rechnungen richten. Die Lese-Engine ist in
|
|
76
|
+
`dist/` kompiliert und bleibt proprietär, frei nutzbar und unverändert frei
|
|
77
|
+
weitergebbar. Die vollständigen Bedingungen stehen in der Datei `LICENSE`, die dem Paket beiliegt.
|
|
78
|
+
|
|
79
|
+
## Warum er lokal läuft
|
|
80
|
+
|
|
81
|
+
[lekteo.eu](https://lekteo.eu/de) liest Rechnungen im Browser, und jeder kann
|
|
82
|
+
im Netzwerk-Tab nachprüfen, dass nichts seinen Rechner verlässt. Ein Assistent
|
|
83
|
+
öffnet keinen Tab. Dieselbe Funktion von einem entfernten Server anzubieten
|
|
84
|
+
hätte bedeutet, Ihre Rechnungen zu uns hochzuladen – genau das, was dieses
|
|
85
|
+
Produkt vermeiden soll.
|
|
86
|
+
|
|
87
|
+
Also läuft er bei Ihnen. Das Versprechen bleibt nicht nur erhalten, es
|
|
88
|
+
erweitert sich: es gilt nun auch außerhalb des Browsers.
|
|
89
|
+
|
|
90
|
+
## Die Web-Version
|
|
91
|
+
|
|
92
|
+
**[lekteo.eu](https://lekteo.eu/de)** – dieselbe Engine, im Browser, ohne
|
|
93
|
+
Installation. Nützlich, wenn Sie einfach eine Rechnung ansehen oder einen
|
|
94
|
+
ganzen Ordner mit exportierbarer Übersicht verarbeiten wollen.
|
|
95
|
+
|
|
96
|
+
Die [MCP-Seite](https://lekteo.eu/de/mcp) greift dieselben Punkte auf, in vier
|
|
97
|
+
Sprachen.
|
|
98
|
+
|
|
99
|
+
## Unterstützen
|
|
100
|
+
|
|
101
|
+
Dieser Server ist kostenlos und bleibt es. Wenn er Ihnen bei der Arbeit Zeit
|
|
102
|
+
spart, finden Sie auf [lekteo.eu](https://lekteo.eu/de) einen Link zur
|
|
103
|
+
Unterstützung – in den Antworten des Werkzeugs wird es nie einen geben.
|
package/README.fr.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# @lekteo/mcp
|
|
2
|
+
|
|
3
|
+
[English](https://lekteo.eu/en/mcp) · **Français** · [Deutsch](https://lekteo.eu/de/mcp) · [Nederlands](https://lekteo.eu/nl/mcp)
|
|
4
|
+
|
|
5
|
+
**Lisez vos factures électroniques depuis votre assistant, sans qu'elles quittent votre machine.**
|
|
6
|
+
|
|
7
|
+
UBL 2.1, CII D22B, Factur-X, ZUGFeRD, XRechnung, Peppol BIS. Le fichier est lu
|
|
8
|
+
sur votre disque, analysé dans votre processus, et rien n'est transmis nulle
|
|
9
|
+
part.
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
Rien à installer à proprement parler : la commande télécharge le serveur à la
|
|
14
|
+
demande.
|
|
15
|
+
|
|
16
|
+
**Claude Code**
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
claude mcp add lekteo -- npx -y @lekteo/mcp
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Claude Desktop** — dans `claude_desktop_config.json` :
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"mcpServers": {
|
|
27
|
+
"lekteo": { "command": "npx", "args": ["-y", "@lekteo/mcp"] }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Autres clients MCP** : commande `npx`, arguments `["-y", "@lekteo/mcp"]`,
|
|
33
|
+
transport stdio. Node 20 ou plus.
|
|
34
|
+
|
|
35
|
+
## Ce que ça vous donne
|
|
36
|
+
|
|
37
|
+
| Outil | Ce qu'il fait |
|
|
38
|
+
| ----------------- | ------------------------------------------------------------------------------- |
|
|
39
|
+
| `read_invoice` | Ouvre la facture : parties, lignes, ventilation de TVA, totaux, règlement |
|
|
40
|
+
| `check_invoice` | Répond à « est-elle en règle ? » — contrôles EN 16931, sans afficher le contenu |
|
|
41
|
+
| `invoice_to_json` | Le modèle canonique complet, pour un script ou un tableur |
|
|
42
|
+
|
|
43
|
+
Les constats sont rendus en **français, anglais, allemand ou néerlandais** —
|
|
44
|
+
paramètre `locale`.
|
|
45
|
+
|
|
46
|
+
Des demandes qui fonctionnent telles quelles :
|
|
47
|
+
|
|
48
|
+
- « Ouvre `~/factures/F2026-114.xml` et dis-moi le net à payer »
|
|
49
|
+
- « Cette facture est-elle conforme ? »
|
|
50
|
+
- « Vérifie toutes les factures de ce dossier et liste celles qui posent problème »
|
|
51
|
+
|
|
52
|
+
## Ce qui est contrôlé
|
|
53
|
+
|
|
54
|
+
Les règles `BR-xx` de la norme européenne EN 16931, plus des vérifications
|
|
55
|
+
propres : clé de contrôle des IBAN, structure du SIREN et des numéros de TVA,
|
|
56
|
+
cohérence entre chaque montant de TVA et sa base imposable, antériorité de la
|
|
57
|
+
date d'émission sur l'échéance.
|
|
58
|
+
|
|
59
|
+
Un fichier XML peut être parfaitement bien formé et pourtant faux. Le XML
|
|
60
|
+
garantit la structure, pas la justesse.
|
|
61
|
+
|
|
62
|
+
## Rien ne sort de votre machine
|
|
63
|
+
|
|
64
|
+
Ce serveur n'effectue **aucun accès réseau**. Pas de client HTTP, pas de
|
|
65
|
+
télémétrie, pas de vérification de mise à jour. Vous n'avez pas à nous croire :
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
grep -c "fetch(\|XMLHttpRequest\|node:http" "$(npm root -g)/@lekteo/mcp/dist/server.js"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
La compilation **échoue** si l'une de ces chaînes apparaît dans le bundle.
|
|
72
|
+
C'est un contrôle du build, pas une intention affichée.
|
|
73
|
+
|
|
74
|
+
Le code de l'enveloppe est livré dans `src/`, sous Apache 2.0, pour que vous
|
|
75
|
+
puissiez le lire avant de le pointer sur vos factures. Le moteur de lecture est
|
|
76
|
+
compilé dans `dist/` et reste propriétaire, d'usage et de redistribution
|
|
77
|
+
libres. Les conditions complètes sont dans le fichier `LICENSE`, livré avec le paquet.
|
|
78
|
+
|
|
79
|
+
## Pourquoi il tourne en local
|
|
80
|
+
|
|
81
|
+
[lekteo.eu](https://lekteo.eu) lit les factures dans le navigateur, et
|
|
82
|
+
n'importe qui peut vérifier que rien ne quitte sa machine en ouvrant l'onglet
|
|
83
|
+
réseau. Un assistant n'ouvre pas d'onglet. Servir la même fonction depuis un
|
|
84
|
+
serveur distant aurait voulu dire téléverser vos factures chez nous, ce que ce
|
|
85
|
+
produit existe précisément pour éviter.
|
|
86
|
+
|
|
87
|
+
Donc ça tourne chez vous. La promesse n'est pas seulement préservée, elle
|
|
88
|
+
s'élargit : elle vaut désormais aussi hors du navigateur.
|
|
89
|
+
|
|
90
|
+
## La version web
|
|
91
|
+
|
|
92
|
+
**[lekteo.eu](https://lekteo.eu)** — même moteur, dans le navigateur, sans
|
|
93
|
+
installation. Utile quand vous voulez juste voir une facture, ou traiter un
|
|
94
|
+
dossier entier avec un récapitulatif exportable.
|
|
95
|
+
|
|
96
|
+
La [page MCP](https://lekteo.eu/mcp) reprend ce fichier, en quatre langues.
|
|
97
|
+
|
|
98
|
+
## Soutenir
|
|
99
|
+
|
|
100
|
+
Ce serveur est gratuit et le restera. S'il vous fait gagner du temps au
|
|
101
|
+
travail, il y a un lien de soutien sur [lekteo.eu](https://lekteo.eu) — il n'y
|
|
102
|
+
en aura jamais dans les réponses de l'outil.
|
package/README.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# @lekteo/mcp
|
|
2
|
+
|
|
3
|
+
**English** · [Français](https://lekteo.eu/mcp) · [Deutsch](https://lekteo.eu/de/mcp) · [Nederlands](https://lekteo.eu/nl/mcp)
|
|
4
|
+
|
|
5
|
+
**Read your electronic invoices from your assistant, without them leaving your machine.**
|
|
6
|
+
|
|
7
|
+
UBL 2.1, CII D22B, Factur-X, ZUGFeRD, XRechnung, Peppol BIS. The file is read
|
|
8
|
+
from your disk, parsed in your process, and nothing is transmitted anywhere.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
Nothing to install as such: the command fetches the server on demand.
|
|
13
|
+
|
|
14
|
+
**Claude Code**
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
claude mcp add lekteo -- npx -y @lekteo/mcp
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Claude Desktop** — in `claude_desktop_config.json`:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"mcpServers": {
|
|
25
|
+
"lekteo": { "command": "npx", "args": ["-y", "@lekteo/mcp"] }
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Other MCP clients**: command `npx`, arguments `["-y", "@lekteo/mcp"]`, stdio
|
|
31
|
+
transport. Node 20 or later.
|
|
32
|
+
|
|
33
|
+
## What it gives you
|
|
34
|
+
|
|
35
|
+
| Tool | What it does |
|
|
36
|
+
| ----------------- | -------------------------------------------------------------------------- |
|
|
37
|
+
| `read_invoice` | Opens the invoice: parties, lines, VAT breakdown, totals, payment |
|
|
38
|
+
| `check_invoice` | Answers "is this in order?" — EN 16931 checks, without showing the content |
|
|
39
|
+
| `invoice_to_json` | The full canonical model, for a script or a spreadsheet |
|
|
40
|
+
|
|
41
|
+
Findings are rendered in **English, French, German or Dutch** — the `locale`
|
|
42
|
+
parameter, French by default.
|
|
43
|
+
|
|
44
|
+
Requests that work as they stand:
|
|
45
|
+
|
|
46
|
+
- "Open `~/invoices/F2026-114.xml` and tell me the amount due"
|
|
47
|
+
- "Is this invoice compliant?"
|
|
48
|
+
- "Check every invoice in this folder and list the ones with a problem"
|
|
49
|
+
|
|
50
|
+
## What is checked
|
|
51
|
+
|
|
52
|
+
The `BR-xx` rules of the European EN 16931 standard, plus checks of our own:
|
|
53
|
+
IBAN check digits, structure of company and VAT numbers, each VAT amount
|
|
54
|
+
against its taxable base, and the issue date preceding the due date.
|
|
55
|
+
|
|
56
|
+
An XML file can be perfectly well-formed and still wrong. XML guarantees
|
|
57
|
+
structure, not correctness.
|
|
58
|
+
|
|
59
|
+
## Nothing leaves your machine
|
|
60
|
+
|
|
61
|
+
This server performs **no network access**. No HTTP client, no telemetry, no
|
|
62
|
+
update check. You do not have to take our word for it:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
grep -c "fetch(\|XMLHttpRequest\|node:http" "$(npm root -g)/@lekteo/mcp/dist/server.js"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The build **fails** if any of those strings appears in the bundle. It is a
|
|
69
|
+
check in the build, not a stated intention.
|
|
70
|
+
|
|
71
|
+
The wrapper source ships in `src/`, under Apache 2.0, so you can read it
|
|
72
|
+
before pointing it at your invoices. The reading engine is compiled into
|
|
73
|
+
`dist/` and stays proprietary, free to use and to redistribute unmodified.
|
|
74
|
+
The full terms are in the `LICENSE` file, shipped with the package.
|
|
75
|
+
|
|
76
|
+
## Why it runs locally
|
|
77
|
+
|
|
78
|
+
[lekteo.eu](https://lekteo.eu/en) reads invoices inside the browser, and
|
|
79
|
+
anyone can verify that nothing leaves their machine by opening the network
|
|
80
|
+
tab. An assistant does not open a tab. Serving the same feature from a remote
|
|
81
|
+
endpoint would have meant uploading your invoices to us — precisely what this
|
|
82
|
+
product exists to avoid.
|
|
83
|
+
|
|
84
|
+
So it runs on your machine. The promise is not merely preserved, it widens: it
|
|
85
|
+
now holds outside the browser too.
|
|
86
|
+
|
|
87
|
+
## The web version
|
|
88
|
+
|
|
89
|
+
**[lekteo.eu](https://lekteo.eu/en)** — same engine, in the browser, with no
|
|
90
|
+
installation. Useful when you simply want to look at an invoice, or run a
|
|
91
|
+
whole folder with an exportable summary.
|
|
92
|
+
|
|
93
|
+
The [MCP page](https://lekteo.eu/en/mcp) covers the same ground as this file,
|
|
94
|
+
in four languages.
|
|
95
|
+
|
|
96
|
+
## Support
|
|
97
|
+
|
|
98
|
+
This server is free and will stay free. If it saves you time at work, there is
|
|
99
|
+
a support link on [lekteo.eu](https://lekteo.eu/en) — there will never be one
|
|
100
|
+
in the tool's answers.
|
package/README.nl.md
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# @lekteo/mcp
|
|
2
|
+
|
|
3
|
+
[English](https://lekteo.eu/en/mcp) · [Français](https://lekteo.eu/mcp) · [Deutsch](https://lekteo.eu/de/mcp) · **Nederlands**
|
|
4
|
+
|
|
5
|
+
**Lees uw elektronische facturen vanuit uw assistent, zonder dat ze uw toestel verlaten.**
|
|
6
|
+
|
|
7
|
+
UBL 2.1, CII D22B, Factur-X, ZUGFeRD, XRechnung, Peppol BIS. Het bestand wordt
|
|
8
|
+
van uw schijf gelezen, in uw proces verwerkt, en er wordt niets ergens naartoe
|
|
9
|
+
gestuurd.
|
|
10
|
+
|
|
11
|
+
## Installatie
|
|
12
|
+
|
|
13
|
+
Er valt eigenlijk niets te installeren: het commando haalt de server op
|
|
14
|
+
wanneer nodig.
|
|
15
|
+
|
|
16
|
+
**Claude Code**
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
claude mcp add lekteo -- npx -y @lekteo/mcp
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Claude Desktop** — in `claude_desktop_config.json`:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"mcpServers": {
|
|
27
|
+
"lekteo": { "command": "npx", "args": ["-y", "@lekteo/mcp"] }
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Andere MCP-clients**: commando `npx`, argumenten `["-y", "@lekteo/mcp"]`,
|
|
33
|
+
transport stdio. Node 20 of nieuwer.
|
|
34
|
+
|
|
35
|
+
## Wat het u oplevert
|
|
36
|
+
|
|
37
|
+
| Hulpmiddel | Wat het doet |
|
|
38
|
+
| ----------------- | -------------------------------------------------------------------------------- |
|
|
39
|
+
| `read_invoice` | Opent de factuur: partijen, regels, btw-uitsplitsing, totalen, betaling |
|
|
40
|
+
| `check_invoice` | Beantwoordt “is zij in orde?” — controles op EN 16931, zonder de inhoud te tonen |
|
|
41
|
+
| `invoice_to_json` | Het volledige kanonieke model, voor een script of een rekenblad |
|
|
42
|
+
|
|
43
|
+
De vaststellingen verschijnen in het **Nederlands, Frans, Engels of Duits** —
|
|
44
|
+
parameter `locale`.
|
|
45
|
+
|
|
46
|
+
Vragen die meteen werken:
|
|
47
|
+
|
|
48
|
+
- “Open `~/facturen/F2026-114.xml` en zeg me het te betalen bedrag”
|
|
49
|
+
- “Is deze factuur conform?”
|
|
50
|
+
- “Controleer alle facturen in deze map en noem de foutieve”
|
|
51
|
+
|
|
52
|
+
## Wat er wordt gecontroleerd
|
|
53
|
+
|
|
54
|
+
De `BR-xx`-regels van de Europese norm EN 16931, plus eigen nazichten: het
|
|
55
|
+
controlegetal van de IBAN, de opbouw van ondernemings- en btw-nummers, elk
|
|
56
|
+
btw-bedrag tegen zijn maatstaf van heffing, en de factuurdatum vóór de
|
|
57
|
+
vervaldatum.
|
|
58
|
+
|
|
59
|
+
Een XML-bestand kan perfect gevormd zijn en toch fout. De XML waarborgt de
|
|
60
|
+
structuur, niet de juistheid.
|
|
61
|
+
|
|
62
|
+
## Niets verlaat uw toestel
|
|
63
|
+
|
|
64
|
+
Deze server voert **geen enkele netwerktoegang** uit. Geen HTTP-client, geen
|
|
65
|
+
telemetrie, geen controle op updates. U hoeft ons niet te geloven:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
grep -c "fetch(\|XMLHttpRequest\|node:http" "$(npm root -g)/@lekteo/mcp/dist/server.js"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
De build **mislukt** als een van die tekenreeksen in het bundel opduikt. Dat is
|
|
72
|
+
een controle in de build, geen verklaarde bedoeling.
|
|
73
|
+
|
|
74
|
+
De broncode van de omhulling zit in `src/`, onder Apache 2.0, zodat u hem kunt
|
|
75
|
+
lezen voordat u hem op uw facturen richt. De leesmotor is gecompileerd in
|
|
76
|
+
`dist/` en blijft eigendom van de uitgever, vrij in gebruik en ongewijzigd vrij
|
|
77
|
+
te verspreiden. De volledige voorwaarden staan in het bestand `LICENSE`, dat met het pakket wordt meegeleverd.
|
|
78
|
+
|
|
79
|
+
## Waarom hij lokaal draait
|
|
80
|
+
|
|
81
|
+
[lekteo.eu](https://lekteo.eu/nl) leest facturen in de browser, en iedereen kan
|
|
82
|
+
in het netwerktabblad nakijken dat er niets zijn toestel verlaat. Een assistent
|
|
83
|
+
opent geen tabblad. Dezelfde functie vanaf een server aanbieden zou betekenen
|
|
84
|
+
dat uw facturen naar ons worden geüpload, precies wat dit product wil
|
|
85
|
+
vermijden.
|
|
86
|
+
|
|
87
|
+
Dus draait hij bij u. De belofte blijft niet alleen overeind, zij wordt ruimer:
|
|
88
|
+
zij geldt nu ook buiten de browser.
|
|
89
|
+
|
|
90
|
+
## De webversie
|
|
91
|
+
|
|
92
|
+
**[lekteo.eu](https://lekteo.eu/nl)** — dezelfde motor, in de browser, zonder
|
|
93
|
+
installatie. Handig wanneer u gewoon een factuur wilt bekijken, of een hele map
|
|
94
|
+
wilt verwerken met een exporteerbaar overzicht.
|
|
95
|
+
|
|
96
|
+
De [MCP-pagina](https://lekteo.eu/nl/mcp) behandelt hetzelfde, in vier talen.
|
|
97
|
+
|
|
98
|
+
## Steunen
|
|
99
|
+
|
|
100
|
+
Deze server is gratis en blijft dat. Bespaart hij u tijd op het werk, dan staat
|
|
101
|
+
er een link om te steunen op [lekteo.eu](https://lekteo.eu/nl) — in de
|
|
102
|
+
antwoorden van het hulpmiddel zal er nooit een staan.
|