@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 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.