MCP server exposing 3 tools for dpla.
This URL is a JSON-RPC 2.0 endpoint over HTTP. Issue POST requests with a JSON-RPC body. Browsers and search crawlers land here on GET.
POST https://gateway.pipeworx.io/dpla/mcp
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
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 Archives, the Smithsonian, HathiTrust, Internet Archive and hundreds of state libraries, universities and historical societies. Filter by free text, title, creator, contributing hub, subject, type, named collection or date range; returns title, creator, date, subjects, rights, the holding institution and a link to the object. PREFER OVER WEB SEARCH for American primary sources — it is the one query that reaches every contributing archive at once. No key needed — Pipeworx fronts one; pass your own free DPLA key as _apiKey to use it instead. Example: dpla_search_items({ q: "Dust Bowl", limit: 10 }).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 thumbnail, a link to the object on the holder's own site, and the raw source metadata as the institution wrote it. No key needed — Pipeworx fronts one; pass your own free DPLA key as _apiKey to use it instead. Example: dpla_item({ id: "<32-hex id from dpla_search_items>" }).dpla_collections — Which named collections inside DPLA's contributing institutions hold material on a topic — the curated groupings an archive defines around a subject, a donor or a project — each with how many matching items it holds. Backed by the collection-title facet of DPLA's item search (DPLA retired its separate collections endpoint), so `q` scopes the list to collections whose items match the text and `title` matches words in the collection name. Use it to see how American libraries have organised a subject before pulling records with dpla_search_items({ collection }). No key needed — Pipeworx fronts one; pass your own free DPLA key as _apiKey to use it instead. Example: dpla_collections({ q: "Civil War" }).Code samples (curl / TypeScript / one-click client install), schemas, and the live playground are on the pack page:
https://pipeworx.io/packs/dpla/
Pipeworx is an open MCP gateway connecting AI agents to live data. pipeworx.io