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Использование
Запуск сервера
Убедитесь, что вы используете node v22.21.1 (вероятно, будет работать и на более новой версии node, но именно её я использую для этого теста). Если у вас установлен
nvm, выполнитеnvm use.В корневом каталоге
mcp-open-libraryвыполнитеnpm run buildЗатем выполните
npm run inspector. После сборки нажмите на URL с параметром строки запросаMCP_PROXY_AUTH_TOKEN, чтобы открыть инспектор.В инспекторе выберите транспорт 'STDIO'
Убедитесь, что команда установлена на 'build/index.js'
Нажмите кнопку 'Connect' в инспекторе — теперь вы подключитесь к серверу
Нажмите 'Tools' в верхнем правом меню
Попробуйте запустить инструмент, например, нажмите get_book_by_title
Найдите книгу, например, в поле названия введите 'The Hobbit' и нажмите 'Run Tool'. Сервер вернет подробную информацию о книге.
Использование с MCP-клиентом
Этот сервер реализует протокол контекста модели, что означает, что его может использовать любой совместимый с MCP ИИ-ассистент или клиент, например Claude Desktop. Сервер предоставляет следующие инструменты:
get_book_by_title: Поиск информации о книге по названиюget_authors_by_name: Поиск информации об авторе по имениget_author_info: Получение подробной информации о конкретном авторе с помощью ключа автора Open Libraryget_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- Определения типов TypeScriptsrc/index.test.ts- Набор тестов
Доступные скрипты
npm run build- Сборка кода TypeScriptnpm run watch- Отслеживание изменений и пересборкаnpm test- Запуск набора тестовnpm run format- Форматирование кода с помощью Prettiernpm run inspector- Запуск MCP Inspector для сервера
Запуск тестов
npm testВклад
Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять pull request.
Благодарности
Maintenance
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
