VOOZH about

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

⇱ mcp-open-library by 8enSmith | Glama


MCP Open Library

👁 Trust Score
👁 Listed on Spark

Сервер протокола контекста модели (MCP) для API Open Library, который позволяет ИИ-ассистентам искать информацию о книгах и авторах.

Обзор

Этот проект реализует MCP-сервер, предоставляющий инструменты для взаимодействия ИИ-ассистентов с Open Library. Он позволяет искать информацию о книгах по названию, искать авторов по имени, получать подробную информацию об авторе с помощью его ключа Open Library и получать URL-адреса фотографий авторов с помощью их идентификатора Open Library (OLID). Сервер возвращает структурированные данные об информации о книгах и авторах.

Related MCP server: OpenAI MCP Server

Функции

  • Поиск книг по названию: Поиск книг по их названию (get_book_by_title).

  • Поиск авторов по имени: Поиск авторов по их имени (get_authors_by_name).

  • Получение подробной информации об авторе: Получение подробной информации о конкретном авторе с помощью его ключа Open Library (get_author_info).

  • Получение фотографии автора: Получение URL-адреса фотографии автора с помощью его идентификатора Open Library (OLID) (get_author_photo).

  • Получение обложки книги: Получение URL-адреса обложки книги с помощью различных идентификаторов (ISBN, OCLC, LCCN, OLID, ID) (get_book_cover).

  • Получение книги по ID: Получение подробной информации о книге с помощью различных идентификаторов (ISBN, LCCN, OCLC, OLID) (get_book_by_id).

Установка

Установка через Smithery

Чтобы автоматически установить MCP Open Library для Claude Desktop через Smithery:

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 (вероятно, будет работать и на более новой версии node, но именно её я использую для этого теста). Если у вас установлен nvm, выполните nvm use.

  2. В корневом каталоге mcp-open-library выполните npm run build

  3. Затем выполните npm run inspector. После сборки нажмите на URL с параметром строки запроса MCP_PROXY_AUTH_TOKEN, чтобы открыть инспектор.

  4. В инспекторе выберите транспорт 'STDIO'

  5. Убедитесь, что команда установлена на 'build/index.js'

  6. Нажмите кнопку 'Connect' в инспекторе — теперь вы подключитесь к серверу

  7. Нажмите 'Tools' в верхнем правом меню

  8. Попробуйте запустить инструмент, например, нажмите get_book_by_title

  9. Найдите книгу, например, в поле названия введите 'The Hobbit' и нажмите 'Run Tool'. Сервер вернет подробную информацию о книге.

Использование с MCP-клиентом

Этот сервер реализует протокол контекста модели, что означает, что его может использовать любой совместимый с MCP ИИ-ассистент или клиент, например Claude Desktop. Сервер предоставляет следующие инструменты:

  • get_book_by_title: Поиск информации о книге по названию

  • get_authors_by_name: Поиск информации об авторе по имени

  • get_author_info: Получение подробной информации о конкретном авторе с помощью ключа автора Open Library

  • get_author_photo: Получение URL-адреса фотографии автора с помощью идентификатора автора Open Library (OLID)

  • get_book_cover: Получение URL-адреса обложки книги с помощью конкретного идентификатора (ISBN, OCLC, LCCN, OLID или ID)

  • 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

Вы можете протестировать этот MCP-сервер с помощью Docker. Для этого сначала выполните:

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

Вклад

Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять pull request.

Благодарности

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