Skip to main content
Glama
OilpriceAPI

OilPriceAPI

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OILPRICEAPI_KEYYesYour API key from the oilpriceapi.com dashboard

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
opa_get_priceA

Get the current real-time spot price of an energy commodity. Use when the user asks about a single commodity's current price. Accepts natural language ('brent oil', 'diesel') or API codes ('WTI_USD'). Returns price, currency, 24h change, and timestamp. For multiple commodities at once, use opa_market_overview. For price trends, use opa_get_history.

opa_market_overviewA

Get current prices for all tracked energy commodities in one call. Use when the user wants a broad market snapshot or asks about overall energy prices. Returns prices grouped by category (oil, gas, coal, refined products, metals, forex) with 24h changes. Supports filtering by category. For a single commodity, use opa_get_price instead.

opa_compare_pricesA

Compare current prices between 2-5 commodities side by side. Use when the user asks to compare commodities (e.g., 'Brent vs WTI', 'US gas vs EU gas'). Returns each commodity's price with 24h changes, plus the spread if comparing two same-currency commodities. Accepts natural language or codes.

opa_list_commoditiesA

List all available commodities that can be queried for prices. Use when the user asks what commodities are available, what codes to use, or when another tool returns a 'commodity not recognized' error. Returns the full catalog fetched live from the API, grouped by category. No parameters needed.

opa_get_historyA

Get historical price data for a commodity over a time period. Use when the user asks about price trends, historical prices, or how a commodity has performed over time. Returns high, low, average, change, and data point count. Periods: day (24h), week (7d), month (30d), year (365d).

opa_get_futuresA

Get the latest front-month futures contract price for energy commodities. Use when the user asks about futures, forward prices, or contract prices. Supports crude oil (BZ/ice-brent = Brent, CL/ice-wti = WTI), ICE Gasoil (ice-gasoil), natural gas (natural-gas), European TTF gas (ttf-gas), LNG JKM (lng-jkm), EUA carbon (eua-carbon), and UK carbon (uk-carbon). For the full forward curve across all contract months, use opa_get_futures_curve instead.

opa_get_futures_curveA

Get the full futures forward curve showing prices across all contract months. Use when the user asks about the forward curve, contango/backwardation, or term structure. Supports crude oil (BZ/ice-brent = Brent, CL/ice-wti = WTI), ICE Gasoil (ice-gasoil), natural gas (natural-gas), European TTF gas (ttf-gas), LNG JKM (lng-jkm), EUA carbon (eua-carbon), and UK carbon (uk-carbon). Returns a table of contract months with settlement prices, plus market structure analysis.

opa_get_marine_fuelsA

Get latest marine fuel (bunker) prices across major shipping ports. Use when the user asks about bunker fuel, marine fuel, VLSFO, MGO, IFO380, or shipping fuel costs. Can filter by port (e.g., SINGAPORE, ROTTERDAM, HOUSTON) and/or fuel type (VLSFO, MGO, IFO380). Returns a table of port prices.

opa_get_rig_countsA

Get the latest US oil and gas rig count data (Baker Hughes). Use when the user asks about drilling activity, rig counts, or oil field operations. Returns oil rigs, gas rigs, total count, and week-over-week change. No parameters needed.

opa_get_drillingA

Get drilling intelligence data including active wells, permits issued, and completions by region. Use when the user asks about drilling activity, well permits, or upstream operations. Returns totals and regional breakdown.

opa_get_diesel_by_stateA

Get the current average retail diesel price for a US state. Use when the user asks about diesel prices in a specific state, diesel fuel costs by state, or state-level fuel prices. Accepts state names ('California') or 2-letter codes ('CA'). Returns the AAA-sourced state average diesel price. Covers all 50 states plus DC.

opa_get_storageA

Get oil storage and inventory levels for Cushing, Oklahoma (WTI delivery hub) and/or the US Strategic Petroleum Reserve (SPR). Use when the user asks about oil inventories, storage levels, Cushing stocks, or the SPR. Returns current inventory levels with changes.

opa_get_opec_productionA

Get the latest OPEC oil production data. Use when the user asks about OPEC output, production quotas, supply cuts, or OPEC+ compliance. Returns country-level production figures. Requires a paid plan with energy intelligence access.

opa_get_forecastsA

Get energy price forecasts from EIA Short-Term Energy Outlook (STEO) and other sources. Use when the user asks about price predictions, outlooks, or where oil/gas prices are heading. Returns forecast data for key commodities. Requires a paid plan with energy intelligence access.

opa_get_oil_inventoriesA

Get the latest EIA weekly petroleum inventory (stocks) data. Use when the user asks about oil inventories, crude stocks, weekly EIA stocks, inventory builds/draws, or product-level inventory levels. Returns the latest weekly figures; optionally a summary view or a breakdown by petroleum product. Requires a paid plan with energy intelligence access.

opa_get_well_permitsA

Get the latest US oil & gas well drilling permit data. Use when the user asks about well permits, new drilling permits, permitting activity, or upstream permit trends. Returns the latest permits; optionally filtered/aggregated by state or by operator. Requires a paid plan with energy intelligence access.

opa_get_spreadA

Get refining and trading spreads: crack spreads (refining margin proxy), basis spreads (regional price differentials), and blending/transport margins. Use when the user asks about crack spreads, 3-2-1 crack, refining margins, basis differentials, or blend/transport margins. Requires a paid plan with energy intelligence access.

opa_create_price_alertA

Create a PERSISTENT price alert tied to the user's OilPriceAPI account. The alert engine continuously watches live prices and notifies the user (by email, plus webhook if a URL is given) when the commodity price crosses the threshold. Use when the user asks to be alerted/notified when a price goes above or below a level (e.g. 'tell me when Brent drops below $70'). REQUIRES an API key (OILPRICEAPI_KEY) — this writes to the user's account. Alerts persist until deleted; manage them with opa_list_price_alerts and opa_delete_price_alert.

opa_list_price_alertsA

List all PERSISTENT price alerts on the user's OilPriceAPI account. Use when the user asks what alerts they have set up, or to find an alert's id before deleting it. REQUIRES an API key (OILPRICEAPI_KEY) — alerts are account-scoped. No parameters needed.

opa_delete_price_alertA

Permanently delete a price alert from the user's OilPriceAPI account by id. Use when the user wants to remove/cancel/stop an existing alert. Get the id from opa_list_price_alerts first. This permanently removes the alert from the user's account. REQUIRES an API key (OILPRICEAPI_KEY).

opa_get_alert_triggersA

Get recent trigger activity for the user's price alerts — which alerts have fired, how many times, and when they last triggered. Use when the user asks whether any alerts have gone off or about recent alert activity. REQUIRES an API key (OILPRICEAPI_KEY). Note: the API tracks trigger history as per-alert counters (trigger_count / last_triggered_at) rather than a separate event feed, so this returns alerts that have triggered.

opa_get_market_briefA

Get a multi-commodity market brief: latest spot prices, 24h changes, 1-month forecasts (for Brent/WTI/Natural Gas), and notable spreads — for several commodities in ONE call. Use when the user wants a market snapshot, morning brief, or an at-a-glance read across multiple commodities. Set narrative: true to also get a plain-English summary plus market context (active supply disruptions, key economic indicators). Accepts natural language ('brent', 'us gas') or API codes. REQUIRES an API key (OILPRICEAPI_KEY); counts as 1 request. Per-tier code limits apply (free: 3 codes). For a single price use opa_get_price; for ongoing recurring monitoring use opa_create_price_subscription.

opa_create_price_subscriptionA

Create a PERSISTENT, recurring price subscription (a 'watch') tied to the user's OilPriceAPI account. The API snapshots the watched commodities every interval and records an event each time — so the agent can come back later and poll for what changed via opa_get_subscription_events. Use when the user wants ONGOING monitoring of one or more commodities (e.g. 'keep watching Brent and WTI every hour'). This is different from a price alert: a watch ALWAYS emits an event every interval (a running log), whereas an alert only fires when a threshold is crossed. REQUIRES an API key (OILPRICEAPI_KEY) — this writes to the user's account. Events are POLLED, not pushed: there is no always-on connection. Manage watches with opa_list_subscriptions and opa_delete_subscription. Per-tier limits apply (free: 1 watch, 3 codes, 1h minimum interval); the API returns the exact limit if exceeded.

opa_list_subscriptionsA

List all PERSISTENT price subscriptions ('watches') on the user's OilPriceAPI account. Use when the user asks what they're monitoring, or to find a watch's id before deleting it. Each watch is a recurring, account-tied snapshot job. REQUIRES an API key (OILPRICEAPI_KEY). No parameters needed.

opa_delete_subscriptionA

Permanently delete a price subscription ('watch') from the user's OilPriceAPI account by id. Use when the user wants to stop/cancel/remove an ongoing watch. Get the id from opa_list_subscriptions first. This permanently removes the recurring watch (and its event history) from the account. REQUIRES an API key (OILPRICEAPI_KEY).

opa_get_subscription_eventsA

Poll for new subscription events — the recurring snapshots recorded by the user's watches. Use this to catch up on what changed since the last poll: pass the since cursor (the seq number) returned by the previous call to get only newer events. Events are POLLED, not pushed — there is no always-on connection, so call this periodically to stay current. Each event carries a price snapshot plus per-code deltas vs the prior snapshot. The returned cursor is what you pass as since next time. REQUIRES an API key (OILPRICEAPI_KEY). This poll does NOT count against the monthly request quota.

Prompts

Interactive templates invoked by user choice

NameDescription
daily-briefingEnergy market daily briefing with key prices, changes, and notable movements
brent-wti-spreadAnalyze the Brent-WTI crude oil spread
gas-market-analysisCompare US vs European natural gas markets
commodity-reportDetailed report on a specific commodity
diesel-cost-analysisCompare diesel prices across US states for fleet cost planning
supply-analysisAnalyze oil supply fundamentals using production, rig counts, and storage data

Resources

Contextual data attached and managed by the client

NameDescription
price-brentCurrent Brent Crude oil price (global benchmark)
price-wtiCurrent WTI Crude oil price (US benchmark)
price-natural-gasCurrent US Natural Gas (Henry Hub) price
market-overviewCurrent prices for all tracked energy commodities
price-dieselCurrent US national average diesel price

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/OilpriceAPI/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server