mcp-libraryofcongress 2.1.2 → 3.0.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 CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.0.0
4
+
5
+ - **This server now needs node 24 or later.** Node 20 reached its end of
6
+ support on 2026-04-30 and node 22 is no longer what this code is built and
7
+ typed against. That is what makes this a major version: an install on an
8
+ older node is refused rather than left to fail somewhere later.
9
+ - **Every refusal of an argument opens with `invalid_input`.** A value outside
10
+ its bounds, of the wrong type, or outside the set an argument reads used to
11
+ come back in the validator's own words, with no code to branch on.
12
+ - **A container image is published for each version**, on ghcr, for amd64 and
13
+ arm64. The readme carries the configuration that runs it.
14
+ - The published package carries its changelog, and the entry point it declares
15
+ for the package root now publishes its types.
16
+
3
17
  ## 2.1.2
4
18
 
5
19
  - A search the Library could not run is reported as a failure instead of as an
package/README.md CHANGED
@@ -5,9 +5,10 @@
5
5
  [![license](https://img.shields.io/npm/l/mcp-libraryofcongress.svg)](./LICENSE)
6
6
  [![MCP Registry](https://img.shields.io/badge/MCP_Registry-listed-6E56CF)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.smeet666/mcp-libraryofcongress)
7
7
  [![Glama](https://glama.ai/mcp/servers/smeet666/mcp-libraryofcongress/badges/score.svg)](https://glama.ai/mcp/servers/smeet666/mcp-libraryofcongress)
8
- [![M8ven Score](https://m8ven.ai/badge/mcp/smeet666-mcp-libraryofcongress-1rr3lc)](https://m8ven.ai/mcp/smeet666-mcp-libraryofcongress-1rr3lc)
8
+ [![M8ven](https://m8ven.ai/badge/mcp/smeet666-mcp-libraryofcongress-1rr3lc?variant=verified)](https://m8ven.ai/mcp/smeet666-mcp-libraryofcongress-1rr3lc)
9
9
  [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=libraryofcongress&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIm1jcC1saWJyYXJ5b2Zjb25ncmVzcyJdfQ%3D%3D)
10
10
  [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=libraryofcongress&config=%7B%22name%22%3A%22libraryofcongress%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22mcp-libraryofcongress%22%5D%7D)
11
+ <!-- m8ven-verify: 69c0541bf1d6a6e94b450b4d2b058659 -->
11
12
 
12
13
  An MCP server for the [Library of Congress](https://www.loc.gov). **Search the
13
14
  text scanned off digitised American newspaper pages**, search the catalogue by
@@ -42,7 +43,24 @@ claude mcp add libraryofcongress -- npx -y mcp-libraryofcongress
42
43
  }
43
44
  ```
44
45
 
45
- Node 20 or later.
46
+ ### With Docker
47
+
48
+ ```json
49
+ {
50
+ "mcpServers": {
51
+ "libraryofcongress": {
52
+ "command": "docker",
53
+ "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-libraryofcongress:3.0.0"]
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ `-i` keeps stdin open, which is where the protocol travels, and no `-t` is
60
+ passed: a TTY rewrites the stream and breaks it. The container needs outbound
61
+ HTTPS to `www.loc.gov` and `lccn.loc.gov`, and nothing else: no volume, no port, no environment variable, no credential.
62
+
63
+ Node 24 or later.
46
64
 
47
65
  **Bundle, without npm**
48
66
 
@@ -395,7 +413,25 @@ claude mcp add libraryofcongress -- npx -y mcp-libraryofcongress
395
413
  }
396
414
  ```
397
415
 
398
- Node 20 ou plus récent.
416
+ ### Avec Docker
417
+
418
+ ```json
419
+ {
420
+ "mcpServers": {
421
+ "libraryofcongress": {
422
+ "command": "docker",
423
+ "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-libraryofcongress:3.0.0"]
424
+ }
425
+ }
426
+ }
427
+ ```
428
+
429
+ `-i` garde l'entrée standard ouverte, qui est le canal du protocole, et aucun
430
+ `-t` n'est passé : un terminal réécrit le flux et le casse. Le conteneur a besoin
431
+ d'un accès HTTPS sortant vers `www.loc.gov` et `lccn.loc.gov`, et de rien d'autre :
432
+ aucun volume, aucun port, aucune variable d'environnement, aucun identifiant.
433
+
434
+ Node 24 ou plus récent.
399
435
 
400
436
  **Bundle, sans npm**
401
437