mcp-databnf 2.0.0 → 2.1.0
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/CHANGELOG.md +8 -0
- package/PRIVACY.md +152 -0
- package/README.md +523 -301
- package/dist/bnf/client.d.ts +11 -1
- package/dist/bnf/client.js +53 -2
- package/dist/bnf/client.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/server.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
- **The client entry point publishes `parseEntityId` and the `EntityId` type.**
|
|
6
|
+
Every route that reads one record takes an identifier rather than a string,
|
|
7
|
+
because one built from a guess reaches a record that does not exist and the
|
|
8
|
+
answer reads as an absence. A program importing `mcp-databnf/client` can now
|
|
9
|
+
build one, which it could not before.
|
|
10
|
+
|
|
3
11
|
## 2.0.0
|
|
4
12
|
|
|
5
13
|
- **This server now needs node 24 or later.** Node 20 reached its end of
|
package/PRIVACY.md
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Privacy
|
|
2
|
+
|
|
3
|
+
This server collects nothing about you, and sends nothing to its author.
|
|
4
|
+
|
|
5
|
+
_[Version française](#confidentialité)_
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What this server is
|
|
10
|
+
|
|
11
|
+
`mcp-databnf` is a read-only client for [data.bnf.fr, the open catalogue of the Bibliothèque nationale de France](https://data.bnf.fr). It runs on your
|
|
12
|
+
own machine, as a process your MCP host starts, and it speaks over stdio. It
|
|
13
|
+
listens on no port.
|
|
14
|
+
|
|
15
|
+
It needs no API key and no account, so there is no credential for it to hold and none for it to send.
|
|
16
|
+
|
|
17
|
+
## What leaves your machine, and where it goes
|
|
18
|
+
|
|
19
|
+
**One host is contacted: `data.bnf.fr`.** Nothing else.
|
|
20
|
+
|
|
21
|
+
| Host | What is read there |
|
|
22
|
+
| ------------- | ------------------------------------ |
|
|
23
|
+
| `data.bnf.fr` | the open catalogue's SPARQL endpoint |
|
|
24
|
+
|
|
25
|
+
What a request carries:
|
|
26
|
+
|
|
27
|
+
| What | Why it is there |
|
|
28
|
+
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
29
|
+
| The question you asked | A search term or an identifier reaches the site as you wrote it. |
|
|
30
|
+
| A `User-Agent` | `mcp-databnf/<version> (+https://github.com/smeet666/mcp-databnf)`, so the site can reach a person about the traffic it receives. |
|
|
31
|
+
| Your IP address | Sent by your network to any host you contact, as with any web request. |
|
|
32
|
+
|
|
33
|
+
Your requests reach data.bnf.fr, the open catalogue of the Bibliothèque nationale de France. What is done with them there is governed by that site's own privacy policy, which this project does not control.
|
|
34
|
+
|
|
35
|
+
## What is kept, and for how long
|
|
36
|
+
|
|
37
|
+
**Answers are held in memory only, and only while the server runs.** The cache is
|
|
38
|
+
a table in the process: it holds what was read so that reading the same page
|
|
39
|
+
twice costs one request instead of two. Closing the server empties it.
|
|
40
|
+
|
|
41
|
+
**Nothing is written to disk.** The server creates no file, no database and no
|
|
42
|
+
log file.
|
|
43
|
+
|
|
44
|
+
## What is never collected
|
|
45
|
+
|
|
46
|
+
- No analytics, no telemetry, no usage counter.
|
|
47
|
+
- Nothing is sent to the author of this project or to any third party.
|
|
48
|
+
- No account, no profile, no identifier is created for you.
|
|
49
|
+
- Your questions are not stored, forwarded, or used to train anything.
|
|
50
|
+
|
|
51
|
+
## Logs
|
|
52
|
+
|
|
53
|
+
The server writes diagnostics to **stderr**, where your MCP host decides what
|
|
54
|
+
becomes of them. `BNF_LOG_LEVEL` governs how much is written and defaults to `error`. These lines stay on your machine.
|
|
55
|
+
|
|
56
|
+
## The settings that change any of this
|
|
57
|
+
|
|
58
|
+
| Variable | What it changes |
|
|
59
|
+
| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
|
|
60
|
+
| `BNF_USER_AGENT` | Adds your own identifier in front of this project's, which stays appended so the site can always reach a person. |
|
|
61
|
+
| `BNF_CACHE_TTL_MS` | How long an answer is held in memory. `0` turns the cache off. |
|
|
62
|
+
| `BNF_LOG_LEVEL` | How much is written to stderr. |
|
|
63
|
+
|
|
64
|
+
## Children
|
|
65
|
+
|
|
66
|
+
This server is a tool for developers and it is not directed at children.
|
|
67
|
+
|
|
68
|
+
## Changes
|
|
69
|
+
|
|
70
|
+
A change to this policy travels in a release, and the changelog names it.
|
|
71
|
+
|
|
72
|
+
## Contact
|
|
73
|
+
|
|
74
|
+
Open an issue on [the repository](https://github.com/smeet666/mcp-databnf/issues). For something exploitable,
|
|
75
|
+
follow [SECURITY.md](./SECURITY.md) instead.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
# Confidentialité
|
|
80
|
+
|
|
81
|
+
Ce serveur ne collecte rien sur vous et n'envoie rien à son auteur.
|
|
82
|
+
|
|
83
|
+
## Ce qu'est ce serveur
|
|
84
|
+
|
|
85
|
+
`mcp-databnf` est un client en lecture seule pour [data.bnf.fr, le catalogue ouvert de la Bibliothèque nationale de France](https://data.bnf.fr). Il
|
|
86
|
+
tourne sur votre machine, comme un processus que votre hôte MCP démarre, et il
|
|
87
|
+
parle en stdio. Il n'écoute sur aucun port.
|
|
88
|
+
|
|
89
|
+
Il ne demande ni clé d'API ni compte, donc il ne détient aucun identifiant et n'en envoie aucun.
|
|
90
|
+
|
|
91
|
+
## Ce qui quitte votre machine, et où cela va
|
|
92
|
+
|
|
93
|
+
**Un seul hôte est joint : `data.bnf.fr`.** Rien d'autre.
|
|
94
|
+
|
|
95
|
+
| Hôte | Ce qui y est lu |
|
|
96
|
+
| ------------- | ----------------------------------- |
|
|
97
|
+
| `data.bnf.fr` | le point SPARQL du catalogue ouvert |
|
|
98
|
+
|
|
99
|
+
Ce qu'une requête emporte :
|
|
100
|
+
|
|
101
|
+
| Quoi | Pourquoi |
|
|
102
|
+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
103
|
+
| La question posée | Un terme de recherche ou un identifiant atteint le site tel que vous l'avez écrit. |
|
|
104
|
+
| Un `User-Agent` | `mcp-databnf/<version> (+https://github.com/smeet666/mcp-databnf)`, pour que le site puisse joindre une personne au sujet du trafic qu'il reçoit. |
|
|
105
|
+
| Votre adresse IP | Transmise par votre réseau à tout hôte que vous joignez, comme pour n'importe quelle requête web. |
|
|
106
|
+
|
|
107
|
+
Vos requêtes atteignent data.bnf.fr, le catalogue ouvert de la Bibliothèque nationale de France. Ce qui en est fait là-bas relève de la politique de confidentialité de ce site, que ce projet ne contrôle pas.
|
|
108
|
+
|
|
109
|
+
## Ce qui est conservé, et combien de temps
|
|
110
|
+
|
|
111
|
+
**Les réponses sont gardées en mémoire seulement, et seulement pendant que le
|
|
112
|
+
serveur tourne.** Le cache est une table dans le processus : il retient ce qui a
|
|
113
|
+
été lu pour que lire deux fois la même page coûte une requête plutôt que deux.
|
|
114
|
+
Fermer le serveur le vide.
|
|
115
|
+
|
|
116
|
+
**Rien n'est écrit sur le disque.** Le serveur ne crée aucun fichier, aucune base
|
|
117
|
+
et aucun journal.
|
|
118
|
+
|
|
119
|
+
## Ce qui n'est jamais collecté
|
|
120
|
+
|
|
121
|
+
- Aucune analyse d'audience, aucune télémétrie, aucun compteur d'usage.
|
|
122
|
+
- Rien n'est envoyé à l'auteur de ce projet ni à un tiers.
|
|
123
|
+
- Aucun compte, aucun profil, aucun identifiant n'est créé pour vous.
|
|
124
|
+
- Vos questions ne sont ni stockées, ni transmises, ni utilisées pour entraîner
|
|
125
|
+
quoi que ce soit.
|
|
126
|
+
|
|
127
|
+
## Les journaux
|
|
128
|
+
|
|
129
|
+
Le serveur écrit ses diagnostics sur **stderr**, où votre hôte MCP décide de ce
|
|
130
|
+
qu'ils deviennent. `BNF_LOG_LEVEL` règle leur quantité et vaut `error` par défaut. Ces lignes restent sur votre machine.
|
|
131
|
+
|
|
132
|
+
## Les réglages qui changent tout cela
|
|
133
|
+
|
|
134
|
+
| Variable | Ce qu'elle change |
|
|
135
|
+
| ------------------ | ------------------------------------------------------------------------------------------------------------------------ |
|
|
136
|
+
| `BNF_USER_AGENT` | Ajoute votre identifiant devant celui du projet, qui reste accolé pour que le site puisse toujours joindre une personne. |
|
|
137
|
+
| `BNF_CACHE_TTL_MS` | Combien de temps une réponse est gardée en mémoire. `0` éteint le cache. |
|
|
138
|
+
| `BNF_LOG_LEVEL` | La quantité écrite sur stderr. |
|
|
139
|
+
|
|
140
|
+
## Les enfants
|
|
141
|
+
|
|
142
|
+
Ce serveur est un outil pour développeurs et ne s'adresse pas aux enfants.
|
|
143
|
+
|
|
144
|
+
## Les évolutions
|
|
145
|
+
|
|
146
|
+
Une modification de cette politique voyage dans une version, et le changelog la
|
|
147
|
+
nomme.
|
|
148
|
+
|
|
149
|
+
## Contact
|
|
150
|
+
|
|
151
|
+
Ouvrez une issue sur [le dépôt](https://github.com/smeet666/mcp-databnf/issues). Pour quelque chose
|
|
152
|
+
d'exploitable, suivez plutôt [SECURITY.md](./SECURITY.md).
|