oilpriceapi-mcp 1.2.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -97
- package/build/__tests__/index.test.js +34 -19
- package/build/__tests__/index.test.js.map +1 -1
- package/build/index.d.ts +37 -6
- package/build/index.d.ts.map +1 -1
- package/build/index.js +799 -242
- package/build/index.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -7,11 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
## Features
|
|
9
9
|
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
10
|
+
- **21 Tools** — 17 read tools (spot prices, history, futures, marine fuels, rig counts, diesel by state, storage, OPEC production, forecasts, EIA oil inventories, well permits, refining spreads) plus 4 authenticated price-alert tools (create/list/delete persistent alerts + trigger activity)
|
|
11
|
+
- **5 Resources** — subscribable price snapshots for Brent, WTI, Natural Gas, Diesel, and all commodities
|
|
12
|
+
- **6 Prompts** — pre-built analyst templates (daily briefing, spread analysis, gas markets, commodity report, diesel costs, supply analysis)
|
|
13
13
|
- **Natural language** — ask for "brent oil" or "natural gas", not codes
|
|
14
|
-
- **
|
|
14
|
+
- **70+ commodities** — oil, gas, coal, refined products, metals, forex, bunker fuels, state diesel
|
|
15
|
+
- **Smart errors** — unrecognized commodities get suggestions, not silent fallbacks
|
|
15
16
|
|
|
16
17
|
## Quick Start
|
|
17
18
|
|
|
@@ -112,69 +113,73 @@ Add to `~/.codeium/windsurf/mcp_config.json`:
|
|
|
112
113
|
}
|
|
113
114
|
```
|
|
114
115
|
|
|
115
|
-
### Cody (VS Code)
|
|
116
|
-
|
|
117
|
-
Add to `.vscode/cody.json` in your project root:
|
|
118
|
-
|
|
119
|
-
```json
|
|
120
|
-
{
|
|
121
|
-
"mcpServers": {
|
|
122
|
-
"oilpriceapi": {
|
|
123
|
-
"command": "npx",
|
|
124
|
-
"args": ["-y", "oilpriceapi-mcp"],
|
|
125
|
-
"env": {
|
|
126
|
-
"OILPRICEAPI_KEY": "your-api-key-here"
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
```
|
|
132
|
-
|
|
133
116
|
### Global Install
|
|
134
117
|
|
|
135
118
|
```bash
|
|
136
119
|
npm install -g oilpriceapi-mcp
|
|
137
120
|
```
|
|
138
121
|
|
|
139
|
-
##
|
|
122
|
+
## Environment Variables
|
|
140
123
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
124
|
+
| Variable | Required | Description |
|
|
125
|
+
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
126
|
+
| `OILPRICEAPI_KEY` | Yes | API key from [oilpriceapi.com/signup](https://www.oilpriceapi.com/signup?utm_source=npm&utm_medium=mcp&utm_campaign=readme). Free tier: 200 requests/month. |
|
|
127
|
+
| `OILPRICEAPI_BASE_URL` | No | Override API base URL (for staging/testing). Default: `https://api.oilpriceapi.com` |
|
|
144
128
|
|
|
145
129
|
## Tools
|
|
146
130
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
131
|
+
All tools are prefixed with `opa_` to avoid name collisions when multiple MCP servers are loaded.
|
|
132
|
+
|
|
133
|
+
| Tool | Description |
|
|
134
|
+
| ------------------------- | ----------------------------------------------------------------- |
|
|
135
|
+
| `opa_get_price` | Current spot price for a single commodity |
|
|
136
|
+
| `opa_market_overview` | All commodity prices in one call, grouped by category |
|
|
137
|
+
| `opa_compare_prices` | Side-by-side comparison of 2-5 commodities with spread |
|
|
138
|
+
| `opa_list_commodities` | Full commodity catalog (fetched live from API) |
|
|
139
|
+
| `opa_get_history` | Historical prices with high/low/avg/change (day/week/month/year) |
|
|
140
|
+
| `opa_get_futures` | Front-month futures (Brent BZ, WTI CL, ICE Gasoil, TTF, JKM, EUA) |
|
|
141
|
+
| `opa_get_futures_curve` | Full forward curve with contango/backwardation analysis |
|
|
142
|
+
| `opa_get_marine_fuels` | Bunker fuel prices by port and fuel type (VLSFO/MGO/IFO380) |
|
|
143
|
+
| `opa_get_rig_counts` | Baker Hughes US rig count with week-over-week change |
|
|
144
|
+
| `opa_get_drilling` | Drilling intelligence: wells, permits, completions by region |
|
|
145
|
+
| `opa_get_diesel_by_state` | AAA retail diesel price for any US state (50 states + DC) |
|
|
146
|
+
| `opa_get_storage` | Cushing and SPR oil storage/inventory levels |
|
|
147
|
+
| `opa_get_opec_production` | OPEC country-level production data |
|
|
148
|
+
| `opa_get_forecasts` | EIA STEO energy price forecasts |
|
|
149
|
+
| `opa_get_oil_inventories` | EIA weekly petroleum stocks (latest/summary/by_product) |
|
|
150
|
+
| `opa_get_well_permits` | US well drilling permits (latest/by_state/by_operator) |
|
|
151
|
+
| `opa_get_spread` | Refining/trading spreads (crack, basis, margin) |
|
|
152
|
+
|
|
153
|
+
### Price Alert Tools (authenticated)
|
|
154
|
+
|
|
155
|
+
These tools create and manage **persistent** price alerts tied to your OilPriceAPI account, so they **require an API key** (`OILPRICEAPI_KEY`). The alert engine continuously watches live prices and notifies you (by email, plus webhook if you provide one) when a condition is met.
|
|
156
|
+
|
|
157
|
+
| Tool | Description |
|
|
158
|
+
| ------------------------ | ---------------------------------------------------------------------------- |
|
|
159
|
+
| `opa_create_price_alert` | Create a persistent alert (commodity, operator, threshold, optional webhook) |
|
|
160
|
+
| `opa_list_price_alerts` | List all alerts on the account |
|
|
161
|
+
| `opa_delete_price_alert` | Permanently delete an alert by id |
|
|
162
|
+
| `opa_get_alert_triggers` | Recent alert trigger activity (optionally filtered by `since`) |
|
|
163
|
+
|
|
164
|
+
## Example Questions
|
|
150
165
|
|
|
151
166
|
```
|
|
152
167
|
"What's the current Brent oil price?"
|
|
153
|
-
"
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
"
|
|
162
|
-
"
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
Compare prices between 2-5 commodities.
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
"Compare Brent and WTI prices"
|
|
171
|
-
"What's the spread between US and European gas?"
|
|
168
|
+
"Compare Brent and WTI crude"
|
|
169
|
+
"Show me oil prices for the past month"
|
|
170
|
+
"What's diesel cost in California vs Texas?"
|
|
171
|
+
"Give me a market overview of refined products"
|
|
172
|
+
"What's the Brent futures curve look like?"
|
|
173
|
+
"How many oil rigs are active in the US?"
|
|
174
|
+
"What are OPEC production levels?"
|
|
175
|
+
"What are bunker fuel prices in Singapore?"
|
|
176
|
+
"Show me Cushing storage levels"
|
|
177
|
+
"What were the latest EIA crude oil inventories?"
|
|
178
|
+
"How many well permits were issued in Texas?"
|
|
179
|
+
"What's the current 3-2-1 crack spread?"
|
|
180
|
+
"Show me the ICE Gasoil futures curve"
|
|
172
181
|
```
|
|
173
182
|
|
|
174
|
-
### `list_commodities`
|
|
175
|
-
|
|
176
|
-
List all available commodities and their codes.
|
|
177
|
-
|
|
178
183
|
## Resources
|
|
179
184
|
|
|
180
185
|
Subscribable price data (JSON):
|
|
@@ -184,69 +189,50 @@ Subscribable price data (JSON):
|
|
|
184
189
|
| Brent Crude | `price://brent` | Global benchmark crude oil price |
|
|
185
190
|
| WTI Crude | `price://wti` | US benchmark crude oil price |
|
|
186
191
|
| Natural Gas | `price://natural-gas` | US Henry Hub natural gas price |
|
|
192
|
+
| Diesel | `price://diesel` | US national average diesel price |
|
|
187
193
|
| All Prices | `price://all` | All tracked commodity prices |
|
|
188
194
|
|
|
189
195
|
## Prompts
|
|
190
196
|
|
|
191
197
|
Pre-built analyst templates:
|
|
192
198
|
|
|
193
|
-
| Prompt
|
|
194
|
-
|
|
|
195
|
-
| `daily-briefing`
|
|
196
|
-
| `brent-wti-spread`
|
|
197
|
-
| `gas-market-analysis`
|
|
198
|
-
| `commodity-report`
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
### Crude Oil
|
|
203
|
-
|
|
204
|
-
- Brent Crude (global benchmark)
|
|
205
|
-
- WTI (US benchmark)
|
|
206
|
-
- Urals (Russian)
|
|
207
|
-
- Dubai (Middle East)
|
|
208
|
-
|
|
209
|
-
### Natural Gas
|
|
210
|
-
|
|
211
|
-
- US Henry Hub ($/MMBtu)
|
|
212
|
-
- UK NBP (pence/therm)
|
|
213
|
-
- European TTF (EUR/MWh)
|
|
214
|
-
|
|
215
|
-
### Coal
|
|
216
|
-
|
|
217
|
-
- Thermal Coal
|
|
218
|
-
- Newcastle Coal (Asia-Pacific)
|
|
219
|
-
|
|
220
|
-
### Refined Products
|
|
221
|
-
|
|
222
|
-
- Diesel, Gasoline, RBOB Gasoline, Jet Fuel, Heating Oil
|
|
223
|
-
|
|
224
|
-
### Other
|
|
225
|
-
|
|
226
|
-
- Gold, EU Carbon Allowances, UK Carbon Allowances, EUR/USD, GBP/USD
|
|
199
|
+
| Prompt | Description |
|
|
200
|
+
| ---------------------- | --------------------------------------------------------- |
|
|
201
|
+
| `daily-briefing` | Energy market daily briefing with key prices and movers |
|
|
202
|
+
| `brent-wti-spread` | Analyze the Brent-WTI crude oil spread |
|
|
203
|
+
| `gas-market-analysis` | Compare US vs European natural gas markets |
|
|
204
|
+
| `commodity-report` | Detailed report on a specific commodity (parameterized) |
|
|
205
|
+
| `diesel-cost-analysis` | Compare diesel prices across US states for fleet planning |
|
|
206
|
+
| `supply-analysis` | Analyze supply using OPEC production, rig counts, storage |
|
|
227
207
|
|
|
228
208
|
## Natural Language Support
|
|
229
209
|
|
|
230
|
-
| You say
|
|
231
|
-
|
|
|
232
|
-
| "brent oil", "brent crude"
|
|
233
|
-
| "wti", "us oil"
|
|
234
|
-
| "natural gas", "henry hub"
|
|
235
|
-
| "european gas", "ttf"
|
|
236
|
-
| "diesel"
|
|
237
|
-
| "gold"
|
|
238
|
-
| "
|
|
239
|
-
| "
|
|
240
|
-
| "lbma silver fix" | SILVER_FIX_USD |
|
|
210
|
+
| You say | We understand |
|
|
211
|
+
| --------------------------- | --------------- |
|
|
212
|
+
| "brent oil", "brent crude" | BRENT_CRUDE_USD |
|
|
213
|
+
| "wti", "us oil" | WTI_USD |
|
|
214
|
+
| "natural gas", "henry hub" | NATURAL_GAS_USD |
|
|
215
|
+
| "european gas", "ttf" | DUTCH_TTF_EUR |
|
|
216
|
+
| "diesel" | DIESEL_USD |
|
|
217
|
+
| "gold" | GOLD_USD |
|
|
218
|
+
| "jet fuel", "aviation fuel" | JET_FUEL_USD |
|
|
219
|
+
| "carbon", "carbon credits" | EU_CARBON_EUR |
|
|
241
220
|
|
|
242
221
|
## Development
|
|
243
222
|
|
|
244
223
|
```bash
|
|
245
224
|
npm install
|
|
246
225
|
npm run build
|
|
226
|
+
npm test
|
|
247
227
|
OILPRICEAPI_KEY=your-key node build/index.js
|
|
248
228
|
```
|
|
249
229
|
|
|
230
|
+
## Breaking Changes in v2.0.0
|
|
231
|
+
|
|
232
|
+
- All tool names now use `opa_` prefix (e.g., `get_commodity_price` -> `opa_get_price`)
|
|
233
|
+
- Unrecognized commodity names now return an error with suggestions instead of silently defaulting to Brent
|
|
234
|
+
- `list_commodities` now fetches live from the API (falls back to static list if unavailable)
|
|
235
|
+
|
|
250
236
|
## License
|
|
251
237
|
|
|
252
238
|
MIT
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
-
import { resolveCommodityCode, formatPrice, makeApiRequest, COMMODITY_ALIASES, COMMODITY_INFO, } from "../index.js";
|
|
2
|
+
import { resolveCommodityCode, resolveStateCode, formatPrice, makeApiRequest, COMMODITY_ALIASES, COMMODITY_INFO, } from "../index.js";
|
|
3
3
|
// ---------------------------------------------------------------------------
|
|
4
4
|
// resolveCommodityCode
|
|
5
5
|
// ---------------------------------------------------------------------------
|
|
@@ -25,11 +25,11 @@ describe("resolveCommodityCode", () => {
|
|
|
25
25
|
it("passes through BRENT_CRUDE_USD unchanged", () => {
|
|
26
26
|
expect(resolveCommodityCode("BRENT_CRUDE_USD")).toBe("BRENT_CRUDE_USD");
|
|
27
27
|
});
|
|
28
|
-
it("
|
|
29
|
-
expect(resolveCommodityCode("unknown_commodity_xyz")).
|
|
28
|
+
it("returns null for unknown input", () => {
|
|
29
|
+
expect(resolveCommodityCode("unknown_commodity_xyz")).toBeNull();
|
|
30
30
|
});
|
|
31
|
-
it("
|
|
32
|
-
expect(resolveCommodityCode("!!!")).
|
|
31
|
+
it("returns null for garbage input", () => {
|
|
32
|
+
expect(resolveCommodityCode("!!!")).toBeNull();
|
|
33
33
|
});
|
|
34
34
|
it("resolves case-insensitive alias ('BRENT')", () => {
|
|
35
35
|
expect(resolveCommodityCode("BRENT")).toBe("BRENT_CRUDE_USD");
|
|
@@ -45,6 +45,32 @@ describe("resolveCommodityCode", () => {
|
|
|
45
45
|
});
|
|
46
46
|
});
|
|
47
47
|
// ---------------------------------------------------------------------------
|
|
48
|
+
// resolveStateCode
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
describe("resolveStateCode", () => {
|
|
51
|
+
it("resolves a 2-letter code ('CA')", () => {
|
|
52
|
+
expect(resolveStateCode("CA")).toBe("CA");
|
|
53
|
+
});
|
|
54
|
+
it("resolves lowercase 2-letter code ('tx')", () => {
|
|
55
|
+
expect(resolveStateCode("tx")).toBe("TX");
|
|
56
|
+
});
|
|
57
|
+
it("resolves full state name ('California')", () => {
|
|
58
|
+
expect(resolveStateCode("California")).toBe("CA");
|
|
59
|
+
});
|
|
60
|
+
it("resolves multi-word state name ('New York')", () => {
|
|
61
|
+
expect(resolveStateCode("New York")).toBe("NY");
|
|
62
|
+
});
|
|
63
|
+
it("resolves 'district of columbia' to DC", () => {
|
|
64
|
+
expect(resolveStateCode("district of columbia")).toBe("DC");
|
|
65
|
+
});
|
|
66
|
+
it("returns null for invalid 2-letter code", () => {
|
|
67
|
+
expect(resolveStateCode("ZZ")).toBeNull();
|
|
68
|
+
});
|
|
69
|
+
it("returns null for unrecognized input", () => {
|
|
70
|
+
expect(resolveStateCode("Middle Earth")).toBeNull();
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
// ---------------------------------------------------------------------------
|
|
48
74
|
// formatPrice
|
|
49
75
|
// ---------------------------------------------------------------------------
|
|
50
76
|
describe("formatPrice", () => {
|
|
@@ -74,9 +100,7 @@ describe("formatPrice", () => {
|
|
|
74
100
|
const result = formatPrice(data);
|
|
75
101
|
expect(result).toContain("WTI Crude Oil");
|
|
76
102
|
expect(result).toContain("$80.00");
|
|
77
|
-
// No change line when fields are missing
|
|
78
103
|
expect(result).not.toContain("24h Change");
|
|
79
|
-
// No updated line when timestamp missing
|
|
80
104
|
expect(result).not.toContain("Updated:");
|
|
81
105
|
});
|
|
82
106
|
it("formats negative 24h change correctly", () => {
|
|
@@ -90,10 +114,9 @@ describe("formatPrice", () => {
|
|
|
90
114
|
const result = formatPrice(data);
|
|
91
115
|
expect(result).toContain("-$2.50");
|
|
92
116
|
expect(result).toContain("-2.93%");
|
|
93
|
-
// No + prefix on negative change
|
|
94
117
|
expect(result).not.toMatch(/\+\$-/);
|
|
95
118
|
});
|
|
96
|
-
it("formats EUR currency with
|
|
119
|
+
it("formats EUR currency with euro symbol", () => {
|
|
97
120
|
const data = {
|
|
98
121
|
code: "EU_CARBON_EUR",
|
|
99
122
|
price: 62.5,
|
|
@@ -103,7 +126,7 @@ describe("formatPrice", () => {
|
|
|
103
126
|
expect(result).toContain("€62.50");
|
|
104
127
|
expect(result).not.toContain("$62.50");
|
|
105
128
|
});
|
|
106
|
-
it("formats GBP currency with
|
|
129
|
+
it("formats GBP currency with pound symbol", () => {
|
|
107
130
|
const data = {
|
|
108
131
|
code: "NATURAL_GAS_GBP",
|
|
109
132
|
price: 75.3,
|
|
@@ -113,7 +136,7 @@ describe("formatPrice", () => {
|
|
|
113
136
|
expect(result).toContain("£75.30");
|
|
114
137
|
expect(result).not.toContain("$75.30");
|
|
115
138
|
});
|
|
116
|
-
it("formats GBp (pence) currency with
|
|
139
|
+
it("formats GBp (pence) currency with pound symbol", () => {
|
|
117
140
|
const data = {
|
|
118
141
|
code: "NATURAL_GAS_GBP",
|
|
119
142
|
price: 80.0,
|
|
@@ -171,7 +194,6 @@ describe("makeApiRequest - basic", () => {
|
|
|
171
194
|
});
|
|
172
195
|
const result = await makeApiRequest("/v1/prices/latest", mockFetch);
|
|
173
196
|
expect(result).toBeNull();
|
|
174
|
-
// 401 is non-retryable — only one call
|
|
175
197
|
expect(mockFetch).toHaveBeenCalledTimes(1);
|
|
176
198
|
});
|
|
177
199
|
});
|
|
@@ -186,13 +208,8 @@ describe("makeApiRequest - retry behaviour", () => {
|
|
|
186
208
|
afterEach(() => {
|
|
187
209
|
vi.useRealTimers();
|
|
188
210
|
});
|
|
189
|
-
/**
|
|
190
|
-
* Helper: run makeApiRequest while advancing fake timers so setTimeout
|
|
191
|
-
* callbacks fire immediately without real wall-clock delays.
|
|
192
|
-
*/
|
|
193
211
|
async function runWithFakeTimers(endpoint, mockFetch) {
|
|
194
212
|
const promise = makeApiRequest(endpoint, mockFetch);
|
|
195
|
-
// Advance time enough to cover all backoff delays (2^0 + 2^1 + 2^2 = 7s)
|
|
196
213
|
await vi.runAllTimersAsync();
|
|
197
214
|
return promise;
|
|
198
215
|
}
|
|
@@ -205,7 +222,6 @@ describe("makeApiRequest - retry behaviour", () => {
|
|
|
205
222
|
});
|
|
206
223
|
const result = await runWithFakeTimers("/v1/prices/latest", mockFetch);
|
|
207
224
|
expect(result).toBeNull();
|
|
208
|
-
// attempt 0,1,2,3 = 4 total calls
|
|
209
225
|
expect(mockFetch).toHaveBeenCalledTimes(4);
|
|
210
226
|
});
|
|
211
227
|
it("returns null on network error after exhausting all retries", async () => {
|
|
@@ -214,7 +230,6 @@ describe("makeApiRequest - retry behaviour", () => {
|
|
|
214
230
|
.mockRejectedValue(new Error("Network connection refused"));
|
|
215
231
|
const result = await runWithFakeTimers("/v1/prices/latest", mockFetch);
|
|
216
232
|
expect(result).toBeNull();
|
|
217
|
-
// 4 total attempts
|
|
218
233
|
expect(mockFetch).toHaveBeenCalledTimes(4);
|
|
219
234
|
});
|
|
220
235
|
it("succeeds on second attempt after initial 429", async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* OilPriceAPI MCP Server
|
|
3
|
+
* OilPriceAPI MCP Server v2.2.0
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* The energy commodity MCP server. Real-time oil, gas, and commodity prices
|
|
6
|
+
* for Claude, Cursor, VS Code, and any MCP-compatible client.
|
|
7
|
+
*
|
|
8
|
+
* 17 read-only tools (opa_ prefixed): prices, history, futures, marine fuels,
|
|
9
|
+
* rig counts, drilling, diesel-by-state, storage, OPEC production, forecasts,
|
|
10
|
+
* EIA oil inventories, well permits, refining spreads.
|
|
11
|
+
*
|
|
12
|
+
* 4 authenticated price-alert tools (opa_*_price_alert / opa_get_alert_triggers):
|
|
13
|
+
* create/list/delete persistent price alerts tied to the user's account and read
|
|
14
|
+
* recent trigger activity. These wrap the existing /v1/alerts engine and REQUIRE
|
|
15
|
+
* an API key (OILPRICEAPI_KEY).
|
|
7
16
|
*
|
|
8
17
|
* @see https://oilpriceapi.com
|
|
9
18
|
* @see https://modelcontextprotocol.io
|
|
10
19
|
*/
|
|
11
20
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
12
|
-
export declare const USER_AGENT = "oilpriceapi-mcp/
|
|
21
|
+
export declare const USER_AGENT = "oilpriceapi-mcp/2.2.0";
|
|
13
22
|
export declare const COMMODITY_ALIASES: Record<string, string>;
|
|
14
23
|
export declare const COMMODITY_INFO: Record<string, {
|
|
15
24
|
name: string;
|
|
@@ -29,10 +38,13 @@ export interface ApiResponse<T> {
|
|
|
29
38
|
status: string;
|
|
30
39
|
data: T;
|
|
31
40
|
}
|
|
41
|
+
export declare const FUTURES_CONTRACTS: readonly ["BZ", "CL", "ice-gasoil", "ttf-gas", "lng-jkm", "eua-carbon"];
|
|
42
|
+
export declare const FUTURES_CONTRACT_NAMES: Record<(typeof FUTURES_CONTRACTS)[number], string>;
|
|
32
43
|
/**
|
|
33
|
-
* Resolve a natural language commodity name to its API code
|
|
44
|
+
* Resolve a natural language commodity name to its API code.
|
|
45
|
+
* Returns null if no match found — callers should return an actionable error.
|
|
34
46
|
*/
|
|
35
|
-
export declare function resolveCommodityCode(input: string): string;
|
|
47
|
+
export declare function resolveCommodityCode(input: string): string | null;
|
|
36
48
|
/**
|
|
37
49
|
* Format a price for display
|
|
38
50
|
*/
|
|
@@ -41,6 +53,25 @@ export declare function formatPrice(data: PriceData): string;
|
|
|
41
53
|
* Make API request to OilPriceAPI with retry and exponential backoff
|
|
42
54
|
*/
|
|
43
55
|
export declare function makeApiRequest<T>(endpoint: string, fetchFn?: typeof fetch): Promise<T | null>;
|
|
56
|
+
export interface AuthRequestResult {
|
|
57
|
+
ok: boolean;
|
|
58
|
+
status: number;
|
|
59
|
+
body: unknown;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Make an authenticated request to a stateful endpoint. Requires API_KEY.
|
|
63
|
+
* Returns { ok, status, body }; callers decide how to render success/error.
|
|
64
|
+
* Returns status 0 on a network/transport failure.
|
|
65
|
+
*/
|
|
66
|
+
export declare function makeAuthRequest(endpoint: string, options?: {
|
|
67
|
+
method?: string;
|
|
68
|
+
body?: unknown;
|
|
69
|
+
}, fetchFn?: typeof fetch): Promise<AuthRequestResult>;
|
|
70
|
+
export declare const ALERT_OPERATORS: readonly ["greater_than", "less_than", "equals", "greater_than_or_equal", "less_than_or_equal"];
|
|
71
|
+
/**
|
|
72
|
+
* Resolve a US state name or abbreviation to a 2-letter code.
|
|
73
|
+
*/
|
|
74
|
+
export declare function resolveStateCode(input: string): string | null;
|
|
44
75
|
export declare function createSandboxServer(): McpServer;
|
|
45
76
|
export {};
|
|
46
77
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,eAAO,MAAM,UAAU,0BAA0B,CAAC;AASlD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6EpD,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA4BzE,CAAC;AAGF,eAAO,MAAM,eAAe,icA4BlB,CAAC;AA6DX,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AA2BD,eAAO,MAAM,iBAAiB,yEAOpB,CAAC;AAEX,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,EAClC,MAAM,CAQP,CAAC;AA+CF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BjE;AAyED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CA6BnD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA0DnB;AAgBD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,EACjD,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAmC5B;AAyCD,eAAO,MAAM,eAAe,iGAMlB,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe7D;AAi4CD,wBAAgB,mBAAmB,cAElC"}
|