Search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer.
MCPpedia last refreshed this data
io.github.smeet666/mcp-books is an MCP server that search the Internet Archive, the Library of Congress and data.bnf.fr at once, in one answer. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 89/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"books": {
"args": [
"-y",
"mcp-books"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
One question, several archives. An MCP server that asks every archive it reads at the same time, inside the scanned text and across the catalogues, and merges what comes back without flattening what makes the two answers different.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'mcp-books' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked mcp-books against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
Transport for TMCP using STDIO
The graph based agentic IDE
Buddhist canon tools: search, passages, cross-canon parallels, dictionaries — all URN-cited.
MCP Security Weekly
Get CVE alerts and security updates for io.github.smeet666/mcp-books and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
One question, several archives. An MCP server that asks every archive it reads at the same time, inside the scanned text and across the catalogues, and merges what comes back without flattening what makes the two answers different.
Today it reads three: the Internet Archive, holding the machine-read text of digitised books, periodicals and documents; the Library of Congress, holding the text of American newspaper pages and one catalogue per kind of material; and data.bnf.fr, the open catalogue of the Bibliothèque nationale de France, which describes works as entities and holds no text of its own.
No API key. No account. Read-only.
These archives answer different questions with the same gesture. One reads the text inside digitised books; another reads the text printed on newspaper pages; another describes works a national library has catalogued, and carries no text at all. Searching for a phrase asks where that phrase was ever printed, in books and in the press at once, and the archive that holds no text is named as absent from that question rather than quietly left out.
The merge is therefore additive. It is what each archive holds, put together. Nothing is set side by side, because archives holding different things have nothing to compare.
This server:
Merging two archives is easy if you are willing to lose what tells them apart. This one keeps every difference visible:
| The difference | What a flattened answer would do | What happens here |
|---|---|---|
| One index holds a page number, the other holds none | Invent a page, or drop a true one | page_number is a real leaf on one archive and null on the other, and the answer says which |
| One returns the matched passage, the other the opening of the page | Present both under one field name | excerpt_kind travels with every match, th |