mcpField
O
open-textbook-finder-mcp

open-textbook-finder-mcp

本地服务
brightspacemcp.com搜索与检索02 天前更新

关于 open-textbook-finder-mcp

面向学生的 MCP 服务,可按书名、ISBN 或课程主题查找合法免费教材,并查询版本信息。它汇集 OpenStax、DOAB 和 Open Library 的结果,无需 API 密钥或账户。

主要功能

  1. 01按书名、ISBN 或主题搜索教材
  2. 02查询 ISBN 对应版本及相关版本
  3. 03查找较早版本
  4. 04按学科浏览开放教材
  5. 05标注免费阅读、借阅或无已知副本

适用场景

  1. 01购买教材前查找免费合法版本
  2. 02核对指定 ISBN 的书籍版本
  3. 03为课程寻找较早的教材版本
  4. 04按课程主题浏览开放教材

MCP 相关

作为 MCP 服务向客户端提供教材搜索、ISBN 查询、学科浏览和旧版查找工具。搜索 Open Library 和 DOAB 时会发送查询文本或 ISBN;OpenStax 匹配在本机完成。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"anonymousonyx22-open-textbook-finder": {
"command": "npx",
"args": [
"-y",
"open-textbook-finder-mcp"
]
}
}
}
启动命令npx -y open-textbook-finder-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmopen-textbook-finder-mcp0.1.0

工具

4

收录的工具列表 · 更新于 1 天前

参数类型必填说明
limitinteger否返回结果数量,范围为 1 到 10。默认值为 5。
querystring是教材书名、ISBN(10 位或 13 位数字,可带连字符)或课程主题。

详细介绍

Open Textbook Finder MCP

教材太贵了。Open Textbook Finder MCP 可按书名、ISBN 或课程主题,在 OpenStax、Directory of Open Access Books (DOAB) 和 Open Library 上查找免费的合法教材。它会按 ISBN 查询不同版本,并推荐通常更便宜的旧版教材。

npx -y open-textbook-finder-mcp
  1. “Stewart 编写的微积分教材有免费的合法版本吗?或者有没有类似的教材?”
  2. “查询 ISBN 978-0-13-468599-1,告诉我还有哪些版本。”
  3. “我的课程要求使用 Stewart Calculus 第 9 版。有没有可用的旧版?”

npm downloads license

可与 Claude Desktop、Claude Code、Cursor、VS Code、Windsurf 以及任何能运行本地 MCP 服务的应用配合使用。无需 API 密钥或账户。

功能

工具提示词示例
find_free_textbook“Stewart 编写的微积分教材有免费的合法版本吗?或者有没有类似的教材?”
lookup_isbn“查询 ISBN 978-0-13-468599-1,告诉我还有哪些版本。”
find_older_edition“我的课程要求使用 Stewart Calculus 第 9 版。有没有可用的旧版?”
list_open_textbooks_by_subject“列出免费的入门统计学教材。”

各工具的参数请参阅工具。

安装

使用 npx 直接从 npm 运行。你需要 Node.js 20 或更高版本,详情请参阅 Node 版本。无需安装其他内容,服务本身也不需要配置文件。

npx -y open-textbook-finder-mcp

将其添加到 AI 应用的 MCP 配置中,以便应用为你启动服务。每个应用都从各自的文件读取配置,因此请选择对应的应用:

它们启动服务的方式都相同,区别仅在于配置文件的位置。

Claude Desktop

将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "textbooks": {
      "command": "npx",
      "args": ["-y", "open-textbook-finder-mcp"]
    }
  }
}

保存文件后,重启 Claude Desktop。

Claude Code

在终端中运行:

claude mcp add textbooks -- npx -y open-textbook-finder-mcp
Cursor

Cursor 会读取项目文件夹中的 .cursor/mcp.json,或者读取主文件夹中的 ~/.cursor/mcp.json,如果你希望在每个项目中都使用该服务。在 Windows 上,主文件夹中的文件路径为 %USERPROFILE%\.cursor\mcp.json。

{
  "mcpServers": {
    "textbooks": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "open-textbook-finder-mcp"]
    }
  }
}

保存文件后,重启 Cursor。服务启动后会显示在侧边栏的 Customize 页面中,你可以在那里将其开启或关闭。

VS Code

将以下内容放入项目文件夹中的 .vscode/mcp.json,或用户配置文件中的 mcp.json:

{
  "servers": {
    "textbooks": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "open-textbook-finder-mcp"]
    }
  }
}

VS Code 也会读取项目根目录中的便携式 .mcp.json 文件。该文件使用 mcpServers 而非 servers 作为名称:

{
  "mcpServers": {
    "textbooks": {
      "command": "npx",
      "args": ["-y", "open-textbook-finder-mcp"]
    }
  }
}

保存文件后,重启 VS Code。

Windsurf

Windsurf 会读取 ~/.codeium/windsurf/mcp_config.json 中的 mcp_config.json。在 Windows 上,路径为 %USERPROFILE%\.codeium\windsurf\mcp_config.json。

{
  "mcpServers": {
    "textbooks": {
      "command": "npx",
      "args": ["-y", "open-textbook-finder-mcp"]
    }
  }
}

保存文件后,刷新 Windsurf 中的服务列表。

完成上述任一配置后,试试下面的提示词。

试试这三个提示词

  1. 查找免费副本

    “有没有 Stewart 的微积分教材的免费合法副本,或者类似的教材?”

    模型会使用该书名调用 find_free_textbook。它会先检查随服务提供的 OpenStax 列表,然后查询 DOAB 和 Open Library。首先会找到 OpenStax Calculus Volume 1;只有在存在可在线阅读的公版副本时,Open Library 的结果才会标记为免费。

  2. 查询 ISBN

    “查询 ISBN 978-0-13-468599-1,并告诉我还有哪些版本。”

    lookup_isbn 会先检查校验位,然后从 Open Library 返回书名、出版商、出版日期和页数。它还会列出同一本书的其他版本,并按出版时间从新到旧排列。

  3. 查找更便宜的旧版

    “我的课程要求使用 Stewart Calculus 第 9 版。有没有适用的旧版?”

    find_older_edition 会按与当前版本的接近程度从高到低,列出该书的早期版本,包括年份、版本名称,以及 Open Library 有记录时提供的 ISBN。传入 edition_year,即可指定课程要求的版本。

你还可以这样提问:

  • “列出适合统计学入门的免费教材。”
  • “有没有免费的护理药理学教材?”
  • “查找《傲慢与偏见》的免费合法副本。”
  • “哪些免费教材涵盖微观经济学?”
  • “我的 ISBN 是 9780134685991。这本书有免费副本吗?”
  • “对于物理学入门课程,第 7 版和第 9 版差别大吗?”

工具

共有四个工具。你的 AI 应用会看到这些名称。

工具参数功能
find_free_textbookquery、limit按书名、ISBN 或课程主题搜索 OpenStax、DOAB 和 Open Library,查找免费合法副本。Open Library 的结果中,公版副本会标记为免费,可借阅副本则会标记为可借
lookup_isbnisbn返回 ISBN 对应版本的详情,说明是否有已知的免费副本,并列出同一本书的相关版本
list_open_textbooks_by_subjectsubject、limit从 OpenStax 和 DOAB 浏览课程主题对应的免费教材
find_older_editionquery、edition_year、limit推荐通常更便宜的教材早期版本,并按与当前版本的接近程度从高到低排列

发送给 AI 应用的每个工具描述末尾都附有一个提示词示例,以便模型将“这本书有免费副本吗?”这类问题匹配到合适的工具,并填入所有参数。

每个工具还会以结构化数据返回结果。每个工具都有输出架构,因此读取 JSON 的客户端可以直接获取 results 或 suggestions 等字段;对于只读取文字的应用,文本答案也保持不变。每个工具返回的字段列在 llms.txt 和 glama.json 中。

图书来源

来源提供内容搜索方式
OpenStax免费的同行评审大学教材服务会随附 OpenStax 书名列表,并在你的计算机上进行匹配,因为 OpenStax 没有公开搜索服务
DOAB开放获取的学术图书,以及 DOAB 列出的许可信息DOAB 搜索服务
Open Library版本记录,以及 Internet Archive 上的公版或可借阅副本Open Library 搜索和版本服务

结果包含一个 access 值。free 表示可以在线阅读或保留副本,borrow 表示可以免费借阅但需要归还,none 表示没有已知的免费副本。重新使用图书前,请务必查看目标页面上的许可信息。

常见问题

需要 API 密钥吗?

不需要。无需密钥即可搜索 Open Library 和 DOAB,OpenStax 书目已随服务提供。

它会查找盗版吗?

不会。它只返回 OpenStax、DOAB 和 Open Library 的记录,这些记录属于开放许可、公共领域或合法借阅。

如果我只有 ISBN 呢?

将其传给 find_free_textbook 或 lookup_isbn。连字符和空格都没问题。系统会先检查校验位,因此输入错误会被报告为无效 ISBN,而不是搜索无结果。

它能告诉我旧版的价格吗?

不能。该工具不知道价格,因为没有免费的价格服务。它会告诉你有哪些较早版本,以便你自行查询二手书卖家。

旧版教材适合我的课程吗?

较早一两版通常会保留相同的章节,但出版社可能会重新编排习题或删去部分内容。购买前,请将目录与课程大纲对照,并咨询授课教师。

如果某个来源无法使用,会发生什么?

其他来源仍会返回结果,回复也会指出无法使用的来源。如果所有来源都无法使用,该工具会明确说明,而不是返回空列表。

对比

选项是否需要密钥或账号覆盖范围适用场景
Open Textbook Finder MCP(此服务)不需要在一个问题中搜索 OpenStax、DOAB 和 Open Library,还可查询 ISBN 和版本你希望 AI 应用在购书前先查找免费选项。
自行逐个搜索网站不需要一次搜索一个网站你已经知道教材在哪个网站上。
课程平台 MCP(Brightspace、Canvas、Moodle、Google Classroom)该平台上的账号从一个 LMS 获取截止日期、成绩、未完成的作业和课程文件你希望 AI 应用读取课程平台,而不是查找教材。

Open Textbook Finder MCP 是免费的教材 MCP:无需密钥或账号,即可在 OpenStax、DOAB 和 Open Library 上查找合法版本的教材。上面提到的课程平台 MCP 会连接到你的 LMS 账号,显示待完成事项、未完成事项和已获得的成绩。它们不会搜索教材版本。你可以同时运行两者,因为它们读取的信息不同,而且都不需要密钥。

Node 版本

这里有两个最低版本要求,并非同一个数字。

你要做什么Node.js
运行已发布的服务20 或更高版本
构建和测试克隆项目22.12 或更高版本,且需使用 22 和 24 发布线,或 26 及更高版本

服务本身可在 Node.js 20 上正常运行,package.json 中的 engines 也如此声明。测试运行器需要更新的 Node.js,因此开发环境的最低版本要求写在同一文件的 devEngines 中。npm 会在安装、运行和测试前检查 devEngines,因此使用 Node.js 20 的克隆项目会收到清晰的提示,而不是在测试套件运行到一半时出现奇怪的故障。我们有意排除 23 和 25 发布线,因为测试运行器无法在这些版本上运行。

这两个版本要求都写在 package.json 中,而 tests/node-version.test.ts 中的测试会确保它们与 README 以及测试运行器要求的版本范围保持一致。

开发

npm install
npm run build
npm test

测试会通过真实的 MCP 客户端和模拟网络调用每个工具,因此无需账号、密钥或互联网连接。由于测试运行器的要求,测试需要使用上文「Node 版本」一节中提到的较新 Node.js 版本。

隐私

无需密钥、登录或账号。服务只会将你的搜索文本或 ISBN 发送到两个公共服务,不会发送其他内容:openlibrary.org 和 directory.doabooks.org。OpenStax 匹配在你的计算机上运行,不会发送任何信息。服务不会写入文件、保留历史记录或收集分析数据。每个请求都会附带一个包含软件包名称和代码仓库地址的 User-Agent 标头,这是 Open Library 对每个客户端的要求。这些服务会根据各自的隐私政策处理收到的请求。

更多免费的学生 MCP 服务

所有服务均免费、开源;涉及你的账户时均为只读。请访问 brightspacemcp.com/more-mcps 浏览完整列表。

服务功能
Brightspace MCP面向 AI 的 D2L Brightspace。包含截止日期、真实提交状态、成绩、目标成绩计算器和课程文件。
Canvas MCP面向 AI 的 Canvas LMS,只读。包含截止日期、缺交作业、成绩和公告。
Moodle MCP面向 AI 的 Moodle,只读。包含截止日期、逾期作业、成绩和公告。
Google Classroom MCP面向 AI 的 Google Classroom,只读。包含待办事项、截止日期、缺交作业和成绩。
GPA Calculator MCPGPA、CGPA、加权成绩、目标成绩和期末考试计算。可离线使用。
Citations MCP根据 DOI、ISBN 或输入的详细信息生成 APA、MLA 和 Chicago 引文。无需账户。
Study Planner MCP考试学习计划、间隔重复日期、番茄工作法计划和作业里程碑。可离线使用。
Paper Finder MCP通过 OpenAlex 搜索学术论文、查找开放获取版本和相关研究。无需密钥。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。