search
Pack: nypl · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search for the schema, then POST the same URL with its arguments for the data.
Search the NYPL Digital Collections collection by keyword. Returns matching items with ids (pass an id to item), titles, creators/sources, dates and links.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Keyword(s). |
limit | number | no | Max results (1-100, default 20). |
page | number | no | Page (1-based, default 1). |
_apiKey | string | no | NYPL Digital Collections API key (auto-injected by the platform). |
Example call
Arguments
{
"query": "Civil War photographs"
}
curl
curl -X POST https://gateway.pipeworx.io/nypl/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"Civil War photographs"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search', {
"query": "Civil War photographs"
});
More examples
{
"query": "New York maps 1850",
"limit": 50,
"page": 1
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the nypl pack
{
"mcpServers": {
"nypl": {
"url": "https://gateway.pipeworx.io/nypl/mcp"
}
}
}
See Getting Started for client-specific install steps.