关于 Source Library
Source Library MCP Server 让 AI Agent 检索、阅读和引用约 22,000 部前现代文献,包括炼金术、赫尔墨斯主义、卡巴拉和早期科学等主题,文本附有 AI 生成的英文译文。无需 API 密钥,同时提供命令行工具。
主要功能
- 01全文与语义检索工具
- 02按章节或页码阅读书籍文本
- 03精确引文与引用链接生成
- 04图像检索,涵盖插图与标准艺术品
- 05重复书籍检测与研究成果分享
适用场景
- 01检索历史文献中关于某一概念的论述
- 02核对引文的准确原文与页码
- 03查找炼金术或占星术相关的插图
MCP 相关
该项目是 MCP 服务,向 MCP 客户端提供 12 个工具,涵盖搜索、阅读、引用、图像、导入查重和反馈提交。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 Server
使用 AI 生成的英文译文,搜索、阅读并引用 22,000 多部罕见的前现代文本(炼金术、赫尔墨斯文集、卡巴拉、神学、早期科学)。提供 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 | 是 | 搜索查询 |
language | string | 否 | 筛选:拉丁语、德语、希腊语、梵语等 |
year_from | number | 否 | 出版年份起始值 |
year_to | number | 否 | 出版年份结束值 |
has_doi | boolean | 否 | 仅包含有 DOI 的书籍 |
has_translation | boolean | 否 | 仅包含已翻译的书籍 |
sort | string | 否 | relevance、date_asc、date_desc、title |
limit | number | 否 | 结果数量上限(默认 10,最大 100) |
search_translations
在整个文库的译文中搜索。查找历史作者对任何主题的论述。返回段落摘要、页码、书籍信息和引用 URL。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
query | string | 是 | 在页面文本中搜索 |
language | string | 否 | 按书籍的原始语言筛选 |
year_from | number | 否 | 出版年份起始值 |
year_to | number | 否 | 出版年份结束值 |
book_id | string | 否 | 仅在指定书籍中搜索 |
limit | number | 否 | 结果数量上限(默认 20,最大 50) |
search_concept
使用 Gemini 嵌入进行语义段落搜索。即使现代术语不会在文本中直接出现,也能找到概念相关的段落。例如,“分布式认知”会匹配有关主动理智、记忆术和蜡板隐喻的段落。搜索字面短语时优先使用 search_translations;当概念比措辞更重要时使用 search_concept。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
query | string | 是 | 概念或自然语言描述 |
language | string | 否 | 按原始语言筛选(明确设置此项可检索非拉丁语/德语文本) |
year_from | number | 否 | 出版年份起始值 |
year_to | number | 否 | 出版年份结束值 |
limit | number | 否 | 段落数量上限(默认 15,最大 50) |
search_within_book
在指定书籍的页面中搜索。返回匹配页面及其摘要和引用 URL。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
book_id | string | 是 | 要在其中搜索的书籍 ID |
query | string | 是 | 搜索查询 |
list_books
使用筛选条件浏览馆藏。返回标题、作者、语言、年份和翻译进度。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
search | string | 否 | 按标题、作者、姓名形式和 AI 摘要进行词语匹配(不区分变音符号) |
language | string | 否 | 按语言筛选 |
category | string | 否 | 按类别筛选 |
sort | string | 否 | recent-translation、recent、title-asc、title-desc |
limit | number | 否 | 结果数量上限(默认 100,最大 200) |
阅读
get_book
详细的图书元数据:摘要、索引统计、章节、版本信息、DOI。
| Parameter | Type | Required | Description |
|---|---|---|---|
book_id | string | Yes | 图书 ID |
get_book_text
阅读一本书。优先使用 chapter 按章节阅读;若未提供,则使用 from/to 页码范围。每个响应都包含 truncated 标志;如果内容因页面预算限制而被截断,truncation_note 会提供下一组 from/to 值。Agent 必须检查 truncated,而不是根据 pages_returned 推断是否已到书末。
| Parameter | Type | Required | Description |
|---|---|---|---|
book_id | string | Yes | 图书 ID |
chapter | number | No | 章节索引(从 0 开始);优先于 from/to |
part | number | No | 章节拆分为多个部分时的部分编号(从 1 开始) |
content | string | No | ocr、translation 或 both(默认值) |
from | number | No | 起始页(包含) |
to | number | No | 结束页(包含) |
format | string | No | json(结构化)或 plain(拼接文本) |
include_metadata | boolean | No | 包含页面级元数据(模型、语言等) |
get_quote
获取单页的精确译文以供引用。返回逐字译文、原始 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 或 slug |
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 manifest 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 的《两世界史》完整译本,第 1-50 页。总结其宇宙论框架。”
“找出所有描绘衔尾蛇的炼金术徽章。它们出自哪些文本?”
“哥白尼在《天体运行论》中如何论述太阳的中心地位?请找出关键段落并附上引文 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
链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。