Skip to main content
Glama

mcp-open-library

MCP开放图书馆

铁匠徽章

开放图书馆 API 的模型上下文协议 (MCP) 服务器,使 AI 助手能够搜索书籍和作者信息。

概述

该项目实现了一个 MCP 服务器,为 AI 助手提供与开放图书馆交互的工具。它支持按书名搜索图书信息、按姓名搜索作者、使用开放图书馆密钥检索作者详细信息,以及使用开放图书馆 ID (OLID) 获取作者照片的 URL。服务器返回图书和作者信息的结构化数据。

Related MCP server: searchAPI-mcp

特征

  • 按标题搜索书籍:使用标题搜索书籍( get_book_by_title )。

  • 按姓名搜索作者:使用姓名搜索作者( get_authors_by_name )。

  • 获取作者详细信息:使用开放图书馆密钥( get_author_info )检索特定作者的详细信息。

  • 获取作者照片:使用作者的开放图书馆 ID (OLID) 获取作者照片的 URL ( get_author_photo )。

  • 获取书籍封面:使用各种标识符(ISBN、OCLC、LCCN、OLID、ID)获取书籍封面图像的 URL( get_book_cover )。

安装

通过 Smithery 安装

要通过Smithery自动安装 Claude Desktop 的 MCP Open Library:

npx -y @smithery/cli install @8enSmith/mcp-open-library --client claude

手动安装

# Clone the repository git clone https://github.com/your-username/mcp-open-library.git cd mcp-open-library # Install dependencies npm install # Build the project npm run build

用法

运行服务器

您可以使用 MCP 检查器来测试服务器:

npm run inspector

访问 MCP 检查器,然后测试该工具,例如

替代文本

与 MCP 客户端一起使用

该服务器实现了模型上下文协议 (MCP),这意味着它可以被任何兼容 MCP 的 AI 助手或客户端(例如Claude Desktop)使用。该服务器公开以下工具:

  • get_book_by_title :按标题搜索书籍信息

  • get_authors_by_name :按姓名搜索作者信息

  • get_author_info :使用开放图书馆作者密钥获取特定作者的详细信息

  • get_author_photo :使用开放图书馆作者 ID (OLID) 获取作者照片的 URL

  • get_book_cover :使用特定标识符(ISBN、OCLC、LCCN、OLID 或 ID)获取书籍封面图片的 URL

get_book_by_title

{ "title": "The Hobbit" }

get_book_by_title

[ { "title": "The Hobbit", "authors": [ "J. R. R. Tolkien" ], "first_publish_year": 1937, "open_library_work_key": "/works/OL45883W", "edition_count": 120, "cover_url": "https://covers.openlibrary.org/b/id/10581294-M.jpg" } ]

get_authors_by_name

{ "name": "J.R.R. Tolkien" }

get_authors_by_name

[ { "key": "OL26320A", "name": "J. R. R. Tolkien", "alternate_names": [ "John Ronald Reuel Tolkien" ], "birth_date": "3 January 1892", "top_work": "The Hobbit", "work_count": 648 } ]

get_author_info

{ "author_key": "OL26320A" }

get_author_info

{ "name": "J. R. R. Tolkien", "personal_name": "John Ronald Reuel Tolkien", "birth_date": "3 January 1892", "death_date": "2 September 1973", "bio": "John Ronald Reuel Tolkien (1892-1973) was a major scholar of the English language, specializing in Old and Middle English. He served as the Rawlinson and Bosworth Professor of Anglo-Saxon and later the Merton Professor of English Language and Literature at Oxford University.", "alternate_names": ["John Ronald Reuel Tolkien"], "photos": [6791763], "key": "/authors/OL26320A", "remote_ids": { "viaf": "95218067", "wikidata": "Q892" }, "revision": 43, "last_modified": { "type": "/type/datetime", "value": "2023-02-12T05:50:22.881" } }

get_author_photo

{ "olid": "OL26320A" }

get_author_photo

https://covers.openlibrary.org/a/olid/OL26320A-L.jpg

get_book_cover

{ "key": "ISBN", "value": "9780547928227", "size": "L" }

get_book_cover

https://covers.openlibrary.org/b/isbn/9780547928227-L.jpg

get_book_cover工具接受以下参数:

  • key :标识符的类型(以下之一: ISBNOCLCLCCNOLIDID

  • value :标识符的值

  • size :可选封面尺寸( S为小号, M为中号, L为大号,默认为L

您可以在此处看到 Claude Desktop 中使用此工具的示例:

Docker

你可以使用 Docker 测试这个 MCP 服务器。首先运行以下命令:

docker build -t mcp-open-library . docker run -p 8080:8080 mcp-open-library

然后,您可以通过检查器测试 Docker 中运行的服务器,例如

pnpm run inspector http://localhost:8080

发展

项目结构

  • src/index.ts - 主服务器实现

  • src/types.ts - TypeScript 类型定义

  • src/index.test.ts - 测试套件

可用脚本

  • npm run build构建 TypeScript 代码

  • npm run watch - 观察变化并重建

  • npm test运行测试套件

  • npm run format - 使用 Prettier 格式化代码

  • npm run inspector - 在服务器上运行 MCP 检查器

运行测试

npm test

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

致谢

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/8enSmith/mcp-open-library'

If you have feedback or need assistance with the MCP directory API, please join our Discord server