
Dpla MCP server
online · 100% uptimeDPLA — the Digital Public Library of America.
not scanned yet
0 stars
Reviews
Write oneNobody has reviewed Dpla yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Dpla tools
Tool list not cached yet. `describe` through the gateway fetches it live.
How Dpla compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 77/100
- higher than 50% of 48,255 servers
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 260 ms
- faster than 54% of 30,031 servers
Release history: 6 versions in the registry since 2026-09-24, latest 2026-11-01, typically one every 3 days.
Install Dpla in Claude Code, Cursor or VS Code
claude mcp add --transport http dpla https://gateway.pipeworx.io/dpla/mcp
What the publisher says
From the Dpla repository's README, as published. We do not edit it. Read it on GitHub
@pipeworx/dpla
The Digital Public Library of America — ~50 million digitised items aggregated from the Library of Congress, the National Archives, the Smithsonian, HathiTrust, Internet Archive and hundreds of state libraries, universities and historical societies, searchable in one query.
Part of Pipeworx — an MCP gateway connecting AI agents to 1679+ live data sources.
Tools
- dplasearchitems(...) — search by free text, title, creator, contributing hub, subject, type, named collection or date range.
- dpla_item(id) — one record in full, including the raw source metadata as the contributing institution wrote it.
- dpla_collections(q | title) — which named collections inside contributing institutions hold matching material, with an item count each.
Auth
Platform-backed since 2026-09-18: PLATFORMDPLAKEY lives in the encrypted platformkeys table (no Cloudflare binding) and platformKeyEnv is declared in workers/gateway/src/pack-manifest.json, so callers need nothing. Pass your own key as apiKey to use it instead.
The key is free, instant and self-service — no approval, no plan, no payment:
curl -XPOST https://api.dp.la/v2/api_key/<your-email>DPLA emails the key within a minute or two.
Verify the platform key is really set with curl -s https://gateway.pipeworx.io/manifest.json → dpla.platformkeyset, never from a file on a laptop.
Data sources
sourceResource.collection.title facet of this same endpoint.
- — item search; dpla_collections is the
- — one record.
Notes the next person would otherwise rediscover:
serves exactly three routes — GET /v2/items, GET /v2/items/{id}, POST /v2/apikey/{email} (their source: github.com/dpla/dpla-api, src/index.ts). api.dp.la/v2/collections answers 404 The requested resource could not be found to a valid key, the same body it gives no key at all. An earlier version of this pack read that 404 as "bad key" because it had only ever been run without a working one. Named collections now surface only as the sourceResource.collection.title facet on the items search (facets=sourceResource.collection.title, facetsize up to 2,000), which is what dpla_collections is built on.
- /v2/collections no longer exists (fleet #2249, 2026-09-18). DPLA's API
give the identical 403 and the identical body ({"error":"invalidapikey","message":"Invalid or inactive API key."}), checked before any other parameter is validated. So a 403 says nothing about whether the rest of the query was well formed, and a 404 says the path is gone, not that the key is. Verify a key by calling /v2/items with it, not by reading an error.
- A 404 from DPLA is never a key problem. A missing key and a wrong key
page — so dpla_collections asks for one doc and ignores it.
- page_size=0 does not suppress docs — it falls through to DPLA's default
sourceResource.title, sourceResource.creator, provider.name, sourceResource.subject.name, sourceResource.collection.title, sourceResource.date.after.
- Filters are dotted paths into the record, not flat names:
— DPLA aggregates metadata written by hundreds of separate institutions and does not normalise cardinality. list()/one() in the pack handle both; anything reading d.sourceResource.creator[0] directly will break on some contributors. sourceResource.collection is an object with title (not name), so it has its own collectionTitles() reader.
- Fields are a string in one contributor's records and an array in another's
the description, the institution holds the object.
- isShownAt is the object on the holding institution's own site; DPLA holds
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Dpla: common questions
- Is Dpla MCP server safe?
- Mostly: it is graded B (77/100). Read the Dpla safety report
- How do I install Dpla?
- It runs remotely at gateway.pipeworx.io. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Dpla need an API key?
- Yes. The registry entry asks for
PIPEWORX_API_KEY. - Is Dpla maintained?
- The last commit was 40 days ago (2026-09-24). The latest release is v0.2.1.
- Is Dpla up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Dpla compare with other MCP servers?
- safety score 77/100 (higher than 50% of 48,255 servers); uptime 100% (of our recent checks; the typical remote server answers 100%); response time 260 ms (faster than 54% of 30,031 servers). Full comparison.