dpla_collections
Pack: dpla · Endpoint: https://gateway.pipeworx.io/dpla/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/dpla_collections for the schema, then POST the same URL with its arguments for the data.
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 discover what a library has organised around a subject before pulling the individual records with dpla_search_items. Requires a free DPLA API key via _apiKey. Example: dpla_collections({ q: “Civil War”, _apiKey: ”…” }).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
q | string | no | Free-text search across collection title and description. |
title | string | no | Words in the collection title. |
limit | number | no | Collections per page, 1-100. Default 20. |
page | number | no | 1-based page number. Default 1. |
_apiKey | string | yes |
Example call
Arguments
{
"q": "Civil War",
"limit": 10,
"_apiKey": "your-dpla-api-key"
}
curl
curl -X POST https://gateway.pipeworx.io/dpla/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"dpla_collections","arguments":{"q":"Civil War","limit":10,"_apiKey":"your-dpla-api-key"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('dpla_collections', {
"q": "Civil War",
"limit": 10,
"_apiKey": "your-dpla-api-key"
});
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"dpla": {
"url": "https://gateway.pipeworx.io/dpla/mcp"
}
}
}
See Getting Started for client-specific install steps.