npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

oilpriceapi-mcp

v2.0.0

Published

The energy commodity MCP server. Real-time oil, gas, and commodity prices for Claude, Cursor, and any MCP client.

Downloads

208

Readme

OilPriceAPI MCP Server

The energy commodity MCP server. Real-time oil, gas, and commodity prices for Claude, Cursor, VS Code, and any MCP-compatible client.

npm license

Features

  • 14 Tools — spot prices, history, futures, marine fuels, rig counts, diesel by state, storage, OPEC production, forecasts
  • 5 Resources — subscribable price snapshots for Brent, WTI, Natural Gas, Diesel, and all commodities
  • 6 Prompts — pre-built analyst templates (daily briefing, spread analysis, gas markets, commodity report, diesel costs, supply analysis)
  • Natural language — ask for "brent oil" or "natural gas", not codes
  • 70+ commodities — oil, gas, coal, refined products, metals, forex, bunker fuels, state diesel
  • Smart errors — unrecognized commodities get suggestions, not silent fallbacks

Quick Start

npx oilpriceapi-mcp

Installation

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "oilpriceapi": {
      "command": "npx",
      "args": ["-y", "oilpriceapi-mcp"],
      "env": {
        "OILPRICEAPI_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "oilpriceapi": {
      "command": "npx",
      "args": ["-y", "oilpriceapi-mcp"],
      "env": {
        "OILPRICEAPI_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "oilpriceapi": {
      "command": "npx",
      "args": ["-y", "oilpriceapi-mcp"],
      "env": {
        "OILPRICEAPI_KEY": "your-api-key-here"
      }
    }
  }
}

VS Code + Cline

Add to .vscode/mcp.json:

{
  "servers": {
    "oilpriceapi": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "oilpriceapi-mcp"],
      "env": {
        "OILPRICEAPI_KEY": "your-api-key-here"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "oilpriceapi": {
      "command": "npx",
      "args": ["-y", "oilpriceapi-mcp"],
      "env": {
        "OILPRICEAPI_KEY": "your-api-key-here"
      }
    }
  }
}

Global Install

npm install -g oilpriceapi-mcp

Environment Variables

| Variable | Required | Description | | ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | OILPRICEAPI_KEY | Yes | API key from oilpriceapi.com/signup. Free tier: 200 requests/month. | | OILPRICEAPI_BASE_URL | No | Override API base URL (for staging/testing). Default: https://api.oilpriceapi.com |

Tools

All tools are prefixed with opa_ to avoid name collisions when multiple MCP servers are loaded.

| Tool | Description | | ------------------------- | ---------------------------------------------------------------- | | opa_get_price | Current spot price for a single commodity | | opa_market_overview | All commodity prices in one call, grouped by category | | opa_compare_prices | Side-by-side comparison of 2-5 commodities with spread | | opa_list_commodities | Full commodity catalog (fetched live from API) | | opa_get_history | Historical prices with high/low/avg/change (day/week/month/year) | | opa_get_futures | Front-month futures price (Brent BZ or WTI CL) | | opa_get_futures_curve | Full forward curve with contango/backwardation analysis | | opa_get_marine_fuels | Bunker fuel prices by port and fuel type (VLSFO/MGO/IFO380) | | opa_get_rig_counts | Baker Hughes US rig count with week-over-week change | | opa_get_drilling | Drilling intelligence: wells, permits, completions by region | | opa_get_diesel_by_state | AAA retail diesel price for any US state (50 states + DC) | | opa_get_storage | Cushing and SPR oil storage/inventory levels | | opa_get_opec_production | OPEC country-level production data | | opa_get_forecasts | EIA STEO energy price forecasts |

Example Questions

"What's the current Brent oil price?"
"Compare Brent and WTI crude"
"Show me oil prices for the past month"
"What's diesel cost in California vs Texas?"
"Give me a market overview of refined products"
"What's the Brent futures curve look like?"
"How many oil rigs are active in the US?"
"What are OPEC production levels?"
"What are bunker fuel prices in Singapore?"
"Show me Cushing storage levels"

Resources

Subscribable price data (JSON):

| Resource | URI | Description | | ----------- | --------------------- | -------------------------------- | | Brent Crude | price://brent | Global benchmark crude oil price | | WTI Crude | price://wti | US benchmark crude oil price | | Natural Gas | price://natural-gas | US Henry Hub natural gas price | | Diesel | price://diesel | US national average diesel price | | All Prices | price://all | All tracked commodity prices |

Prompts

Pre-built analyst templates:

| Prompt | Description | | ---------------------- | --------------------------------------------------------- | | daily-briefing | Energy market daily briefing with key prices and movers | | brent-wti-spread | Analyze the Brent-WTI crude oil spread | | gas-market-analysis | Compare US vs European natural gas markets | | commodity-report | Detailed report on a specific commodity (parameterized) | | diesel-cost-analysis | Compare diesel prices across US states for fleet planning | | supply-analysis | Analyze supply using OPEC production, rig counts, storage |

Natural Language Support

| You say | We understand | | --------------------------- | --------------- | | "brent oil", "brent crude" | BRENT_CRUDE_USD | | "wti", "us oil" | WTI_USD | | "natural gas", "henry hub" | NATURAL_GAS_USD | | "european gas", "ttf" | DUTCH_TTF_EUR | | "diesel" | DIESEL_USD | | "gold" | GOLD_USD | | "jet fuel", "aviation fuel" | JET_FUEL_USD | | "carbon", "carbon credits" | EU_CARBON_EUR |

Development

npm install
npm run build
npm test
OILPRICEAPI_KEY=your-key node build/index.js

Breaking Changes in v2.0.0

  • All tool names now use opa_ prefix (e.g., get_commodity_price -> opa_get_price)
  • Unrecognized commodity names now return an error with suggestions instead of silently defaulting to Brent
  • list_commodities now fetches live from the API (falls back to static list if unavailable)

License

MIT

Links

Also Available As