世界を動かす技術を、日本語で。

Show HN: Anna's Archiveから文書を検索・ダウンロードするためのMCPサーバー

概要

Anna's Archive MCP Serverは、Anna's ArchiveとClaude Desktopを連携させるためのMCPサーバーおよびCLIツール。 検索やダウンロードなどの操作が可能で、APIキーなどの設定が必要。 著作権を尊重し、パブリックドメインやCCライセンス文書のみを対象。 セットアップや利用方法はGitHubリリースやREADMEで公開。 オープンソースで透明性を重視した開発体制。

Anna's Archive MCP ServerとCLIツールの概要

  • Anna's Archive MCP Server は、Anna's Archiveのドキュメント検索・ダウンロードを自動化するサーバー・CLIツール
  • Claude Desktop などのMCPクライアントと連携し、インターフェース上で直接操作可能
  • Creative Commons やパブリックドメインなど、許諾されたライセンス文書のみを対象
  • 著作権侵害を推奨せず、著者の知的財産権を尊重する設計
  • オープンソースで GitHub Actions によるビルド・透明性確保

主な機能

  • キーワード検索 によるAnna's Archive内のドキュメント発見
  • 検索結果からの特定ドキュメントのダウンロード
  • MCPサーバー としての動作、または CLIツール としての単体利用
  • Claude Desktop との直接連携による利便性向上

操作コマンド一覧

  • 検索: Anna's Archive内で指定キーワードに合致するドキュメントを検索
    • CLIコマンド: search
  • ダウンロード: 検索結果から指定ドキュメントをダウンロード
    • CLIコマンド: download

利用要件

  • CLIツールのみ利用時

    • Anna's Archiveへの 寄付 によるJSON APIアクセス権限
    • APIキー の取得
  • MCPサーバー利用時

    • MCPクライアント (例: Claude Desktop)の用意
    • 環境変数の設定
      • ANNAS_SECRET_KEY: APIキー
      • ANNAS_DOWNLOAD_PATH: ダウンロード先パス

セットアップ手順

  • GitHubリリース から適切なバイナリをダウンロード
  • MCPサーバー機能を利用する場合、 MCPクライアント への組み込みが必要
  • Claude Desktop での例:
    "anna-mcp": {
      "command": "/Users/iosifache/Downloads/annas-mcp",
      "args": ["mcp"],
      "env": {
        "ANNAS_SECRET_KEY": "feedfacecafebeef",
        "ANNAS_DOWNLOAD_PATH": "/Users/iosifache/Downloads"
      }
    }
    

デモ・運用例

  • MCPサーバーとしての運用
  • CLIツールとしての単体利用
  • 詳細なインストール・設定方法は GitHubリポジトリのREADME 参照

開発の背景と公開意図

  • Anna's ArchiveとClaude Desktopを 直接連携 できるMCPサーバーが公開されていなかった現状
  • 独自開発 し、同様のニーズを持つ他ユーザーのために オープンソースで公開
  • 検索・ダウンロード機能 を一体化し、MCP経由での利便性向上を実現
  • GitHub Actions によるビルド・公開で透明性を確保
  • 著作権や知的財産権を尊重し、合法的な利用のみを推奨

参考情報

  • 詳細なセットアップ・コマンド例や注意事項は公式リポジトリREADME を参照
  • Anna's ArchiveClaude Desktop などの固有名詞は英語表記のまま運用

Hackerたちの意見

このソフトウェアは、著作権のあるコンテンツの無断取得を支持していません。あくまでユーティリティとして考えてください。ユーザーは著作者の知的財産権を尊重し、文書作成にかけられた多大な努力を認めるように求められています。この声明、どれくらい真剣なんだろう?

ユーザーがどれだけ真剣に受け取るか次第だね。

俺はただハンマーを提供してるだけ。ユーザーが自分の釘を打つのか、金属の釘を打つのかは彼ら次第。比較はちょっと緩いかもしれないけど、問題はブラウザをリリースするのと似てる。悪意のあるサイトや違法なサイトへのアクセスを防いでる?それともその責任を委譲してるの?MCPサーバーをオープンソースソフトウェアとしてリリースするのはためらったけど、(1)他の人に役立つことを願ってるし、(2)読んでいる本の著者たちが生活費を稼ぐ必要があることを理解してもらえたらいいな。

「著作権コンテンツを取得するアー!」っていう文字列は一つも見つからないと思うから、かなり真剣だね。このソフトウェアはそれを支持してないし。

LLMプロバイダーが著作権のあるコンテンツで訴えられたくないっていうのと同じくらい真剣だね。

これ大好き。アナのアーカイブに感謝!

乾杯!

編集: 環境変数で検索とダウンロードのエンドポイントのホスト名を上書きするPRを受け入れてくれる? 自分のコピーとESインデックスを持ってる人には、パブリックエンドポイントのホスト名を上書きできるようにするのが役立つかもね(/internal/anna/anna.go#L22-L23)。

このコーパスのローカルコピー あなたが言ってるのはJSONインデックスのこと?(https://annas-archive.org/faq#api)

LLM初心者だけど、記事をダウンロードするだけじゃなくて、読んで参照できるリサーチエージェントを作るのはどれくらい実現可能なのかな?

できるよ。ファイルを読むためのMCPサーバーもあるしね。[1] Claude Desktopには内蔵のファイルリーダーもあるから、ファイルを読んでもらって内容を処理させることもできるよ(例えば、要約を生成したり、メタ要約を作ったりとかね)[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

Firecrawl -> Rag -> mcpが一般的な流れだね。

MCPサーバーであることの利点って何なの?単なるコマンドラインツールじゃダメなの?ちょっと気になってるんだけど、どっちを使うべきかのイメージを掴みたいんだ。素敵なプロジェクトだね!

ありがとう、気に入ってくれて嬉しい!投資した時間を正当化するために、Claude Desktopから直接本を検索、ダウンロード、探索できるって考えたんだ。最初のステップはCLIツールでもできるけど、統合することで新しい可能性が広がるよ。いくつかの一般的な考えを挙げると: - MCPのメンタルモデルはAPIのものに似てる。 - MCPの統合によって、以前は技術的すぎてアクセスできなかったツールが非技術者にも使いやすくなる。 - MCPの統合は契約を暗黙的に尊重するけど、CLIやGUIは人間的な要素(美的感覚や情報の整理など)が関わる。 - MCPはデータアクセスを民主化するための口実だと思う。この点についてはここに書いたよ:https://x.com/iosifache/status/1941049600162574676?s=46 それと、いいアイデアだね!機能はCLIでも使えるようにした方がいいかも。

コマンドライン:AIにこのツールが何で、何のために使うべきかを指示しなきゃいけないよ。MCP:MCPを登録するためのコマンドを一つ貼り付けると、AIはそれが何で、どこで、なぜ使うべきかを常に知ってるようになるよ。

ありがとう、サー! https://news.ycombinator.com/item?id=44518393

MCPはAIエージェントにコマンドや指示のリストを与えて、標準的な方法でどうやって使うか、いつ使うかを教えるんだ。CLIツールは同じことができるけど、標準的な方法ではないから、エージェントのトレーニングセットやコンテキストにないツールだと使い方がわからないんだよね。

Anna's Archiveについての私の理解では、たった一冊の本が欲しいだけでも、何千冊も入った大きなzipファイル(>10 Gb)をダウンロードしなきゃいけないんだよね。これ合ってる?このMCPサーバーでは一冊だけダウンロードできるの?昔、IPFSベースのツールを使って、Anna's Archiveから200年前の著作権切れの「モヒカン族の最後」を一冊だけダウンロードしたことがあるけど、すごく複雑でどうやって動かすかを理解するのが大変だった。

最近、単体の本を何回かダウンロードしたよ(ブラウザでannas-archive.org): - 本を検索 - 結果をタップ - ダウンロードミラーのリンク一覧を見る(「遅いダウンロード」の下)、リンクをタップ - カウントダウンタイマーが表示される - タイマーが切れたら、ダウンロードリンクが表示される - リンクをクリックすると、本が他のダウンロードと同じようにダウンロードされる。

あなたの考えは間違ってるよ。私も「IRC books reddit」を探してほしいけど、Anna's Archiveとは違って、高品質の本が速いダウンロード速度で手に入るよ。

ウェブサイトに行って、欲しい本を検索してダウンロードするだけだよ。これってかなり明白だと思うけど、https://annas-archive.org に行くと、直接ダウンロードに繋がる検索ボックスがいくつもあるからね。

アップデート:@irskepの提案に従って、検索とダウンロード機能のCLIコマンドサポートを追加したよ。これで一つの懸念が出てきたんだけど、MCPサーバーの構築に集中している間に、ユーザーがすでに好みの(T/G)UIを持っているかどうかを見逃しちゃいけないね。もし存在しないなら、ユーザー体験を考慮して、MCPだけじゃなくて複数のインターフェースを通じて機能を提供することを考えよう。 https://github.com/iosifache/annas-mcp/releases/tag/v0.0.2

HNが今、海賊行為を推奨してるの?

https://hn.algolia.com/?q=anna%27s+archive

本当の犯罪は、知識の普及や他の「人権」へのアクセスを制限する経済システムだよ。みんなが生き残るために必死に働かなきゃいけない(できれば金融の支配者たちのために資本利益を増やすことも)っていう状況の中で、実は全人類を十分に養い、住まわせる技術はすでにあるのに、毎日何千人もの子供が飢え死にして、教育へのアクセスが制限されて、何十億人が知的発展を逃してるんだ。これは、怒りや気を散らす中毒的なメディアで簡単に埋められる空白だよ。本を海賊することは、このひどいシステムのただの症状に過ぎない。そしてそれだけじゃ足りない - 立ち上がれ、HN!.. RBEとその先へ..

最近、80年代後半の今は無くなった雑誌をいくつかダウンロードしたんだ。誰も売ってないし、アナのアーカイブが唯一見つけられた場所だった。これは単なる海賊版じゃなくて、絶版のものをたくさん手に入れるためのソースなんだよ。

LLMのトレーニングのために本をダウンロードするなら、それは海賊版じゃないらしいよ…どうやら。

AIは海賊版に依存してる…どうやらそれは今は問題ないらしい。

なんでこんなくだらないプロトコルのためにサーバーを作り続ける人がいるんだろう?

簡単だし、「AI」って言葉も入ってるしね。

人は自分には必要ないことや、賛成できないことをするかもしれないよ。地球にようこそ。

例えば、sshというツールを使いたいとするよ。sshが新しくリリースされたばかりで、AIエージェントのトレーニングセットに入っていないとする。そうなると、その場合はsshコマンドラインツールの使い方がわからないんだ。MCPはAIエージェントにツールをどう使うか、いつ使うかを教える標準的な方法を提供するから、SSH MCPサーバーがあれば、それを接続するだけで、AIエージェントは自動的にSSH機能を持つようになるんだ。

今のHNが海賊行為を応援してるの、マジでヤバいよね。LLMのトレーニングに役立つからって。

AIスレッドでは、架空の財産「侵害」について文句言ってるコメントしか見ないんだよね、面白いことに。

これはLLMのトレーニングとは全然関係ないよ。HNも他の世界と同じで、ずっと海賊行為を支持して、自分の労力の成果をタダで手に入れることに賛成だった。反海賊コメントを見たのは、LLMのトレーニングに関してだけだよ。急にみんなが気にしてるふりをするけど、なんか演技っぽい。