Northwestern Digital Collections API MCP
Integración de agente con la API de Colecciones Digitales de las Bibliotecas de la Universidad Northwestern
Documentación
dc-api-mcp
Un servidor del Model Context Protocol (MCP) que expone las Digital Collections de la Biblioteca de la Universidad Northwestern como herramientas para asistentes de IA. Proporciona herramientas para buscar, explorar y recuperar metadatos y manifiestos IIIF de materiales bibliotecarios digitalizados.
Herramientas disponibles
| Tool | Description |
|---|---|
search | Buscar obras mediante consultas basadas en campos y/o en lenguaje natural |
similarity-search | Encontrar obras visual o semánticamente similares a una obra determinada |
get-work | Recuperar los metadatos completos de una obra por ID |
view-work | Ver el manifiesto IIIF de una obra para mostrarlo en visores compatibles |
list-collections | Listar las colecciones digitales disponibles |
view-collection | Explorar el manifiesto IIIF de una colección específica |
view-search-results | Recuperar resultados de una búsqueda anterior |
view-similar-works | Recuperar resultados de una búsqueda de similitud anterior |
Uso del endpoint remoto
El servidor está disponible como endpoint remoto alojado en:
https://api.dc.library.northwestern.edu/api/v2/mcp
No se requiere instalación local. Configura tu cliente MCP para conectarse a esta URL mediante el transporte HTTP transmisible.
Claude Desktop
Añade lo siguiente a tu archivo de configuración de Claude Desktop.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"dc-api": {
"type": "http",
"url": "https://api.dc.library.northwestern.edu/api/v2/mcp"
}
}
}
Claude Code
claude mcp add --transport http dc-api https://api.dc.library.northwestern.edu/api/v2/mcp
Desarrollo
Requisitos
- Node.js 24+ (consulta .tool-versions)
- mise (utilizado por
bin/run.shpara activar el runtime correcto)
Instalación
npm install
Configuración
El servidor lee las siguientes variables de entorno:
| Variable | Default | Description |
|---|---|---|
DC_API_BASE | https://api.dc.library.northwestern.edu/api/v2 | URL base de la API de Digital Collections |
DC_IIIF_BASE | https://iiif.dc.library.northwestern.edu/iiif/3 | URL base del servidor IIIF |
SECRETS_PATH | (ninguno) | Ruta base para la configuración de AWS Secrets Manager |
Ejecución local
stdio (para Claude Desktop / Claude Code)
bun run stdio
O mediante el script contenedor (activa la versión correcta de Node.js a través de mise):
bin/run.sh
HTTP (transporte HTTP transmisible, puerto 3000)
bun run http
Configuración de Claude Desktop (compilación local)
{
"mcpServers": {
"dc-api": {
"command": "/path/to/dc-api-v2/mcp/bin/run.sh"
}
}
}
Reemplaza /path/to/dc-api-v2/mcp con la ruta absoluta a este directorio. Reinicia Claude Desktop después de editar.
Pruebas
| Command | Result |
|---|---|
bun run test | Ejecutar la suite de pruebas |
bun test:watch | Ejecutar la suite de pruebas, observando cambios |
bun test:coverage | Ejecutar la suite de pruebas y calcular la cobertura |
bun test:record | Ejecutar la suite de pruebas con datos en vivo y registrar nuevos fixtures |
- Por defecto, la suite de pruebas utiliza fixtures HTTP previamente registrados. Establece
MSW_MODE=livepara ejecutar con datos en vivo. bun test:recordregistra nuevos fixtures (requieremitmproxy:pip install mitmproxy).