Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.OilpriceAPI/mcp-server

NPM · OILPRICEAPI-MCP · SCANNED SEP 20

Source-timestamped energy data and reviewed OilPriceAPI product facts for MCP clients.

Available components

+25 this week 94 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to OilpriceAPI/mcp-server). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 6 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability85
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4931 tokens (~129/item across 38 items; 32 tools + 6 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
  • Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 95% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 32 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 34 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.OilpriceAPI/mcp-server server?

io.github.OilpriceAPI/mcp-server runs locally as an npm package, launched with npx -y oilpriceapi-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · oilpriceapi-mcp

# add to Claude Code
claude mcp add oilpriceapi-mcp-server -- npx -y oilpriceapi-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "oilpriceapi-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "oilpriceapi-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "oilpriceapi-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "oilpriceapi-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add oilpriceapi-mcp-server -- npx -y oilpriceapi-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "oilpriceapi-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "oilpriceapi-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add oilpriceapi-mcp-server --command npx --arg -y --arg oilpriceapi-mcp
# ~/.hermes/config.yaml
mcp_servers:
  oilpriceapi-mcp-server:
    command: "npx"
    args: ["-y", "oilpriceapi-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "oilpriceapi-mcp-server": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "oilpriceapi-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add oilpriceapi-mcp-server -t stdio -c npx -a -y oilpriceapi-mcp
// mcp.json
{
  "mcpServers": {
    "oilpriceapi-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "oilpriceapi-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 17 Sept 26 0
    • Stability: 0.97 → pass security
  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 +26
    • Malware scan: unverified → pass security
    • Known CVEs: unverified → pass security
    • Dependency health: unverified → 0.84 functional
  • 13 Sept 26 −25
    • Known CVEs: pass → unverified security
    • Malware scan: pass → unverified security
    • Dependency health: 0.84 → unverified functional
    • Package version: 3.2.4 → 3.4.1 functional
    • Package version: 3.2.4 → 3.4.0 functional
    • Package version: 3.2.4 → 3.3.0 functional
  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 −3
    • Stability: pass → 0.80 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/oilpriceapi-mcp@3.4.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo OilpriceAPI/mcp-server
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/OilpriceAPI/mcp-server/.github/workflows/publish.yml@refs/tags/v3.4.1
Rekor log index 2821902741
Predicate type https://slsa.dev/provenance/v1
Subject digest sha512:fb75c0c6fe38f41e6ee2a6a6fd1706922a9f910393aed13e7cebad598fee35fc8aa9b645dc94361c12aa29a91584d42ec27e21bedef07b7377f9b9655

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 32 exposed · ~4,753 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
opa_compare_prices ~126

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.

NameTypeReqDescription
commoditiesarrayyesList of 2-5 commodity names or codes to compare (e.g., ['brent', 'wti'] or ['NATURAL_GAS_USD', 'DUTCH_TTF_EUR'])

No output schema declared.

No examples provided.

opa_get_account_status ~71

Get the current API account's plan tier, request usage, remaining quota, and reset date. Use before calling gated tools, when the user asks about their plan/limits/usage, or after any 402/403/429 to explain what the current plan covers. Works on every plan including free.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_get_alert_triggers ~154

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.

NameTypeReqDescription
sincestringOptional ISO 8601 date/time (e.g., '2026-06-01' or '2026-06-01T00:00:00Z'). Only alerts last triggered on or after this time are shown.

No output schema declared.

No examples provided.

opa_get_data_quality ~170

Get OilPriceAPI's own data-quality grades. With a commodity code: that series' quality report — overall grade/score plus dimension scores (completeness, freshness, and more) for the current period. Without a code: the API's available catalog summary (grade distribution by category). Use when the user asks how reliable/complete a series is, or which series carry the highest quality grades. The summary works on any valid key; per-commodity access varies. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
commoditystringOptional commodity name or code (e.g., 'brent', 'NATURAL_GAS_USD') for a per-series report. Omit for the catalogue-wide summary.

No output schema declared.

No examples provided.

opa_get_diesel_by_state ~112

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.

NameTypeReqDescription
statestringyesUS state name or 2-letter code (e.g., 'California', 'CA', 'Texas', 'TX')

No output schema declared.

No examples provided.

opa_get_drilling ~98

Get a drilling activity snapshot: US, Canada, and international rig counts, frac spread count, well permits issued in the last 30 days (with a by-state breakdown), and DUC (drilled-uncompleted) well totals. Use when the user asks about drilling activity, rigs vs frac spreads, or upstream operations. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_get_forecasts ~81

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 available to the account. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_get_fuel_surcharge ~289

Get carrier-published fuel surcharge percentages for LTL freight and parcel carriers. Use when the user asks about current or historical fuel surcharge rates for carriers like ODFL, Saia, Estes, XPO, ABF, TForce, Averitt, Southeastern Freight, UPS, FedEx, or DHL. Auto mode treats UPS/FedEx/DHL as parcel carriers and other carrier slugs as LTL. Parcel history requires a service_level such as ground, air, or international_air_export.

NameTypeReqDescription
carrierstringOptional carrier slug or common name. Examples: odfl, saia, estes, xpo, abf, tforce, averitt, southeastern-freight, ups, fedex, dhl. Omit to list current carriers.
historybooleanWhen true, return historical surcharge rows instead of the latest rate. Parcel history requires service_level.
modestringCarrier mode: auto (UPS/FedEx/DHL route to parcel; others route to LTL), ltl, or parcel. Default: auto.
per_pageintegerHistory rows to return, from 1 to 100. Default: 12.
service_levelstringParcel service level such as ground, air, international_air_export, international_air_import, or international_ground. Optional for latest; required for parcel history.

No output schema declared.

No examples provided.

opa_get_futures ~167

Get the latest front-month futures contract price for energy commodities. Use canonical instrument slugs: brent, wti, gasoil, natural-gas, ttf-gas, lng-jkm, eu-carbon, or uk-carbon. Contract codes and older venue slugs remain compatibility inputs. For the forward curve returned for this account, use opa_get_futures_curve instead. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
contractstringCanonical instrument slug (recommended): brent, wti, gasoil, natural-gas, ttf-gas, lng-jkm, eu-carbon, or uk-carbon. Contract codes and legacy venue slugs remain accepted for compatibility (default:…

No output schema declared.

No examples provided.

opa_get_futures_curve ~164

Get the futures forward-curve contracts returned for this account. Use canonical instrument slugs: brent, wti, gasoil, natural-gas, ttf-gas, lng-jkm, eu-carbon, or uk-carbon. Contract codes and older venue slugs remain compatibility inputs. Returns available contract months with settlement prices plus market-structure analysis. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
contractstringCanonical instrument slug (recommended): brent, wti, gasoil, natural-gas, ttf-gas, lng-jkm, eu-carbon, or uk-carbon. Contract codes and legacy venue slugs remain accepted for compatibility (default:…

No output schema declared.

No examples provided.

opa_get_history ~260

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). Supports point-in-time filtering via stored observation and revision timestamps. Observation-dated bulk backfills may appear in an earlier as_of result because their actual load time cannot be reconstructed. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
as_ofstringOptional ISO8601 date/datetime for filtering by stored observation and covered revision timestamps, e.g. '2026-06-02'. Must not be in the future. Observation-dated bulk backfills may appear in an ear…
commoditystringyesCommodity name or code (e.g., 'brent', 'WTI_USD')
periodstringTime period: day, week, month, or year (default: month)

No output schema declared.

No examples provided.

opa_get_marine_fuels ~241

Get latest marine fuel (bunker) prices returned for the account, one row per port and fuel, each with the currency, unit, as-of time, age in days and stale flag the API reports. Use when the user asks about bunker fuel, marine fuel, VLSFO, MGO, IFO380, or shipping fuel costs. Filter by port name or UN/LOCODE (e.g., Singapore or SGSIN, Rotterdam or NLRTM) and/or by the fuel type the API reports: VLSFO, MGO_05S (MGO), HFO_380 (IFO380). Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
fuel_typestringFilter by fuel type as the API reports it: VLSFO, MGO_05S (MGO also matches), HFO_380 (IFO380 also matches)
portstringFilter by port name or UN/LOCODE, case-insensitive (e.g., 'Singapore' or 'SGSIN', 'Houston' or 'USHOU')

No output schema declared.

No examples provided.

opa_get_market_brief ~255

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-account code limits apply and the API response is authoritative. For a single price use opa_get_price; for ongoing recurring monitoring use opa_create_price_subscription.

NameTypeReqDescription
codesarrayyesCommodity names or codes to include (e.g., ['brent', 'wti'] or ['BRENT_CRUDE_USD', 'NATURAL_GAS_USD']). The API returns the current account limit if exceeded.
narrativebooleanIf true, also include a plain-English summary + market context (disruptions, indicators). Default: false (structured data only).

No output schema declared.

No examples provided.

opa_get_natural_gas_hubs ~237

Get US physical natural gas hub prices as basis to Henry Hub (USD/MMBtu). Use when the user asks about regional gas prices or hub basis — Waha (West Texas/Permian), SoCal Citygate, Chicago Citygate, Algonquin Citygate, Eastern Gas South (formerly Dominion South), Houston Ship Channel. Without a hub, returns each live hub available to the account plus its basis; with a hub, returns that hub's latest price, basis, and basis history. Hub series differ in depth — check history_days before requesting a long window. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
hubstringOptional hub slug: waha, socal, chicago, algonquin, eastern-gas-south, houston-ship-channel. Omit to list all live hubs with their basis to Henry Hub.
paststringOptional basis-history window for a single hub, e.g. 30d, 6m, 1y (only used when hub is given).

No output schema declared.

No examples provided.

opa_get_oil_inventories ~141

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 available to the account; optionally a summary view or a breakdown by petroleum product. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
viewstringWhich view to return: latest (most recent weekly snapshot), summary (headline totals + week-over-week change), or by_product (breakdown per petroleum product). Default: latest.

No output schema declared.

No examples provided.

opa_get_opec_production ~73

Get the latest OPEC oil production data. Use when the user asks about OPEC output, production quotas, supply cuts, or OPEC+ compliance. Returns available country-level production figures. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_get_plans ~76

Get OilPriceAPI's current subscription plans: monthly/yearly price, request limits, and included features for each tier. Use when the user asks what an upgrade costs, which plan unlocks a gated tool (history, futures, natural gas hubs...), or how the tiers compare. Live pricing from the API — no key required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_get_price ~125

Get the latest available, source-timestamped value for an energy commodity. Use when the user asks about a single commodity's latest price. Accepts natural language ('brent oil', 'diesel') or API codes ('WTI_USD'). Returns price, currency, available change fields, and timestamp. For multiple commodities at once, use opa_market_overview. For price trends, use opa_get_history.

NameTypeReqDescription
commoditystringyesCommodity name or code (e.g., 'brent oil', 'natural gas', 'WTI_USD', 'diesel')

No output schema declared.

No examples provided.

opa_get_product_facts ~83

Get the reviewed, versioned OilPriceAPI product contract for product scope, evaluation offer, pricing URL, freshness policy, catalog and entitlement wording, authentication, canonical first request, keyless demo, and data-rights boundaries. Use this instead of model memory or package prose for questions about OilPriceAPI itself. No API key or paid-data entitlement is required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_get_rig_counts ~116

Get the latest US rig count (Baker Hughes). Use when the user asks about drilling activity, rig counts, or oil field operations. Returns a single US total rig count with its region and observation date — this source carries no oil/gas split and no prior-week delta. For rigs broken out by US/Canada/international alongside frac spreads and permits, use opa_get_drilling. No parameters needed. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_get_spread ~134

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 an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
typestringyesSpread type: crack (refining crack spread, e.g. 3-2-1), basis (regional/grade price differential), or margin (blending/transport margin).

No output schema declared.

No examples provided.

opa_get_storage ~117

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. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
facilitystringStorage facility: cushing (WTI delivery hub), spr (Strategic Petroleum Reserve), or all (default: all)

No output schema declared.

No examples provided.

opa_get_subscription_events ~181

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.

NameTypeReqDescription
sinceintegerCursor: only return events with a seq greater than this. Use the `cursor` from the previous call. Omit (or 0) to get the earliest available events.

No output schema declared.

No examples provided.

opa_get_well_activity ~117

Get recent US well-permit activity including counts by state, top operators and formations, permit types, and weekly trend. The response also includes every non-available state-health record so stale, degraded, unavailable, or attention states are explicit; rankings must not be treated as complete national coverage when warnings exist. If the state-health index cannot be loaded, the activity summary is still returned, headed as partial, with the reason the health gate is missing.

NameTypeReqDescription
daysintegerRecent activity window in days (1-365).

No output schema declared.

No examples provided.

opa_get_well_permits ~188

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 available permits; optionally filtered/aggregated by state or by operator. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
operatorstringOperator name for the by_operator view. For richer filters and explicit freshness metadata, use opa_search_well_permits.
statestringOptional US state name or 2-letter code to filter permits (e.g., 'Texas', 'TX'). Applies to the latest and by_state views.
viewstringWhich view to return: latest (most recent permits), by_state (counts aggregated per state), or by_operator (counts aggregated per operator). Default: latest.

No output schema declared.

No examples provided.

opa_get_well_production ~314

Get US oil & gas well production data (BETA coverage: monthly state-level production from EIA + selected state regulators, and well-level histories for selected states only — NOT complete US well-level production). Views: summary (national + top states), states (reporting states returned by the API, latest month), state (monthly history for one state), well (monthly history for one well by 14-digit API number), top_producers (highest-output wells, optionally by state), cycle_time (permit-to-production cycle time stats, optionally by state), cohorts (cycle times by spud quarter). Use when the user asks about oil/gas production volumes by state or well, top producing wells, or drill-to-production cycle times. Requires an eligible account entitlement. Use opa_get_plans for current access and pricing; the API response is authoritative.

NameTypeReqDescription
api_numberstring14-digit API well number (e.g., '42329447130000'). Required for the well view.
statestringUS state name or 2-letter code (e.g., 'Texas', 'TX'). Required for the state view; optional filter for top_producers and cycle_time.
viewstringWhich view to return: summary (national + top states), states (all reporting states), state (one state's monthly history — requires 'state'), well (one well's monthly history — requires 'api_number')…

No output schema declared.

No examples provided.

opa_list_commodities ~70

List the account-visible commodities returned by the live API. Use when the user asks what commodities are available for this account, what codes to use, or when another tool returns a 'commodity not recognized' error. Results are grouped by category. Dataset access varies by account entitlement. No parameters needed.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_list_price_alerts ~73

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_list_subscriptions ~78

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

opa_lookup_well ~132

Look up a well by 10-, 12-, or 14-digit API number using the core API's promoted lifecycle summaries. Returns operator, county, lifecycle dates, cumulative production and evidence; for a 14-digit API number it also includes exact monthly well-production history when available. Optional state disambiguates API numbers that occur across source contexts. Unpromoted or ambiguous records fail closed.

NameTypeReqDescription
api_numberstringyes10-, 12-, or 14-digit API well number; punctuation is allowed.
statestringOptional state name/code used to disambiguate source records.

No output schema declared.

No examples provided.

opa_market_overview ~119

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

NameTypeReqDescription
categorystringFilter by commodity category (default: all). Options: oil, gas, coal, refined, metals, forex.

No output schema declared.

No examples provided.

opa_search_well_permits ~191

Search well permits in one US state by county or operator and optional permit-date range. The tool checks the core API's measured state-health gate first, fails closed for unavailable/attention states, and always returns freshness, date coverage, source provenance, and any staleness/degradation caveat with the records. Operator and county filters currently require separate searches.

NameTypeReqDescription
countystringOptional county-name search. Cannot be combined with operator.
end_datestringOptional inclusive permit-date upper bound (YYYY-MM-DD).
operatorstringOptional operator-name search. Cannot be combined with county.
pageinteger
per_pageinteger
start_datestringOptional inclusive permit-date lower bound (YYYY-MM-DD).
statestringyesRequired US state name or 2-letter code, e.g. Texas or TX.

No output schema declared.

No examples provided.

Common questions

What is the io.github.OilpriceAPI/mcp-server server?

io.github.OilpriceAPI/mcp-server is listed in the public MCP registry as io.github.OilpriceAPI/mcp-server. Source-timestamped energy data and reviewed OilPriceAPI product facts for MCP clients. This page covers its npm package (oilpriceapi-mcp).

Is the io.github.OilpriceAPI/mcp-server server safe to use?

io.github.OilpriceAPI/mcp-server scores 94 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.OilpriceAPI/mcp-server server expose?

io.github.OilpriceAPI/mcp-server exposes 32 tools: opa_get_product_facts, opa_get_price, opa_market_overview, opa_compare_prices, opa_list_commodities, and 27 more. Their descriptions and schemas cost roughly 4,753 tokens of context every time the server is loaded.

Is the io.github.OilpriceAPI/mcp-server server still maintained?

io.github.OilpriceAPI/mcp-server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.OilpriceAPI/mcp-server server under?

io.github.OilpriceAPI/mcp-server declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.