MCP.Market

Dpla MCP server

online · 100% uptime
by pipeworx-io·io.github.pipeworx-io/dpla·v0.2.1

DPLA — the Digital Public Library of America.

B77/100grade B
What users say
No reviews yet
Be the first
Safety scan
B77/100

not scanned yet

Adoption
Growing

0 stars

Reviews

Write one

Nobody 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.

Not scanned yet. New listings are scanned within a day or two of arriving.

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
Add to Cursor

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.

More from pipeworx-io →