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

commodity-mcp

v0.6.1

Published

MCP server for the commodity data platform — manage pricing dashboards with AI

Readme

commodity-mcp

Commodity pricing data in any MCP client. Ask an AI assistant what copper has done over twenty years, when a material is usually cheapest, or what the 1973 embargo did to steel costs — and have it build you a dashboard you can open in the browser.

This is the MCP server for ScrapeMonk Commodity. It holds no data and no credentials of its own: every call is made as the signed-in user, against their own account.

Install

Add it to your client's MCP configuration:

{
  "mcpServers": {
    "commodity-data": {
      "command": "npx",
      "args": ["-y", "commodity-mcp"]
    }
  }
}

Then run the login tool. It opens a browser for an Auth0 sign-in and caches the result in ~/.commodity-data/token.json.

Access needs a Commodity seat in Wistery Admin. Without one the tools say what is missing (an account, an organization or a seat) rather than failing with something cryptic, and where your organization can give you a seat, they give you the link to request it.

What it can do

Prices and analysis

| Tool | | | --- | --- | | get_prices | The price series itself, so you can compute trends and correlations — not just a summary. Defaults to 20 years; long daily series are averaged by month or year to fit, and the answer says which. Can list the events in the same window, and links to the chart in the web app. | | get_seasonality | How a commodity moves through the year: per-month average, range and spread, plus the seasonal effect with the trend removed. It names a cheapest and a dearest month only when the months observed differ by more than chance. Works for your uploads too, and links to the charts in the web app. | | list_events | Over a hundred events from 1972 onward, each with a written account of what it did to which commodities. Narrow by date window, or find the events that mention a commodity by its plain name (oil, copper, wheat). | | list_commodities, search_commodities | The catalogue — 180+ indices across metals, energy, polymers, agriculture, FX and economic indicators. |

Your own data

| Tool | | | --- | --- | | import_prices | Upload your own series as CSV — contracted buy prices, a supplier quote, an internal index — to sit on a dashboard beside market data. The answer says which columns were read and which rows were left out; importing again under the same name replaces your series, and a colleague's only when asked to. Visible to you and your organization, never sent to any provider. | | delete_commodity | Delete an upload, for everyone in your organization. The answer says whose it was and which of the dashboards you can see still list it. |

Dashboards

list_dashboards, create_dashboard, update_dashboard, delete_dashboard. A dashboard is private to you, or shared with your whole organization, whose members can then see and edit it. Creating or updating one answers with a link that opens it in the browser.

Data sources

list_connectors, connect_source, disconnect_source. A source is off until you, or someone in your organization, turns it on, and enabling one accepts that provider's terms on your behalf — so connect_source shows you the terms first and enables only once you have agreed. Some providers need an API key of your own or your organization's.

Session and admin

login, logout, whoami. search_fred searches FRED's catalogue for series not yet carried, using your FRED key or one stored by someone in your organization. list_users is for TopMonks admins.

search_yfinance is currently unavailable and says so.

Where the data comes from

Seven providers — Yahoo Finance, FRED, ECB, EIA, BLS, Eurostat and the World Bank — each opt-in. There are no platform-owned API keys: a source is on once you or someone in your organization enables it, with the key that person stored where a provider requires one, unless you have switched it off for yourself.

Where a series is assembled from more than one provider, the answer names all of them, oldest layer last (yfinance+eia+worldbank), and carries the credit each one's terms require.

Configuration

Everything has a working default; override only what you need.

| Variable | Default | | | --- | --- | --- | | MCP_API_URL | https://app.commodity.scrapemonk.io | The Commodity web app, which serves the API too; answers link into it | | MCP_AUTH0_DOMAIN | wistery.eu.auth0.com | Auth0 tenant | | MCP_AUTH0_CLIENT_ID | built in | Auth0 client | | MCP_AUTH0_AUDIENCE | built in | Auth0 API audience | | MCP_AUTH_CALLBACK_PORT | 18776 | Local port the sign-in returns to | | MCP_WISTERY_ADMIN_URL | production Admin, for the production API | Where a user without a seat is sent | | MCP_API_TIMEOUT_MS | 30000 | Per-request timeout |

Shared API keys are not supported: they bypassed the entitlement gate and could not be revoked per organization. Personal login is the only way in.

Reference

Every tool is documented with its full argument schema in mcp/openapi-v1.html in the Commodity repository; the tools, their arguments and descriptions are generated from the server's own tool list. Ask your TopMonks contact if you need a copy.

whoami is the quickest check that everything is wired up: it reports who you are signed in as, your organization, and whether your account can use Commodity.

Licence

Commercial. Access is governed by the customer agreement.