Enables AI assistants to search, browse, and retrieve metadata and IIIF manifests from Northwestern University's digitized library collections.
Also known as nulib/dc-api-v2, dc-api, @nulib/dc-api-mcp
- Stars
- 14
- Tools
- 8
- Downloads, 30 days
- —
- Latest version
- 2.12.0
- Last commit
- Nov 12, 2026
- License
- —
What is Northwestern University Libraries Digital Collections API MCP?
Northwestern University Libraries Digital Collections API enables AI assistants to search, browse, and retrieve metadata and IIIF manifests from Northwestern University's digitized library collections. It exposes 8 tools, such as search, similarity-search, get-work.
Summary generated from the project's README
About Northwestern University Libraries Digital Collections API MCP server
Accessing digitized library materials from Northwestern University through an AI assistant is possible with this MCP server. It allows researchers and developers to interact with the Digital Collections API to find specific historical works, browse through various collections, and retrieve detailed metadata. Users can perform natural language queries or use field-based searches to locate items within the university's archives.
This server can be used as a remote endpoint via streamable HTTP transport, meaning no local installation is required if you connect your client to the provided URL. For those who prefer a local setup, it can be run using stdio. The tools provided include search, similarity-search for finding visually or semantically related works, get-work for full metadata, and view-work to access IIIF manifests for compatible viewers. It also includes tools to list collections and view specific collection manifests.
What you can do with it
- 1Find visually similar historical worksAsk the AI to find items that look like or are semantically related to a specific library work.
- 2Retrieve detailed item metadataRequest the complete descriptive metadata for a specific digitized object using its unique ID.
- 3Browse digital library collectionsHave the AI list all available digital collections or browse the manifest of a specific one.
- 4Search archives with natural languageUse conversational queries to search through the Northwestern University library digitized materials.
Written from the project's README. Every use case is checked against a quote from it.
How to install Northwestern University Libraries Digital Collections API MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Northwestern University Libraries Digital Collections API MCP in Claude Code
$ claude mcp add dc-api -- npx -y @nulib/dc-api-mcpInstall Northwestern University Libraries Digital Collections API MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"dc-api": {
"command": "npx",
"args": [
"-y",
"@nulib/dc-api-mcp"
]
}
}
}Install Northwestern University Libraries Digital Collections API MCP in VS Code
.vscode/mcp.json
{
"servers": {
"dc-api": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nulib/dc-api-mcp"
]
}
}
}Install Northwestern University Libraries Digital Collections API MCP in VS Code CLI
$ code --add-mcp '{"name":"dc-api","type":"stdio","command":"npx","args":["-y","@nulib/dc-api-mcp"]}'Install Northwestern University Libraries Digital Collections API MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"dc-api": {
"command": "npx",
"args": [
"-y",
"@nulib/dc-api-mcp"
]
}
}
}Install Northwestern University Libraries Digital Collections API MCP in Codex
$ codex mcp add dc-api -- npx -y @nulib/dc-api-mcpInstall Northwestern University Libraries Digital Collections API MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.dc-api] command = "npx" args = ["-y", "@nulib/dc-api-mcp"]
Install Northwestern University Libraries Digital Collections API MCP in Gemini CLI
$ gemini mcp add -s user dc-api npx -- -y @nulib/dc-api-mcpInstall Northwestern University Libraries Digital Collections API MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"dc-api": {
"command": "npx",
"args": [
"-y",
"@nulib/dc-api-mcp"
]
}
}
}Northwestern University Libraries Digital Collections API MCP tools 8
Detected from the READMEsearchsimilarity-searchget-workview-worklist-collectionsview-collectionview-search-resultsview-similar-works
| search | — | |
| similarity-search | — | |
| get-work | — | |
| view-work | — | |
| list-collections | — | |
| view-collection | — | |
| view-search-results | — | |
| view-similar-works | — |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work · What to fix for more points
- Source repository linked and reachablePass
- Open source license (OSI)No licenseFinding
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubdc-api-mcp
A Model Context Protocol (MCP) server that exposes Northwestern University Library's Digital Collections as tools for AI assistants. It provides tools for searching, browsing, and retrieving metadata and IIIF manifests for digitized library materials.
Available Tools
| Tool | Description |
|---|---|
search |
Search for works using field-based and/or natural language queries |
similarity-search |
Find works visually or semantically similar to a given work |
get-work |
Retrieve full metadata for a single work by ID |
view-work |
View a work's IIIF manifest for display in compatible viewers |
list-collections |
List available digital collections |
view-collection |
Browse a specific collection's IIIF manifest |
view-search-results |
Retrieve results from a previous search |
view-similar-works |
Retrieve results from a previous similarity search |
Using the Remote Endpoint
The server is available as a hosted remote at:
https://api.dc.library.northwestern.edu/api/v2/mcp
No local installation is required. Configure your MCP client to connect to this URL using the streamable HTTP transport.
Claude Desktop
Add the following to your Claude Desktop configuration file.
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
Development
Requirements
- Node.js 24+ (see .tool-versions)
- mise (used by
bin/run.shto activate the correct runtime)
Setup
npm install
Configuration
The server reads the following environment variables:
| Variable | Default | Description |
|---|---|---|
DC_API_BASE |
https://api.dc.library.northwestern.edu/api/v2 |
Base URL for the Digital Collections API |
DC_IIIF_BASE |
https://iiif.dc.library.northwestern.edu/iiif/3 |
Base URL for the IIIF server |
SECRETS_PATH |
(none) | Base path for AWS Secrets Manager config |
Running locally
stdio (for Claude Desktop / Claude Code)
bun run stdio
Or via the wrapper script (activates the correct Node.js version via mise):
bin/run.sh
HTTP (Streamable HTTP transport, port 3000)
bun run http
Configuring Claude Desktop (local build)
{
"mcpServers": {
"dc-api": {
"command": "/path/to/dc-api-v2/mcp/bin/run.sh"
}
}
}
Replace /path/to/dc-api-v2/mcp with the absolute path to this directory. Restart Claude Desktop after editing.
Tests
| Command | Result |
|---|---|
bun run test |
Run the test suite |
bun test:watch |
Run the test suite, watching for changes |
bun test:coverage |
Run the test suite and calculate coverage |
bun test:record |
Run the test suite against live data and record new fixtures |
- By default, the test suite uses pre-recorded HTTP fixtures. Set
MSW_MODE=liveto run against live data. bun test:recordrecords new fixtures (requiresmitmproxy:pip install mitmproxy).
Northwestern University Libraries Digital Collections API MCP questions
How do I add Northwestern University Libraries Digital Collections API MCP to Claude Code?
Run claude mcp add dc-api -- npx -y @nulib/dc-api-mcp in your terminal. Add --scope user to make it available in every project.
How do I add Northwestern University Libraries Digital Collections API MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does Northwestern University Libraries Digital Collections API MCP provide?
It exposes 8 tools, including search, similarity-search, get-work, view-work, list-collections.
How can I use this server without local installation?
You can connect to the hosted remote endpoint using the streamable HTTP transport.
What tools are available in this MCP server?
The server provides tools for searching, similarity searching, retrieving work metadata, viewing IIIF manifests, and listing collections.
How do I configure Claude Desktop to use the remote version?
Add the server configuration to your Claude Desktop config file using the 'http' type and the provided remote URL.