VOOZH about

URL: https://glama.ai/mcp/servers/8enSmith/mcp-open-library?locale=ja-JP

⇱ mcp-open-library by 8enSmith | Glama


MCP Open Library

👁 Trust Score
👁 Listed on Spark

Open Library API用のModel Context Protocol (MCP) サーバーです。AIアシスタントが書籍や著者の情報を検索できるようにします。

概要

このプロジェクトは、AIアシスタントがOpen Libraryと対話するためのツールを提供するMCPサーバーを実装しています。タイトルによる書籍検索、名前による著者検索、Open Libraryキーを使用した詳細な著者情報の取得、Open Library ID (OLID) を使用した著者写真のURL取得が可能です。サーバーは書籍および著者情報について構造化されたデータを返します。

Related MCP server: OpenAI MCP Server

機能

  • タイトルによる書籍検索: タイトルを使用して書籍を検索します (get_book_by_title)。

  • 名前による著者検索: 名前を使用して著者を検索します (get_authors_by_name)。

  • 著者詳細の取得: Open Libraryキーを使用して特定の著者の詳細情報を取得します (get_author_info)。

  • 著者写真の取得: Open Library ID (OLID) を使用して著者の写真のURLを取得します (get_author_photo)。

  • 書籍カバーの取得: さまざまな識別子 (ISBN, OCLC, LCCN, OLID, ID) を使用して書籍のカバー画像のURLを取得します (get_book_cover)。

  • IDによる書籍取得: さまざまな識別子 (ISBN, LCCN, OCLC, OLID) を使用して詳細な書籍情報を取得します (get_book_by_id)。

インストール

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/8enSmith/mcp-open-library.git
cd mcp-open-library

# Install dependencies
npm install

# Build the project
npm run build

使用方法

サーバーの実行

  1. node v22.21.1を使用していることを確認してください(新しいバージョンでも動作する可能性がありますが、このテストではこれを使用しています)。nvmがインストールされている場合は nvm use を実行してください。

  2. mcp-open-library のルートディレクトリで npm run build を実行します。

  3. 次に npm run inspector を実行します。ビルドが完了したら、MCP_PROXY_AUTH_TOKEN クエリ文字列パラメータを含むURLをクリックしてインスペクターを開きます。

  4. インスペクターで「STDIO」トランスポートを選択します。

  5. コマンドが 'build/index.js' に設定されていることを確認します。

  6. インスペクターの「Connect」ボタンをクリックすると、サーバーに接続されます。

  7. 右上のメニューバーにある「Tools」をクリックします。

  8. ツールを実行してみます(例: get_book_by_title をクリック)。

  9. 書籍を検索します(例: タイトルボックスに 'The Hobbit' と入力し、「Run Tool」をクリック)。サーバーが書籍の詳細を返します。

MCPクライアントでの使用

このサーバーはModel Context Protocolを実装しているため、Claude Desktop などのMCP互換のAIアシスタントやクライアントで使用できます。サーバーは以下のツールを公開しています:

  • get_book_by_title: タイトルで書籍情報を検索

  • get_authors_by_name: 名前で著者情報を検索

  • get_author_info: Open Library Author Keyを使用して特定の著者の詳細情報を取得

  • get_author_photo: Open Library Author ID (OLID) を使用して著者の写真のURLを取得

  • get_book_cover: 特定の識別子 (ISBN, OCLC, LCCN, OLID, または ID) を使用して書籍のカバー画像のURLを取得

  • get_book_by_id: 特定の識別子 (ISBN, LCCN, OCLC, または OLID) を使用して詳細な書籍情報を取得

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: 識別子のタイプ (ISBN, OCLC, LCCN, OLID, または ID のいずれか)

  • value: 識別子の値

  • size: オプションのカバーサイズ (S は小, M は中, L は大, デフォルトは L)

get_book_by_id の入力例:

{
 "idType": "isbn",
 "idValue": "9780547928227"
}

get_book_by_id の出力例:

{
 "title": "The Hobbit",
 "authors": [
 "J. R. R. Tolkien"
 ],
 "publishers": [
 "Houghton Mifflin Harcourt"
 ],
 "publish_date": "October 21, 2012",
 "number_of_pages": 300,
 "isbn_13": [
 "9780547928227"
 ],
 "isbn_10": [
 "054792822X"
 ],
 "oclc": [
 "794607877"
 ],
 "olid": [
 "OL25380781M"
 ],
 "open_library_edition_key": "/books/OL25380781M",
 "open_library_work_key": "/works/OL45883W",
 "cover_url": "https://covers.openlibrary.org/b/id/8231496-M.jpg",
 "info_url": "https://openlibrary.org/books/OL25380781M/The_Hobbit",
 "preview_url": "https://archive.org/details/hobbit00tolkien"
}

get_book_by_id ツールは以下のパラメータを受け付けます:

  • idType: 識別子のタイプ (isbn, lccn, oclc, olid のいずれか)

  • idValue: 識別子の値

Claude Desktopでこのツールが使用されている例を以下に示します:

Docker

Dockerを使用してこのMCPサーバーをテストできます。これを行うには、まず以下を実行します:

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

その後、インスペクターを介してDocker内で実行されているサーバーをテストできます(例:

npm 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 Inspectorを実行

テストの実行

npm test

コントリビューション

コントリビューションを歓迎します!プルリクエストを気軽に送信してください。

謝辞

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
1dResponse time
6moRelease cycle
2Releases (12mo)
Commit activity
Issues opened vs closed

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