VOOZH about

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

⇱ mcp-open-library by 8enSmith | Glama


MCP Open Library

👁 Trust Score
👁 Listed on Spark

Un servidor del Protocolo de Contexto de Modelo (MCP) para la API de Open Library que permite a los asistentes de IA buscar información sobre libros y autores.

Descripción general

Este proyecto implementa un servidor MCP que proporciona herramientas para que los asistentes de IA interactúen con Open Library. Permite buscar información de libros por título, buscar autores por nombre, recuperar información detallada de autores utilizando su clave de Open Library y obtener URLs para fotos de autores utilizando su ID de Open Library (OLID). El servidor devuelve datos estructurados para la información de libros y autores.

Related MCP server: OpenAI MCP Server

Características

  • Búsqueda de libros por título: Buscar libros usando su título (get_book_by_title).

  • Búsqueda de autores por nombre: Buscar autores usando su nombre (get_authors_by_name).

  • Obtener detalles del autor: Recuperar información detallada de un autor específico usando su clave de Open Library (get_author_info).

  • Obtener foto del autor: Obtener la URL de la foto de un autor usando su ID de Open Library (OLID) (get_author_photo).

  • Obtener portada del libro: Obtener la URL de la imagen de portada de un libro usando varios identificadores (ISBN, OCLC, LCCN, OLID, ID) (get_book_cover).

  • Obtener libro por ID: Recuperar información detallada de un libro usando varios identificadores (ISBN, LCCN, OCLC, OLID) (get_book_by_id).

Instalación

Instalación a través de Smithery

Para instalar MCP Open Library para Claude Desktop automáticamente a través de Smithery:

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

Instalación manual

# 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

Uso

Ejecución del servidor

  1. Asegúrese de estar ejecutando node v22.21.1 (probablemente funcione en una versión más reciente de node, pero esta es la que estoy usando para esta prueba). Si tiene nvm instalado, ejecute nvm use.

  2. En el directorio raíz de mcp-open-library, ejecute npm run build.

  3. A continuación, ejecute npm run inspector. Una vez compilado, haga clic en la URL con el parámetro de cadena de consulta MCP_PROXY_AUTH_TOKEN para abrir el Inspector.

  4. En el Inspector, elija el transporte 'STDIO'.

  5. Asegúrese de que el comando esté configurado en 'build/index.js'.

  6. Haga clic en el botón 'Connect' en el Inspector; ahora se conectará al servidor.

  7. Haga clic en 'Tools' en la barra de menú superior derecha.

  8. Intente ejecutar una herramienta, por ejemplo, haga clic en get_book_by_title.

  9. Busque un libro, por ejemplo, en el cuadro de título ingrese 'The Hobbit' y luego haga clic en 'Run Tool'. El servidor devolverá los detalles del libro.

Uso con un cliente MCP

Este servidor implementa el Protocolo de Contexto de Modelo, lo que significa que puede ser utilizado por cualquier asistente de IA o cliente compatible con MCP, por ejemplo, Claude Desktop. El servidor expone las siguientes herramientas:

  • get_book_by_title: Buscar información de libros por título

  • get_authors_by_name: Buscar información de autores por nombre

  • get_author_info: Obtener información detallada de un autor específico usando su clave de autor de Open Library

  • get_author_photo: Obtener la URL de la foto de un autor usando su ID de autor de Open Library (OLID)

  • get_book_cover: Obtener la URL de la imagen de portada de un libro usando un identificador específico (ISBN, OCLC, LCCN, OLID o ID)

  • get_book_by_id: Obtener información detallada de un libro usando un identificador específico (ISBN, LCCN, OCLC o OLID)

Ejemplo de entrada para get_book_by_title:

{
 "title": "The Hobbit"
}

Ejemplo de salida para 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"
 }
]

Ejemplo de entrada para get_authors_by_name:

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

Ejemplo de salida para 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
 }
]

Ejemplo de entrada para get_author_info:

{
 "author_key": "OL26320A"
}

Ejemplo de salida para 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"
 }
}

Ejemplo de entrada para get_author_photo:

{
 "olid": "OL26320A"
}

Ejemplo de salida para get_author_photo:

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

Ejemplo de entrada para get_book_cover:

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

Ejemplo de salida para get_book_cover:

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

La herramienta get_book_cover acepta los siguientes parámetros:

  • key: El tipo de identificador (uno de: ISBN, OCLC, LCCN, OLID o ID)

  • value: El valor del identificador

  • size: Tamaño de portada opcional (S para pequeño, M para mediano, L para grande, el valor predeterminado es L)

Ejemplo de entrada para get_book_by_id:

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

Ejemplo de salida para 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"
}

La herramienta get_book_by_id acepta los siguientes parámetros:

  • idType: El tipo de identificador (uno de: isbn, lccn, oclc, olid)

  • idValue: El valor del identificador

Un ejemplo de esta herramienta siendo utilizada en Claude Desktop se puede ver aquí:

Docker

Puede probar este servidor MCP usando Docker. Para hacer esto, primero ejecute:

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

Puede probar el servidor ejecutándose dentro de Docker a través del inspector, por ejemplo:

npm run inspector http://localhost:8080

Desarrollo

Estructura del proyecto

  • src/index.ts - Implementación principal del servidor

  • src/types.ts - Definiciones de tipos de TypeScript

  • src/index.test.ts - Conjunto de pruebas

Scripts disponibles

  • npm run build - Compilar el código TypeScript

  • npm run watch - Observar cambios y recompilar

  • npm test - Ejecutar el conjunto de pruebas

  • npm run format - Formatear código con Prettier

  • npm run inspector - Ejecutar el Inspector MCP contra el servidor

Ejecución de pruebas

npm test

Contribuciones

¡Las contribuciones son bienvenidas! Por favor, siéntase libre de enviar una solicitud de extracción (pull request).

Reconocimientos

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