Northwestern Digital Collections API MCP
Integração de agente com a API de Coleções Digitais das Bibliotecas da Universidade Northwestern
Documentação
dc-api-mcp
Um servidor Model Context Protocol (MCP) que expõe as Digital Collections da Biblioteca da Northwestern University como ferramentas para assistentes de IA. Ele fornece ferramentas para buscar, navegar e recuperar metadados e manifestos IIIF de materiais digitalizados da biblioteca.
Ferramentas Disponíveis
| Ferramenta | Descrição |
|---|---|
search | Buscar obras usando consultas baseadas em campos e/ou linguagem natural |
similarity-search | Encontrar obras visualmente ou semanticamente semelhantes a uma obra específica |
get-work | Recuperar metadados completos de uma única obra por ID |
view-work | Visualizar o manifesto IIIF de uma obra para exibição em visualizadores compatíveis |
list-collections | Listar coleções digitais disponíveis |
view-collection | Navegar pelo manifesto IIIF de uma coleção específica |
view-search-results | Recuperar resultados de uma busca anterior |
view-similar-works | Recuperar resultados de uma busca de similaridade anterior |
Usando o Endpoint Remoto
O servidor está disponível como um endpoint remoto hospedado em:
https://api.dc.library.northwestern.edu/api/v2/mcp
Nenhuma instalação local é necessária. Configure seu cliente MCP para conectar a esta URL usando o transporte HTTP streamable.
Claude Desktop
Adicione o seguinte ao seu arquivo de configuração do 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
Desenvolvimento
Requisitos
- Node.js 24+ (veja .tool-versions)
- mise (usado por
bin/run.shpara ativar o runtime correto)
Configuração
npm install
Configuração
O servidor lê as seguintes variáveis de ambiente:
| Variável | Padrão | Descrição |
|---|---|---|
DC_API_BASE | https://api.dc.library.northwestern.edu/api/v2 | URL base para a API de Digital Collections |
DC_IIIF_BASE | https://iiif.dc.library.northwestern.edu/iiif/3 | URL base para o servidor IIIF |
SECRETS_PATH | (nenhum) | Caminho base para configuração do AWS Secrets Manager |
Executando localmente
stdio (para Claude Desktop / Claude Code)
bun run stdio
Ou via o script wrapper (ativa a versão correta do Node.js via mise):
bin/run.sh
HTTP (transporte HTTP streamable, porta 3000)
bun run http
Configurando o Claude Desktop (build local)
{
"mcpServers": {
"dc-api": {
"command": "/path/to/dc-api-v2/mcp/bin/run.sh"
}
}
}
Substitua /path/to/dc-api-v2/mcp pelo caminho absoluto para este diretório. Reinicie o Claude Desktop após editar.
Testes
| Comando | Resultado |
|---|---|
bun run test | Executar a suíte de testes |
bun test:watch | Executar a suíte de testes, observando alterações |
bun test:coverage | Executar a suíte de testes e calcular a cobertura |
bun test:record | Executar a suíte de testes contra dados reais e gravar novos fixtures |
- Por padrão, a suíte de testes usa fixtures HTTP pré-gravados. Defina
MSW_MODE=livepara executar contra dados reais. bun test:recordgrava novos fixtures (requermitmproxy:pip install mitmproxy).