En el ecosistema de las bibliotecas y centros de documentación, la capacidad de acceder a múltiples catálogos de manera centralizada es fundamental. VuFind, como sistema de descubrimiento de código abierto, ofrece una potente API RESTful que permite a los desarrolladores interactuar con sus datos mediante programación.
Este artículo técnico detalla el diseño y la implementación de un MCP simple, desarrollado en Python. Este server MCP permitirá a un usuario realizar búsquedas en una o más instancias de VuFind configuradas, obteniendo los resultados directamente en su terminal.
¿Qué es VuFind y su API?
VuFind es una interfaz de descubrimiento de recursos bibliotecarios que se instala sobre un software de catalogación tradicional (como Koha o Aleph) para ofrecer una experiencia de usuario más moderna y unificada. Su corazón, en lo que a interoperabilidad respecta, es su API.
La API de VuFind es de tipo RESTful, lo que significa que opera sobre los principios del protocolo HTTP. Las interacciones se realizan a través de URLs específicas (endpoints) y los datos se intercambian, comúnmente, en formato JSON (JavaScript Object Notation), un estándar ligero y fácil de procesar para la mayoría de los lenguajes de programación, incluido Python.
El principal endpoint que utilizaremos es /api/v1/search
. Una petición a este endpoint nos devolverá una lista de registros que coincidan con nuestros criterios de búsqueda.
Diseñando nuestro MCP en Python
El objetivo es crear un script en Python que cumpla los siguientes requisitos:
- Configurable: Debe ser fácil agregar, quitar o modificar las instancias de VuFind a las que queremos consultar.
Soporte del protocolo MCP: usando la librería FastMCP
Funcional: Debe aceptar una consulta de búsqueda, elegir la herramienta adecuada y realizar la consulta via api para luego devolver los resultados de manera legible.
Para esto, utilizaremos dos bibliotecas estándar y muy populares en Python:
-
requests
: Para manejar las peticiones HTTP de forma sencilla y robusta. -
json
: Para interpretar la respuesta JSON que nos devuelve la API.
Paso 1: Configuración de las Instancias de VuFind
Código Completo y Ejemplo de Uso
el código completo está alojado en github y publicado en https://mcp.so/server/vufind-mpc-api/horaciod?tab=content
Y una vez instalado en claude o gemini-cli se puede hacer uso y obtener una respuesta como la de la imagen a la pregunta "en el snrd hay información o tesis de análisis de perez reverte" (esto selecciona la herramienta del mcp y realiza la llamada API para luego mostrar los registros formateados.
Video explicativo de cómo instalarlo en Gemini.
https://www.youtube.com/watch?v=zkAsEGKhyzM
Conclusión
La API de VuFind abre un abanico de posibilidades para la integración y el desarrollo de herramientas personalizadas. Con unas pocas líneas de Python y la ayuda de la biblioteca requests
, hemos construido un cliente de metabúsqueda funcional y extensible. Este tipo de desarrollos demuestra cómo la automatización y la interoperabilidad pueden potenciar enormemente el acceso a la información distribuida en los catálogos de bibliotecas, creando soluciones eficientes y adaptadas a necesidades específicas.
Top comments (0)