Skip to main content
Glama

Dpla Search Items

dpla_search_items
Read-onlyIdempotent

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 }).

Input Schema

NameRequiredDescriptionDefault
qNoFree-text search across the whole record.
pageNo1-based page number. Default 1.
typeNoItem type: image, text, sound, moving image, physical object.
limitNoItems per page, 1-100. Default 20.
titleNoWords in the item title.
_apiKeyNoYour DPLA API key. Free and self-service: POST https://api.dp.la/v2/api_key/<your-email> and DPLA emails it to you.
creatorNoCreator / author / photographer name.
subjectNoSubject heading, e.g. "Civil rights demonstrations".
providerNoContributing DPLA hub, e.g. "Smithsonian Institution", "HathiTrust".
collectionNoWords in the name of the named collection the item belongs to, as returned by dpla_collections.
date_afterNoOnly items dated after this, YYYY or YYYY-MM-DD.
date_beforeNoOnly items dated before this, YYYY or YYYY-MM-DD.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, so the description does not need to restate safety. It adds useful behavioral context: Pipeworx fronts an API key by default, callers may pass their own as _apiKey, and results include title, creator, date, subjects, rights, holding institution and object link. It does not disclose pagination limits or rate-limit behavior beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core search scope and is organized around sources, filters, return fields, alternatives, auth and an example. It is somewhat long, especially the institutional source list, but the detail is relevant and not repetitive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, read-only search tool with no output schema, the description covers scope, available filters, return fields, authentication behavior, alternatives and an example. Combined with the annotations and fully documented schema, an agent has enough context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines all 12 parameters and baseline is 3. The description adds value by grouping the filters in plain language, giving an example invocation, and clarifying the default-key versus user-supplied _apiKey behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: search roughly 50 million digitised items aggregated by the Digital Public Library of America. It lists content types and source institutions, and explicitly positions the tool against generic web search, so an agent can tell what it is for without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context, especially 'PREFER OVER WEB SEARCH for American primary sources', and explains the API-key situation. It does not explicitly differentiate from sibling tools like dpla_item or dpla_collections, though it cross-references dpla_collections for the collection parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.