Lovely project!
I couldn't find any public implementations, so ended up building one myself.
What it does?
- It searches Anna's Archive by keywords. - It downloads books from search results. - It works directly in Claude Desktop through MCP.
Check out the repository's README for detailed installation and configuration instructions.
The code is fully open source and builds run on GitHub Actions for transparency.
I figured I'd share, since I couldn't be the only one wanting this functionality!
I justified the hours I invested by thinking I could search, download, and explore books directly from Claude Desktop. While the initial steps are achievable with a CLI tool, the integration opens up new possibilities.
Some general thoughts:
- You’ll find the MCP mental model similar to the API one. - MCP integrations make it easier for non-technical users to access tools that were previously too technical. - An MCP integration implicitly respects a contract, unlike CLIs and GUIs which involve human aspects (aesthetics, information organisation, etc.). - MCP is an excuse for people to democratize data access. I wrote about this aspect here: https://x.com/iosifache/status/1941049600162574676?s=46
And BTW, that’s a good idea! The functionality should probably also be exposed via CLI.
An MCP server provides enough metadata and self-documentation that it's quite straightforward to make a MCP-agnostic CLI client that adapts an arbitrary MCP server into a set of flags that allow you to call its explicit tools with explicit arguments - without ever needing to involve an LLM in the mix! You could even have that CLI tool launch the MCP server as a local subprocess, if you wanted - again, all deterministically.
And if you want to have an SDK in any language under the sun, once you have an MCP outputting reasonable tool descriptions, any LLM could make a best-in-class SDK for you in a heartbeat following that language's best practices.
So it's not unreasonable for someone working on a greenfield project to make an MCP server first nowadays!
MCP: You paste one command to register the MCP and your AI will always know what it is and where/why it should be used.
Or—and please bear with me, I know this may sound insane—you call the command-line tool yourself, reliably, fast, with little overhead, just like it has worked for decades.
I know, I know, soon most people won’t even know how to unzip their pants without spending unnecessary amounts of electricity and waiting for several seconds for an LLM response, but believe me that just using your hands is a solution worth checking out.
The LLM's default web-browsing tool probably won't or can't download books from AA while looking for information on a subject. This enables it to do so.
A CLI tool, while it can do the same, doesn't do that in a standard way, so if it's a tool not in the agents training set or in its context it won't know how to use the tool.