@pipeworx/dpla
Connect: https://gateway.pipeworx.io/dpla/mcp · Install: one-click buttons
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 3
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.
Tools
dpla_search_items(...)— search by free text, title, creator, contributing hub, subject, type 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)— named collections inside contributing institutions.
Auth
BYO only (_apiKey).
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.
The gateway holds no shared DPLA key, so platformKeyEnv is deliberately NOT
declared. Do not add platformKeyEnv: 'PLATFORM_DPLA_KEY' until the secret is
actually set, and land both in the same change — declaring the env var
without the secret un-sinks routing and sends American-archives questions to a
tool that can only refuse, which is strictly worse than the honest no_match
the router returns today (the fda-inspections precedent, fleet #617).
Data sources
- https://api.dp.la/v2/items — item search.
- https://api.dp.la/v2/items/{id} — one record.
- https://api.dp.la/v2/collections — named collections.
Notes the next person would otherwise rediscover:
- A missing key and a wrong key give the identical 403 and the identical
body (
{"error":"invalid_api_key","message":"Invalid or inactive API key."}), so the response cannot distinguish “we sent nothing” from “the key is dead”. DPLA also checks the key before validating any other parameter, so a 403 says nothing about whether the rest of the query was well formed. Verify a key by calling with a known-good one, not by reading the error. - Filters are dotted paths into the record, not flat names:
sourceResource.title,sourceResource.creator,provider.name,sourceResource.subject.name,sourceResource.date.after. - Fields are a string in one contributor’s records and an array in another’s
— DPLA aggregates metadata written by hundreds of separate institutions and
does not normalise cardinality.
list()/one()in the pack handle both; anything readingd.sourceResource.creator[0]directly will break on some contributors. isShownAtis the object on the holding institution’s own site; DPLA holds the description, the institution holds the object.
Tools
- dpla_search_items — Search ~50 million digitised items aggregated by the Digital Public Library of America — photographs, letters, maps, newspapers, oral histories and books from the Library of Congress, the National Arc
- dpla_item — One DPLA record in full by its id: title, creator, date, description, subjects, language, place, format, rights statement, the institution holding the original, the DPLA hub that contributed it, a thu
- dpla_collections — Find named collections inside DPLA’s contributing institutions — the curated groupings an archive defines around a topic, a donor or a project — with title, description and DPLA URL. Use it to discove
Tools
dpla_collections— Find named collections inside DPLA's contributing institutions — the curated groupings an archive defines around a topic, a donor or a project — with title, description and DPLA URL. Use it to discovedpla_item— One DPLA record in full by its id: title, creator, date, description, subjects, language, place, format, rights statement, the institution holding the original, the DPLA hub that contributed it, a thudpla_search_items— Search ~50 million digitised items aggregated by the Digital Public Library of America — photographs, letters, maps, newspapers, oral histories and books from the Library of Congress, the National Arc