search_datasets
Pack: datagov · Endpoint: https://gateway.pipeworx.io/datagov/mcp
Search U.S. government open datasets on Data.gov by keyword. Returns titles, descriptions, organizations, formats, and download URLs. Example: search_datasets(“climate change”, organization: “noaa-gov”).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Search keywords (e.g., “climate change”, “census population”) |
organization | string | no | Filter by organization slug (e.g., “noaa-gov”, “epa-gov”, “nasa-gov”) |
tags | string | no | Filter by tag (e.g., “health”, “environment”) |
Example call
Arguments
{
"query": "climate change temperature"
}
curl
curl -X POST https://gateway.pipeworx.io/datagov/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_datasets","arguments":{"query":"climate change temperature"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search_datasets', {
"query": "climate change temperature"
});
More examples
{
"query": "census population",
"organization": "census-gov",
"tags": "demographics"
}
Response shape
Always returns: datasets, returned, has_more
| Field | Type | Description |
|---|---|---|
datasets | array | |
returned | number | Datasets returned in this page. The upstream provides NO corpus total — it is cursor-paginated — so no total is reported rather than a fabricated one. |
has_more | boolean | True when the upstream returned a continuation cursor. |
Full JSON Schema
{
"type": "object",
"properties": {
"datasets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": [
"string",
"null"
],
"description": "Dataset unique identifier"
},
"name": {
"type": [
"string",
"null"
],
"description": "Dataset name slug"
},
"title": {
"type": [
"string",
"null"
],
"description": "Human-readable dataset title"
},
"description": {
"type": "string",
"description": "Dataset description (truncated to 300 chars)"
},
"organization": {
"type": [
"string",
"null"
],
"description": "Publishing organization name"
},
"formats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Available file formats in the dataset"
},
"modified": {
"type": [
"string",
"null"
],
"description": "ISO timestamp of last metadata modification"
}
},
"required": []
}
},
"returned": {
"type": "number",
"description": "Datasets returned in this page. The upstream provides NO corpus total — it is cursor-paginated — so no total is reported rather than a fabricated one."
},
"has_more": {
"type": "boolean",
"description": "True when the upstream returned a continuation cursor."
}
},
"required": [
"datasets",
"returned",
"has_more"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"datagov": {
"url": "https://gateway.pipeworx.io/datagov/mcp"
}
}
}
See Getting Started for client-specific install steps.