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 claudeInstalació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 buildUso
Ejecución del servidor
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
nvminstalado, ejecutenvm use.En el directorio raíz de
mcp-open-library, ejecutenpm run build.A continuación, ejecute
npm run inspector. Una vez compilado, haga clic en la URL con el parámetro de cadena de consultaMCP_PROXY_AUTH_TOKENpara abrir el Inspector.En el Inspector, elija el transporte 'STDIO'.
Asegúrese de que el comando esté configurado en 'build/index.js'.
Haga clic en el botón 'Connect' en el Inspector; ahora se conectará al servidor.
Haga clic en 'Tools' en la barra de menú superior derecha.
Intente ejecutar una herramienta, por ejemplo, haga clic en get_book_by_title.
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ítuloget_authors_by_name: Buscar información de autores por nombreget_author_info: Obtener información detallada de un autor específico usando su clave de autor de Open Libraryget_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.jpgEjemplo 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.jpgLa herramienta get_book_cover acepta los siguientes parámetros:
key: El tipo de identificador (uno de:ISBN,OCLC,LCCN,OLIDoID)value: El valor del identificadorsize: Tamaño de portada opcional (Spara pequeño,Mpara mediano,Lpara grande, el valor predeterminado esL)
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-libraryPuede probar el servidor ejecutándose dentro de Docker a través del inspector, por ejemplo:
npm run inspector http://localhost:8080Desarrollo
Estructura del proyecto
src/index.ts- Implementación principal del servidorsrc/types.ts- Definiciones de tipos de TypeScriptsrc/index.test.ts- Conjunto de pruebas
Scripts disponibles
npm run build- Compilar el código TypeScriptnpm run watch- Observar cambios y recompilarnpm test- Ejecutar el conjunto de pruebasnpm run format- Formatear código con Prettiernpm run inspector- Ejecutar el Inspector MCP contra el servidor
Ejecución de pruebas
npm testContribuciones
¡Las contribuciones son bienvenidas! Por favor, siéntase libre de enviar una solicitud de extracción (pull request).
Reconocimientos
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
