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

ToolDescription
searchBuscar obras mediante consultas basadas en campos y/o en lenguaje natural
similarity-searchEncontrar obras visual o semánticamente similares a una obra determinada
get-workRecuperar los metadatos completos de una obra por ID
view-workVer el manifiesto IIIF de una obra para mostrarlo en visores compatibles
list-collectionsListar las colecciones digitales disponibles
view-collectionExplorar el manifiesto IIIF de una colección específica
view-search-resultsRecuperar resultados de una búsqueda anterior
view-similar-worksRecuperar 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.sh para activar el runtime correcto)

Instalación

npm install

Configuración

El servidor lee las siguientes variables de entorno:

VariableDefaultDescription
DC_API_BASEhttps://api.dc.library.northwestern.edu/api/v2URL base de la API de Digital Collections
DC_IIIF_BASEhttps://iiif.dc.library.northwestern.edu/iiif/3URL 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

CommandResult
bun run testEjecutar la suite de pruebas
bun test:watchEjecutar la suite de pruebas, observando cambios
bun test:coverageEjecutar la suite de pruebas y calcular la cobertura
bun test:recordEjecutar 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=live para ejecutar con datos en vivo.
  • bun test:record registra nuevos fixtures (requiere mitmproxy: pip install mitmproxy).