eia_series
Pack: eia · Endpoint: https://gateway.pipeworx.io/eia/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/eia_series for the schema, then POST the same URL with its arguments for the data.
Search EIA for any energy data series by route path. Returns historical data points with timestamps and values. Use for specific energy metrics not covered by category tools.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
_apiKey | string | yes | EIA API key (free from eia.gov) |
route | string | yes | EIA data route path. Common routes: |
frequency | string | no | Data frequency: “weekly”, “monthly”, “quarterly”, “annual” (optional) |
start | string | no | Start date, e.g., “2023-01” for monthly, “2023” for annual (optional) |
end | string | no | End date (optional) |
limit | number | no | Max records to return (default: 12, max: 5000) |
Example call
Arguments
{
"_apiKey": "your-eia-api-key",
"route": "petroleum/pri/gnd"
}
curl
curl -X POST https://gateway.pipeworx.io/eia/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"eia_series","arguments":{"_apiKey":"your-eia-api-key","route":"petroleum/pri/gnd"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('eia_series', {
"_apiKey": "your-eia-api-key",
"route": "petroleum/pri/gnd"
});
More examples
{
"_apiKey": "your-eia-api-key",
"route": "natural-gas/pri/sum",
"frequency": "weekly",
"start": "2023-01",
"limit": 52
}
Response shape
Always returns: total, description, count, data, truncated
| Field | Type | Description |
|---|---|---|
total | number | Total number of records available |
description | string | null | Series description from EIA API |
count | number | Number of records returned |
data | array | Time series data points (max 100 returned) |
truncated | boolean | True if more than 100 records available |
Full JSON Schema
{
"type": "object",
"properties": {
"total": {
"type": "number",
"description": "Total number of records available"
},
"description": {
"type": [
"string",
"null"
],
"description": "Series description from EIA API"
},
"count": {
"type": "number",
"description": "Number of records returned"
},
"data": {
"type": "array",
"description": "Time series data points (max 100 returned)",
"items": {
"type": "object",
"properties": {
"period": {
"type": [
"string",
"null"
],
"description": "Time period (e.g., date or year)"
},
"value": {
"type": [
"number",
"null"
],
"description": "Numeric value for the period"
},
"description": {
"type": [
"string",
"null"
],
"description": "Series description"
},
"area": {
"type": [
"string",
"null"
],
"description": "Geographic area name"
},
"product": {
"type": [
"string",
"null"
],
"description": "Product type"
},
"process": {
"type": [
"string",
"null"
],
"description": "Process or measurement type"
},
"units": {
"type": [
"string",
"null"
],
"description": "Unit of measurement"
}
}
}
},
"truncated": {
"type": "boolean",
"description": "True if more than 100 records available"
}
},
"required": [
"total",
"description",
"count",
"data",
"truncated"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"eia": {
"url": "https://gateway.pipeworx.io/eia/mcp"
}
}
}
See Getting Started for client-specific install steps.