Source Library について
Source Library MCP Server は、錬金術、ヘルメス思想、カバラ、初期科学などを扱う約 22,000 点の前近代文献を、AI が生成した英訳付きで検索、閲覧、引用できる MCP サーバーです。API キーは不要で、コマンドラインインターフェースも提供します。
主な機能
- 01全文検索とセマンティック検索のツール
- 02章単位・ページ範囲での書籍閲覧
- 03引用用の正確なページ本文と引用リンク
- 04挿絵と美術作品を対象とした画像検索
- 05重複書籍の検出と調査結果の共有
活用シーン
- 01歴史的著者がある概念をどのように論じたかの調査
- 02引用文の訳文とページ番号の確認
- 03錬金術や占星術に関する図版の検索
MCP 対応
本プロジェクトは MCP サーバーであり、検索、閲覧、引用、画像検索、重複チェック、フィードバック送信にわたる 12 のツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
12掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 検索クエリ(タイトル、著者、翻訳、OCR テキストを検索) |
| language | string | いいえ | 原文の言語で絞り込み(例:'Latin'、'German'、'Greek'、'Sanskrit') |
| year_from | number | いいえ | 出版年で絞り込み(開始年を含む) |
| year_to | number | いいえ | 出版年で絞り込み(終了年を含む) |
| has_doi | boolean | いいえ | DOI を含む書籍のみを返します |
| has_translation | boolean | いいえ | 翻訳のある書籍のみを返します |
| sort | enum | いいえ | 並べ替え順(デフォルト:関連性)relevance | date_asc | date_desc | title |
| limit | number | いいえ | 最大結果数(デフォルト:10、最大:100) |
| offset | number | いいえ | ページネーションのオフセット(デフォルトは 0) |
詳細
Source Library MCP サーバー
錬金術、ヘルメス文書、カバラ、神学、初期科学など、22,000 点を超える近代以前の希少な文献を、AI が生成した英語訳で検索、閲覧、引用できます。12 種類のツール(全文検索とセマンティック検索、閲覧、正確な引用、画像検索、重複検出、フィードバック、調査結果の共有)を利用できます。CLI と MCP サーバーを提供しており、API キーは不要です。
クイックスタート
Claude Code
claude mcp add source-library -- npx -y @source-library/mcp-server
Claude Desktop
Claude Desktop の設定に追加してください。
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"source-library": {
"command": "npx",
"args": ["-y", "@source-library/mcp-server"]
}
}
}
CLI
# Install globally
npm install -g @source-library/mcp-server
# Or run directly
npx @source-library/mcp-server search "philosopher's stone"
ソースから
git clone https://github.com/Embassy-of-the-Free-Mind/sourcelibrary-v2.git
cd sourcelibrary-v2/mcp-server
npm install && npm run build
npm start
12 種類のツール
検索と発見
search_library
書籍とページのコンテンツを全文検索します。該当する書籍とページを、引用 URL とともに返します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | Yes | 検索クエリ |
language | string | No | 絞り込み:ラテン語、ドイツ語、ギリシャ語、サンスクリット語など |
year_from | number | No | 出版年の開始 |
year_to | number | No | 出版年の終了 |
has_doi | boolean | No | DOI がある書籍のみ |
has_translation | boolean | No | 翻訳済みの書籍のみ |
sort | string | No | 関連度、date_asc、date_desc、タイトル |
limit | number | No | 結果の最大数(デフォルトは 10、最大 100) |
search_translations
ライブラリ全体の翻訳テキストを検索します。歴史上の著者が任意のトピックについて何を書いたかを見つけられます。ページ番号、書籍情報、引用 URL を含む該当箇所の抜粋を返します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | Yes | ページ内のテキストを検索 |
language | string | No | 書籍の原言語で絞り込み |
year_from | number | No | 出版年の開始 |
year_to | number | No | 出版年の終了 |
book_id | string | No | 特定の書籍のみを検索 |
limit | number | No | 結果の最大数(デフォルトは 20、最大 50) |
search_concept
Gemini の埋め込み表現を使って、概念に基づく文章検索を行います。現代の用語がそのまま登場しない場合でも、概念的に関連する文章を見つけます。たとえば、「分散認知」は、能動知性、記憶術、蝋板の比喩に関する文章に対応します。文字どおりの語句を検索する場合は search_translations を優先し、表現よりも概念が重要な場合は search_concept を使用してください。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | Yes | 概念または自然言語による説明 |
language | string | No | 原言語で絞り込み(ラテン語やドイツ語以外のテキストを表示するには明示的に指定) |
year_from | number | No | 出版年の開始 |
year_to | number | No | 出版年の終了 |
limit | number | No | 該当箇所の最大数(デフォルトは 15、最大 50) |
search_within_book
特定の書籍のページ内を検索します。該当するページを、抜粋と引用 URL とともに返します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
book_id | string | Yes | 検索対象の書籍 ID |
query | string | Yes | 検索クエリ |
list_books
絞り込み条件を使ってコレクションを閲覧します。タイトル、著者、言語、年、翻訳の進捗状況を返します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
search | string | No | タイトル、著者、名前の表記形、AI による概要を対象に単語で検索(発音区別符号を区別しない) |
language | string | No | 言語で絞り込み |
category | string | No | カテゴリーで絞り込み |
sort | string | No | 翻訳の新着順、新着順、タイトル昇順、タイトル降順 |
limit | number | No | 結果の最大数(デフォルトは 100、最大 200) |
閲覧
get_book
詳細な書誌情報:概要、索引の統計、章、版情報、DOI。
| Parameter | Type | Required | Description |
|---|---|---|---|
book_id | string | Yes | 書籍 ID |
get_book_text
書籍を読みます。章ごとに読む場合はchapterを優先してください。指定されていない場合は、from/toによるページ範囲を使用します。各レスポンスにはtruncatedフラグが含まれます。ページ数の上限により内容が切り詰められた場合は、次に指定するfrom/toの値をtruncation_noteで示します。エージェントは、pages_returnedから書籍の末尾を推測せず、必ずtruncatedを確認してください。
| Parameter | Type | Required | Description |
|---|---|---|---|
book_id | string | Yes | 書籍 ID |
chapter | number | No | 章のインデックス(0始まり)。from/toより優先 |
part | number | No | 複数のパートに分割された章のパート番号(1始まり) |
content | string | No | ocr、translation、または両方(デフォルト) |
from | number | No | 開始ページ(含む) |
to | number | No | 終了ページ(含む) |
format | string | No | json(構造化)または plain(連結テキスト) |
include_metadata | boolean | No | ページ単位のメタデータ(モデル、言語など)を含める |
get_quote
引用用に、1ページ分の翻訳テキストを正確に取得します。翻訳の原文、元のOCR、書式設定済みの引用情報を返します。レスポンスの見出しはcitation_linkです。引用とページ番号とともに提示する、安定したsourcelibrary.org/q/…短縮リンクです。テキストを引用符で囲む前に、必ずこのツールを使用してください。記憶を頼りに言い換えてはいけません。表示例:> [quote]に続けて— [Author], [citation.locator]. [citation_link]。locatorは印刷されたページ番号がわかる場合は「p. 217 [scan 219]」、わからない場合は「p. 219」です。
| Parameter | Type | Required | Description |
|---|---|---|---|
book_id | string | Yes | 書籍 ID またはスラッグ |
page | number | Yes | 引用元のページ番号 |
ギャラリー
search_images
ビジュアルコレクションを検索します。書籍のページから抽出した50,000点以上のイラストに加え、23,000点以上の独立した作品(Met、Rijksmuseum、Wikimedia、NGAの絵画、フレスコ画、版画、彫刻)を収録しています。各結果にはsourceフィールドがあり、gallery(書籍の挿絵)またはartwork(独立した作品)が設定されています。
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | 説明、主題、人物、作家を対象にテキスト検索 |
source | string | No | all(デフォルト)、gallery、またはartworks |
type | string | No | 木版画、エングレービング、エンブレム、図表、絵画、フレスコ画など |
subject | string | No | 主題(錬金術、天文学、解剖学) |
figure | string | No | 描かれている人物(マーキュリー、哲学者、王) |
symbol | string | No | シンボル(ウロボロス、カドゥケウス、太陽) |
year_from | number | No | 出版年の開始 |
year_to | number | No | 出版年の終了 |
book_id | string | No | 特定の書籍または作品 ID の画像のみ |
min_quality | number | No | ギャラリーの最低品質スコア(0~1、デフォルト0.5) |
limit | number | No | 結果の最大数(デフォルト20、最大50) |
キュレーション
check_duplicate
インポートする前に、その書籍がSource Libraryにすでに存在するか確認します。4段階の照合(ソースフィンガープリント、タイトルと著者の正規化、キーワード検索、意味的類似性)を使用し、信頼度と提案を返します。重複を避けるため、インポートのたびに必ず使用してください。
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | Yes | 書籍のタイトル(原題または英語) |
author | string | No | 著者名(形式は問いません) |
year | string | No | 出版年(任意の補足情報) |
language | string | No | 意味検索のための言語ヒント |
ia_id | string | No | Internet Archive 識別子(フィンガープリントの完全一致) |
manifest | string | No | IIIF マニフェスト URL(フィンガープリントの完全一致) |
フィードバック
submit_feedback
フィードバック、バグ報告、機能リクエストを Source Library チームに直接送信します。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
message | string | はい | フィードバック(2~5000 文字) |
name | string | いいえ | 名前 |
email | string | いいえ | フォローアップ用のメールアドレス |
page | string | いいえ | 関連ページの URL |
share_findings
研究資料を Source Library チームに共有します。タイトル、任意の概要、順序付きの引用リスト({ book_id, page, note }。コピーしたテキストではなく参照)を含めます。submit_feedback と同様に、チームに送信され、レビューされます。
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
title | string | はい | 資料/論文のタイトル(2~300 文字) |
summary | string | いいえ | 論旨を要約した文章(最大 5000 文字) |
citations | array | はい | 順序付きの { book_id, page, note } 引用箇所(1~50 件) |
name | string | いいえ | 名前 |
email | string | いいえ | フォローアップ用のメールアドレス |
CLI
ほとんどのツールは、色付きのターミナル出力に対応するスタンドアロン CLI でも利用できます(現時点では search_concept と check_duplicate は MCP 専用です)。
# Search the collection
source-library search "Paracelsus" --language=German
# Search inside translations
source-library translations "harmony of the spheres"
# Read a book
source-library text 694f49d3... --from=1 --to=50
# Book details
source-library book 694f49d3...
# Browse the gallery
source-library images --subject=alchemy --type=emblem
# Submit feedback
source-library feedback "Great translation of Fludd!" --name="Jane"
# JSON output for piping
source-library search "alchemy" --json | jq .results
研究プロンプトの例
「コレクション全体から『prima materia』への言及を検索してください。どの著者が論じていますか。また、その論じ方にはどのような違いがありますか?」
「Fludd の『History of Both Worlds』の 1~50 ページを、翻訳全文で読んでください。宇宙論の枠組みを要約してください。」
「ウロボロスを描いた錬金術の紋章をすべて見つけてください。どの文献に由来しますか?」
「『De Revolutionibus』で、コペルニクスは太陽の中心性について何と述べていますか?引用 URL を添えて、重要な箇所を見つけてください。」
引用 URL
ツールが返すすべてのページには、引用 URL が含まれています。
https://sourcelibrary.org/book/fludd-utriusque?page=57
出版された版には、Zenodo 経由で発行された DOI が含まれます。
開発
npm run dev # Run with hot reload (tsx)
npm run build # Compile TypeScript
npm start # Run compiled version
npm run cli # Run CLI in dev mode
ライセンス
MIT
リンク
- ウェブサイト: sourcelibrary.org
- 開発者: sourcelibrary.org/developers
- GitHub: Embassy-of-the-Free-Mind/sourcelibrary-v2
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。