Open Textbook Finder Mcp

io.github.AnonymousOnyx22由 GitHub 账号 AnonymousOnyx22 发布v0.1.2更新于 Nov 3, 2026

Open Textbook Finder MCP finds free legal copies by title, ISBN or topic. No key.

发布方自己的服务:Finder Jobs

概览

AI 生成的概览

按书名、ISBN 或课程主题在 OpenStax、DOAB 和 Open Library 上查找免费合法教材,并推荐较早版本。

可以做什么
  • 按书名、ISBN 或课程主题在 OpenStax、DOAB 和 Open Library 中搜索可免费阅读或借阅的副本,可限制每个来源的结果数
  • 查询 ISBN,返回版本详情和同一本书的其他版本,并先校验校验位
  • 按课程主题浏览 OpenStax 和 DOAB 的免费教材
  • 推荐教材的较早版本,按与当前版本的接近程度排序,可指定课程要求的版本年份
适用场景
适合学生和教师让助手在购买教材前先查免费合法选项、核对 ISBN,或确认是否存在更便宜的旧版。
运行要求
以 stdio 方式在本机运行,通常通过 npm 包用 npx 启动,需要 Node.js 20 或更高版本。无需 API 密钥、账号或配置文件。查询 Open Library 和 DOAB 需要网络访问;OpenStax 书目在本地匹配。
安装前请注意
搜索词和 ISBN 会发送给公开的 Open Library 和 DOAB 服务,它们各有隐私政策。工具只读,不写文件也不保留历史。它不知道价格,旧版可能与课程大纲不符,使用结果前请核对许可和目录内容。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Open Textbook Finder Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Open Textbook Finder MCP

Textbooks cost too much. Open Textbook Finder MCP finds free legal copies of textbooks on OpenStax, the Directory of Open Access Books (DOAB) and Open Library by title, ISBN or course topic. It looks up editions by ISBN and suggests older editions that usually cost less.

bash
npx -y open-textbook-finder-mcp
  1. "Is there a free legal copy of the Calculus textbook by Stewart, or something close to it?"
  2. "Look up ISBN 978-0-13-468599-1 and tell me what other editions exist."
  3. "My course wants the 9th edition of Stewart Calculus. Is there an older edition that would work?"

[npm] [downloads] [license]

Use it with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and any other app that runs a local MCP server. It needs no API key and no account.

What it does

ToolExample prompt
find_free_textbook"Is there a free legal copy of the Calculus textbook by Stewart, or something close to it?"
lookup_isbn"Look up ISBN 978-0-13-468599-1 and tell me what other editions exist."
find_older_edition"My course wants the 9th edition of Stewart Calculus. Is there an older edition that would work?"
list_open_textbooks_by_subject"List free textbooks for intro statistics."

See Tools for the parameters of each one.

Install

Run it straight from npm with npx. You need Node.js 20 or newer, see Node version for the details. There is nothing else to install and no config file for the server itself.

bash
npx -y open-textbook-finder-mcp

Add it to your AI app's MCP config so the app can start it for you. Every app reads its config from its own file, so pick yours:

All of them start the same server the same way. The only difference is where the config goes.

Claude Desktop

Add this to claude_desktop_config.json:

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

Restart Claude Desktop after you save the file.

Claude Code

Run this in a terminal:

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

Cursor

Cursor reads mcp.json from the project folder at .cursor/mcp.json, or from your home folder at ~/.cursor/mcp.json if you want the server in every project. On Windows the home folder file is %USERPROFILE%\.cursor\mcp.json.

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

Restart Cursor after you save the file. The Customize page in the sidebar lists the server once it starts, and you can turn it on or off there.

VS Code

Put this in .vscode/mcp.json in your project folder, or in the mcp.json file in your user profile:

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

VS Code also reads a portable .mcp.json file in the project root. That file uses the name mcpServers instead of servers:

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

Restart VS Code after you save the file.

Windsurf

Windsurf reads mcp_config.json from ~/.codeium/windsurf/mcp_config.json. On Windows that is %USERPROFILE%\.codeium\windsurf\mcp_config.json.

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

Refresh the list of servers in Windsurf after you save the file.

After any of these, try one of the prompts below.

Try these three prompts

  1. Find a free copy

    "Is there a free legal copy of the Calculus textbook by Stewart, or something close to it?"

    The model calls find_free_textbook with that title. It checks the OpenStax list that ships with the server, then asks DOAB and Open Library. OpenStax Calculus Volume 1 comes back first, and an Open Library result is marked free only when there is a public domain copy to read online.

  2. Look up an ISBN

    "Look up ISBN 978-0-13-468599-1 and tell me what other editions exist."

    lookup_isbn checks the check digit first, then returns the title, publisher, publish date and page count from Open Library. It also lists the other editions of the same book, newest first.

  3. Find a cheaper older edition

    "My course wants the 9th edition of Stewart Calculus. Is there an older edition that would work?"

    find_older_edition lists the earlier editions of the book, closest first, with the year, the edition name and the ISBN when Open Library has them. Pass edition_year to say which edition your course asks for.

More things you can ask:

  • "List free textbooks for intro statistics."
  • "Is there a free textbook for nursing pharmacology?"
  • "Find a free legal copy of Pride and Prejudice."
  • "Which free textbooks cover microeconomics?"
  • "I have the ISBN 9780134685991. Is there a free copy of that book?"
  • "Is the 7th edition close enough to the 9th for an intro physics course?"

Tools

Four tools. These names are the ones your AI app sees.

ToolParametersWhat it does
find_free_textbookquery, limitSearch OpenStax, DOAB and Open Library for a free legal copy by title, ISBN or course topic. Open Library results are marked free for a public domain copy and borrow for a free loan
lookup_isbnisbnReturn the edition details for an ISBN, say whether a free copy is known and list the related editions of the same book
list_open_textbooks_by_subjectsubject, limitBrowse free textbooks for a course topic from OpenStax and DOAB
find_older_editionquery, edition_year, limitSuggest earlier editions of a textbook that usually cost less, closest to the current edition first

Every tool description sent to your AI app ends with one example prompt, so the model can match a question like "Is there a free copy of this book?" to the right tool and fill in every parameter.

Every tool also returns its results as structured data. Each tool has an output schema, so a client that reads JSON gets fields such as results or suggestions straight away, and the text answer stays the same for an app that only reads words. The fields each tool returns are listed in llms.txt and in glama.json.

Where the books come from

SourceWhat it givesHow it is searched
OpenStaxFree peer reviewed college textbooksA list of OpenStax titles ships with the server and is matched on your computer, because OpenStax has no public search service
DOABOpen access academic books, with the licence when DOAB lists oneThe DOAB search service
Open LibraryEdition records, and public domain or borrowable copies at the Internet ArchiveThe Open Library search and edition services

A result has an access value. free means a copy you can read online or keep, borrow means a free loan that you have to return, and none means no free copy is known. Always check the licence on the page you land on before you reuse a book.

FAQ

Does it need an API key?

No. Open Library and DOAB can be searched without a key, and the OpenStax list ships with the server.

Does it find pirated copies?

No. It only returns OpenStax, DOAB and Open Library records, which are open licensed, public domain or legal loans.

What if I only have an ISBN?

Pass it to find_free_textbook or lookup_isbn. Hyphens and spaces are fine. The check digit is tested first, so a typo is reported as a bad ISBN instead of a search that finds nothing.

Can it tell me the price of an older edition?

No. The tool does not know prices, because no free price service exists. It tells you which earlier editions exist so you can check a used book seller yourself.

Will an older edition match my course?

Often an edition one or two releases back keeps the same chapters, but publishers reorder problems and drop sections. Compare the table of contents with your syllabus and ask your instructor before you buy.

What happens if one source is down?

The other sources still answer, and the reply names the source that did not. If every source is down the tool says so instead of returning an empty list.

How it compares

OptionNeeds a key or accountCoversWhen to use
Open Textbook Finder MCP (this server)NoOpenStax, DOAB and Open Library in one question, plus ISBN and edition lookupsYou want your AI app to check the free options before you buy a book.
Searching each site yourselfNoOne site at a timeYou already know which site has your book.
Course platform MCPs (Brightspace, Canvas, Moodle, Google Classroom)Your account on that platformDue dates, grades, missing work and course files from one LMSYou want your AI app to read your course platform, not to find books.

Open Textbook Finder MCP is a free textbook MCP: it needs no key and no account, and it finds legal copies of textbooks on OpenStax, DOAB and Open Library. The course platform MCPs above connect to your LMS account and show what is due, what is missing and what you have earned. They do not search for textbook copies. You can run both side by side, since they read different things and neither needs a key.

Node version

There are two floors here, and they are not the same number.

What you are doingNode.js
Running the published server20 or newer
Building and testing a clone22.12 or newer, on the 22 and 24 release lines or 26 and later

The server itself is happy on Node.js 20, and that is what engines in package.json says. The test runner wants a newer Node.js, so the development floor lives in devEngines in the same file. npm checks devEngines before install, run and test, so a clone on Node.js 20 stops with a clear message instead of a strange failure part way through the test suite. The 23 and 25 release lines are left out on purpose, because the test runner does not run on them.

Both numbers live in package.json, and a test in tests/node-version.test.ts keeps them in step with the README and with the range the test runner asks for.

Development

bash
npm installnpm run buildnpm test

The tests call every tool through a real MCP client with a fake network, so they need no account, no key and no internet. They need the newer Node.js from the Node version section above, because of the test runner.

Privacy

There is no key, no login and no account. The server sends your search text or ISBN to two public services and nothing else: openlibrary.org and directory.doabooks.org. The OpenStax match runs on your computer and sends nothing. The server writes no files, keeps no history and has no analytics. Each request carries a User-Agent header with the package name and the repository address, which Open Library asks of every client. Those services have their own privacy policies for the requests they receive.

More free student MCP servers

All free, open source and read only where they touch your accounts. Browse the full list at brightspacemcp.com/more-mcps.

ServerWhat it does
Brightspace MCPD2L Brightspace for AI. Due dates with real submission status, grades, a target grade calculator and course files.
Canvas MCPCanvas LMS for AI, read only. Due dates, missing work, grades and announcements.
Moodle MCPMoodle for AI, read only. Due dates, overdue work, grades and announcements.
Google Classroom MCPGoogle Classroom for AI, read only. Todos, due dates, missing work and grades.
GPA Calculator MCPGPA, grade conversion and the grade you need on the final, for AI. Works offline, no account.
Citations MCPAPA, MLA and Chicago citations from a DOI, an ISBN or typed details. No account.
Study Planner MCPExam study schedules, spaced repetition dates, pomodoro plans and assignment milestones. Works offline.
Paper Finder MCPSearch scholarly papers, find open access copies and related work through OpenAlex. No key needed.
BibTeX Reference Manager MCPClean, convert, dedupe and lint BibTeX, RIS and CSL JSON reference lists, and make cite keys. Works offline.
STEM Calculator MCPChemistry and physics homework math: molar mass, balancing equations, grams to moles, unit conversion and significant figures. Works offline.
Essay Stats MCPOffline writing metrics for essays. Word and page counts, readability scores, passive voice, repeated openers, filler words, long sentences and word limit checks, so students can check their work against assignment requirements. No account, no network.
Syllabus to Calendar MCPSyllabus to calendar MCP server. Extract dates from syllabus text, build an ics calendar, expand recurring classes and merge calendars. Works offline, no account.
Job Application Tracker MCPJob application tracker MCP server. Track internships, jobs, interviews and deadlines offline, see what is coming up, and export your list as CSV or Markdown. No account and no API keys.

License

MIT

来源:README.md,提交 9fdea83

工具

4

find_free_textbook

Find a free textbook

Search for free and legal copies of a textbook on OpenStax, the Directory of Open Access Books (DOAB) and Open Library. Inputs: query (a book title, an ISBN or a course topic such as "organic chemistry") and an optional limit of 1 to 10 results from each source. Open Library results are marked free when there is a public domain copy to read online, and borrow when the book is a free loan. No account or key is needed. If one source is down the others still answer and the reply names the source that did not. Example prompt: "Is there a free legal copy of the Calculus textbook by Stewart, or something close to it?"

输入参数limitquery必填

lookup_isbn

Look up an ISBN

Look up an ISBN on Open Library and return the edition details plus the other editions of the same book. Inputs: isbn (10 or 13 digits, hyphens allowed). The check digit is tested first, so a typo is reported before any search. The reply has the title, authors, publisher, publish date, page count and edition name, and says whether a free copy is known. Related editions are listed newest first. Example prompt: "Look up ISBN 978-0-13-468599-1 and tell me what other editions exist."

输入参数isbn必填

list_open_textbooks_by_subject

Browse open textbooks by subject

Browse free textbooks for a course topic. It lists matching OpenStax books and open access books from the Directory of Open Access Books (DOAB). Inputs: subject (a course topic such as "calculus", "nursing" or "economics") and an optional limit of 1 to 25 results. OpenStax books come first. If DOAB is down the OpenStax list still comes back and the reply says so. Example prompt: "List free textbooks for intro statistics."

输入参数limitsubject必填

find_older_edition

Find a cheaper older edition

Suggest earlier editions of a textbook, which usually cost less used than the newest one. Inputs: query (a title or an ISBN) and two optional values: edition_year, the year of the edition your course asks for, and limit, 1 to 10 suggestions. Without edition_year the newest edition Open Library lists counts as the current one, and an ISBN counts as the current edition when you pass one. Suggestions run from the closest older edition down. Editions only one or two releases back often keep the same chapters, but problem sets get reordered, so check the table of contents against your syllabus. The tool does not know prices. Example prompt: "My course wants the 9th edition of Stewart Calculus. Is there an older edition that would work?"

输入参数limitquery必填edition_year

版本历史

3
  1. v0.1.2最新Nov 1, 2026
  2. v0.1.1Oct 30, 2026
  3. v0.1.0Oct 29, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Finder 集成