frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Show HN: MCP server for searching and downloading documents from Anna's Archive

https://github.com/iosifache/annas-mcp
99•iosifache•8h ago
I was looking around for an MCP server that could connect Anna's Archive to Claude Desktop, as I wanted to be able to search and download books directly through the interface.

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!

Comments

neilv•7h ago
> This software does not endorse unauthorized acquisition of copyrighted content and should be regarded solely as a utility. Users are urged to respect the intellectual property rights of authors and acknowledge the considerable effort invested in document creation.

How sincere is that statement?

bigyabai•7h ago
As sincere as the user takes it.
iosifache•7h ago
I just provide a hammer. Users decide whether they're hitting their own nail or the metal one.

The comparison might be loose, but the problem is similar to releasing a browser. Do you prevent users from accessing websites you think are malicious or illegal? Or do you delegate that responsibility?

I was hesitant about releasing the MCP server as open source software, but I hope (1) it proves useful for others and (2) people understand that the authors of the books they're reading need money to eat, live, and support their families.

TylerE•48m ago
> The comparison might be loose, but the problem is similar to releasing a browser. Do you prevent users from accessing websites you think are malicious or illegal? Or do you delegate that responsibility?

I might liken the situation more to releasing a browser and setting thepiratebay as the homepage.

iosifache•12m ago
That would imply constantly reminding users of an available action, which isn't the case since the MCP server is just a dormant capability that needs to be triggered.
ASalazarMX•7h ago
I'd bet you won't find a single string containing "acquire copyrighted content arrr!", so pretty sincere. The software doesn't endorse it.
hereme888•5h ago
As sincere as LLM providers not wanting to get sued for the copyrighted content they used.
thorum•7h ago
Interesting project! I’m a little surprised that Claude is willing to call these functions. The demo screenshot is downloading a public domain work, I wonder if it would also happily go along with requests for Harry Potter or other copyrighted material?
throwaway314155•7h ago
Last I checked downloading isn't the issue. It's distributing. Not an expert though.
iosifache•7h ago
> I wonder if it would also happily go along with requests for Harry Potter or other copyrighted material?

There's no way to protect against this. Anna's Archive doesn't include licence information in their data fields. It would be helpful to integrate with another data source that could warn MCP server users when they're attempting potentially risky actions. Please let me know if you have ideas on how to achieve this.

On a related note, please see this reply:

https://news.ycombinator.com/reply?id=44515205

throwaway314155•6h ago
Thanks, good context.
hotstickyballs•7h ago
Just give the AI something worse that would happen if it doesn’t call these functions.
jddj•7h ago
The ironic universe theory would dictate that LLMs should tell us that downloading and consuming copyrighted material from pirates books is wrong.
totetsu•5h ago
Aren’t they all trained on copyrighted material, and lobbying governments to make that legal? Should copyright law only apply to the plebs?
puppycodes•7h ago
love this. god bless anna's archive
iosifache•6h ago
Cheers!
toomuchtodo•7h ago
Edit: Would you accept a PR to override the search and download endpoint hostnames with env vars? For someone who has their own copy and ES index, it might be helpful to support overriding the public endpoint hostnames (/internal/anna/anna.go#L22-L23).
iosifache•7h ago
> local copy of this corpus

Are you referring to the JSON index (https://annas-archive.org/faq#api)?

xmonkee•7h ago
I'm an LLM noob, but how feasible it is to make a research agent that can not only download articles, but read and reference them in it's process?
iosifache•7h ago
It's doable, as you'll also find MCP servers for reading files [1].

Claude Desktop also has a built-in file reader [2], so you can ask it to read the file and process the content (e.g., generate a summary or even a meta-summary [3]).

[1] https://github.com/sylphxltd/pdf-reader-mcp [2] https://github.com/modelcontextprotocol/servers/tree/main/sr... [3] https://x.com/iosifache/status/1942247320302547175

conception•7h ago
Firecrawl -> Rag -> mcp is the general path
irskep•7h ago
What advantage do you get from this being an MCP server rather than simply a command line tool? Genuinely curious, as I'm trying to develop my mental model of when to use one or the other.

Lovely project!

iosifache•6h ago
Cheers, glad you like it!

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.

btown•6h ago
https://neon.com/blog/building-a-cli-client-for-model-contex... might be of interest.

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!

iosifache•5m ago
Agreed on all of this! I'm expecting MCP server creation to be natively supported by API libraries. The abstractions are very similar.
profsummergig•2h ago
My understanding of Anna's Archive is that one has to download large zip files (>10 Gb) containing thousands of books even if one wants only a single book.

Am I correct here?

Does this MCP server allow one to download just a single book?

I remember once using an IPFS based tool to download a single 200-year-old, out-of-copyright copy of "Last of the Mohicans" from Anna's Archive. It worked, but was very very complicated to figure out how to make it work.

LeratoAustini•1h ago
I've downloaded single books several times recently (annas-archive.org in the browser):

  - search for book
  - tap a result
  - see a list of links to download mirrors (under 'slow downloads'), tap a link
  - get a countdown timer
  - timer expires, download links appear
  - click a link, book downloads just like any other download
iosifache•9m ago
The waiting part is nonexistent if you have an active donation (which is also required by this MCP server for API access). The fast downloads mean you request a book and start downloading it immediately.
navigate8310•44m ago
You are incorrect in your assumption. Though I would also like you to search for "IRC books reddit". Unlike Anna's Archive, you get high quality books with fast download speeds.

A Virginia public library is fighting off a takeover by private equity

https://lithub.com/a-virginia-public-library-is-fighting-off-a-threatened-takeover-by-private-equity/
130•sharkweek•2h ago•83 comments

Tree Borrows

https://plf.inf.ethz.ch/research/pldi25-tree-borrows.html
436•zdw•14h ago•87 comments

MCP-B: A Protocol for AI Browser Automation

https://mcp-b.ai/
175•bustodisgusto•6h ago•82 comments

Biomni: A General-Purpose Biomedical AI Agent

https://github.com/snap-stanford/Biomni
161•GavCo•10h ago•27 comments

The Origin of the Research University

https://asteriskmag.com/issues/10/the-origin-of-the-research-university
39•Petiver•3d ago•0 comments

A Typology of Canadianisms

https://dchp.arts.ubc.ca/how-to-use
112•gnabgib•7h ago•114 comments

Show HN: FlopperZiro – A DIY open-source Flipper Zero clone

https://github.com/lraton/FlopperZiro
230•iraton•11h ago•55 comments

German court rules Meta tracking technology violates European privacy laws

https://therecord.media/german-court-meta-tracking-tech
13•bundie•27m ago•1 comments

Show HN: MCP server for searching and downloading documents from Anna's Archive

https://github.com/iosifache/annas-mcp
99•iosifache•8h ago•29 comments

The jank programming language

https://jank-lang.org/
255•akkad33•3d ago•62 comments

Code and Trust: Vibrators to Pacemakers

https://punkx.org/jackdoe/code-and-trust.html
20•jackdoe•3d ago•6 comments

A fast 3D collision detection algorithm

https://cairno.substack.com/p/improvements-to-the-separating-axis
201•OlympicMarmoto•15h ago•26 comments

Evaluating the Effectiveness of Memory Safety Sanitizers

https://www.computer.org/csdl/proceedings-article/sp/2025/223600a088/21TfesaEHTy
6•signa11•2d ago•1 comments

Show HN: Petrichor – a free, open-source, offline music player for macOS

https://github.com/kushalpandya/Petrichor
75•kushalpandya•7h ago•28 comments

Configuring Split Horizon DNS with Pi-Hole and Tailscale

https://www.bentasker.co.uk/posts/blog/general/configuring-pihole-to-serve-different-records-to-different-clients.html
88•gm678•12h ago•23 comments

Archaeologists unveil 3,500-year-old city in Peru

https://www.bbc.co.uk/news/articles/c07dmx38kyeo
139•neversaydie•2d ago•45 comments

Linda Yaccarino is leaving X

https://www.nytimes.com/2025/07/09/technology/linda-yaccarino-x-steps-down.html
411•donohoe•14h ago•648 comments

Understand CPU Branch Instructions Better

https://chrisfeilbach.com/2025/07/05/understand-cpu-branch-instructions-better/
51•mfiguiere•3d ago•10 comments

Show HN: I built a playground to showcase what Flux Kontext is good at

https://fluxkontextlab.com
10•Zephyrion•4h ago•3 comments

White Noise – secure and private messenger

https://www.whitenoise.chat/
58•onhacker•7h ago•22 comments

Bootstrapping a side project into a profitable seven-figure business

https://projectionlab.com/blog/we-reached-1m-arr-with-zero-funding
819•jonkuipers•2d ago•216 comments

Ruby 3.4 frozen string literals: What Rails developers need to know

https://www.prateekcodes.dev/ruby-34-frozen-string-literals-rails-upgrade-guide/
216•thomas_witt•3d ago•106 comments

HyAB k-means for color quantization

https://30fps.net/pages/hyab-kmeans/
30•ibobev•7h ago•9 comments

Solar power has begun to transform the world’s energy system

https://www.newyorker.com/news/annals-of-a-warming-planet/46-billion-years-on-the-sun-is-having-a-moment
73•dmazin•17h ago•111 comments

The most otherworldly, mysterious forms of lightning on Earth

https://www.nationalgeographic.com/science/article/lightning-sprites-transient-luminous-events-thunderstorms
81•Anon84•3d ago•28 comments

Most RESTful APIs aren't really RESTful

https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html
314•BerislavLopac•22h ago•475 comments

Xenharmlib: A music theory library that supports non-western harmonic systems

https://xenharmlib.readthedocs.io/en/latest/
159•retooth•1d ago•13 comments

Making Explainable Minesweeper

https://sublevelgames.github.io/blogs/2025-07-06-making-explainable-minesweeper/
31•greentec•3d ago•25 comments

A lightweight Cloudflare Dynamic DNS shell script

https://github.com/fernvenue/cloudflare-ddns
5•fernvenue•2h ago•0 comments

Show HN: Virby, a vfkit-based Linux builder for Nix-Darwin

https://github.com/quinneden/virby-nix-darwin
15•qeden•3d ago•1 comments