Biblioteca Abierta MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) para la API de Open Library que permite a los asistentes de IA buscar información de 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 los autores mediante su clave de Open Library y obtener las URL de las fotos de los autores mediante su ID de Open Library (OLID). El servidor devuelve datos estructurados de la información de libros y autores.
Related MCP server: searchAPI-mcp
Características
Búsqueda de libros por título : busque libros utilizando su título (
get_book_by_title).Búsqueda de autor por nombre : busca autores utilizando su nombre (
get_authors_by_name).Obtener detalles del autor : recupere información detallada de un autor específico utilizando su clave de Open Library (
get_author_info).Obtener foto del autor : obtenga la URL de la foto de un autor usando su ID de Open Library (OLID) (
get_author_photo).Obtener portada de libro : obtenga la URL de la imagen de portada de un libro utilizando varios identificadores (ISBN, OCLC, LCCN, OLID, ID) (
get_book_cover).
Instalación
Instalación mediante herrería
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/your-username/mcp-open-library.git
cd mcp-open-library
# Install dependencies
npm install
# Build the project
npm run buildUso
Ejecución del servidor
Puede utilizar el Inspector MCP para probar el servidor:
npm run inspectorAcceda al Inspector MCP y luego pruebe la herramienta, por ejemplo

Uso con un cliente MCP
Este servidor implementa el Protocolo de Contexto de Modelo, lo que significa que puede ser utilizado por cualquier asistente o cliente de IA compatible con MCP, como Claude Desktop . El servidor expone las siguientes herramientas:
get_book_by_title: Busca información del libro por títuloget_authors_by_name: Busca información del autor por nombreget_author_info: Obtenga información detallada de un autor específico utilizando 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: obtiene la URL de la imagen de portada de un libro utilizando un identificador específico (ISBN, OCLC, LCCN, OLID o ID)
Ejemplo de entrada
{
"title": "The Hobbit"
}Ejemplo de salida
[
{
"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
{
"name": "J.R.R. Tolkien"
}Ejemplo de salida
[
{
"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
{
"author_key": "OL26320A"
}Ejemplo de salida
{
"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
{
"olid": "OL26320A"
}Ejemplo de salida
https://covers.openlibrary.org/a/olid/OL26320A-L.jpgEjemplo de entrada
{
"key": "ISBN",
"value": "9780547928227",
"size": "L"
}Ejemplo de salida
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 los siguientes:ISBN,OCLC,LCCN,OLIDoID)value: El valor del identificadorsize: Tamaño de cubierta opcional (Spara pequeño,Mpara mediano,Lpara grande, predeterminadoL)
Un ejemplo del uso de esta herramienta en Claude Desktop se puede ver aquí:
Estibador
Puedes probar este servidor MCP con Docker. Para ello, primero ejecuta:
docker build -t mcp-open-library .
docker run -p 8080:8080 mcp-open-libraryLuego puede probar el servidor ejecutándose dentro de Docker a través del inspector, por ejemplo:
pnpm run inspector http://localhost:8080Desarrollo
Estructura del proyecto
src/index.ts- Implementación del servidor principalsrc/types.ts- Definiciones de tipos de TypeScriptsrc/index.test.ts- Conjunto de pruebas
Scripts disponibles
npm run build- Construye el código TypeScriptnpm run watch: vigila los cambios y reconstruyenpm test- Ejecutar el conjunto de pruebasnpm run format- Formatear código con Prettiernpm run inspector: ejecuta el inspector MCP contra el servidor
Ejecución de pruebas
npm testContribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.