{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_hbk7kmqk4auq","handle":"primary-source-commodities","url":"https://wellknown.network/agents/primary-source-commodities","links":{"self":"https://wellknown.network/agents/primary-source-commodities/record.json","html":"https://wellknown.network/agents/primary-source-commodities","markdown":"https://wellknown.network/agents/primary-source-commodities/record.md","api":"https://wellknown.network/api/v1/agents/primary-source-commodities","status":"https://wellknown.network/api/v1/agents/primary-source-commodities/status","claim":"https://wellknown.network/agents/primary-source-commodities/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/primary-source-commodities/claim.json","badge":"https://wellknown.network/agents/primary-source-commodities/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/primary-source-commodities/history","tools":"https://wellknown.network/api/v1/agents/primary-source-commodities/tools"},"ard":{"identifier":"urn:air:api.commodities.sh:server:primary-source-commodities","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Primary Source Commodities","summary":"Primary-source commodities data for AI agents — EIA, FRED, CFTC, USDA, USGS via x402 on Base.","description":"Primary-source commodities data for AI agents — EIA, FRED, CFTC, USDA, USGS via x402 on Base.","publisher":{"name":"sawftware-apps","url":null},"homepage":null,"repository":null,"version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.commodities.sh/api/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-07-26T09:24:21.169595Z","publishedAt":"2026-07-26T09:24:21.169595Z","registryName":"io.github.sawftware-apps/commodities-sh"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"}],"categories":["commerce","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-11T23:22:54.491Z","lastProbedAt":"2026-10-11T23:22:54.491Z","statusComputedAt":"2026-10-11T23:23:36.450Z","reliability30d":{"probes":110,"successRate":1,"p50Ms":179,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-11T23:22:54.491Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":163,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-11T17:22:07.935Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":205,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-11T10:23:11.692Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":168,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-11T03:20:48.505Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":190,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T20:26:53.501Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":188,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T13:25:27.142Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":262,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T06:27:32.781Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":769,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-10T00:29:22.911Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":164,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-09T18:26:53.732Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":171,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}},{"at":"2026-10-09T12:29:47.299Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":176,"error":null,"detail":{"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"toolCount":11,"toolsHash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","serverName":"commodities.sh","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2024-11-05"}}],"tools":[{"name":"catalog.list","description":"List every commodity instrument in the catalog with sector, unit, primary source, and freshness metadata. Call this first to discover valid codes before price.l"},{"name":"price.latest","description":"Return the latest cash/fundies observation for one instrument code. Use catalog.list to discover codes such as CL, GC, or ZC. Response follows the shared observ"},{"name":"inventory.get","description":"Fetch EIA weekly petroleum inventory levels. Omit series to list all latest inventory points, or pass a series key to get week-over-week change, vs-5y deviation"},{"name":"positioning.get","description":"Return the latest CFTC Commitments of Traders managed-money positioning for an instrument code. Includes long, short, net, and week-over-week net change with so"},{"name":"spread.get","description":"Compute a derived spread observation: 3-2-1 crack, soybean crush, WTI-Brent basis, or calendar (calendar requires licensed curve data and may return available=f"},{"name":"price.history","description":"Return historical observations for an instrument code (up to 500 points). Use after price.latest when you need a short time series for the same code."},{"name":"fx.latest","description":"Return the latest FX rate observation for a pair or FRED FX series. Useful alongside commodity prices when converting cash values across currencies."},{"name":"fundamentals.get","description":"Fetch a fundamentals document: USDA WASDE, crop progress, export sales, or USGS mineral summaries. Choose kind based on the ags/metals question you are answerin"},{"name":"snapshot.get","description":"Build a sector snapshot bundling prices, inventories, spreads, and related fundies for energy, metals, ags, or all sectors. Prefer this over calling many single"},{"name":"calendar.get","description":"List EIA, USDA, and CFTC release calendar entries with cadence, typical Eastern time, and next-hint notes. Free discovery tool — call before scheduling agents a"},{"name":"decision.get","description":"Build a deterministic decision pack for energy, metals, ags, or all sectors. Returns method, signals with direction/rationale, an embedded snapshot, and a discl"}],"package":null,"toolSurface":{"id":"ts_yzfmvf6gw3hf","endpointId":"ep_7j9ju2fz84fh","hash":"c532a996d9520e2847b1a46593e67f60308a297d1527061d3ba00354d5a8ec89","toolCount":11,"serverName":"commodities.sh","serverVersion":"0.1.0","protocolVersion":"2024-11-05","firstSeenAt":"2026-09-12T16:26:17.128Z","lastSeenAt":"2026-10-11T23:22:54.492Z","observations":108,"toolNames":["catalog.list","price.latest","inventory.get","positioning.get","spread.get","price.history","fx.latest","fundamentals.get","snapshot.get","calendar.get","decision.get"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_7j9ju2fz84fh","url":"https://api.commodities.sh/api/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T20:26:53.521Z","auth":{"observedAt":"2026-10-10T20:26:53.551Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T20:26:53.572Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api.commodities.sh","issuer":{"commonName":"YR2","organization":"Let's Encrypt"},"validFrom":"2026-09-13T04:44:17.000Z","validTo":"2026-12-12T04:44:16.000Z","daysToExpiry":61,"sanCount":1,"fingerprint256":"E2:E4:E5:13:AB:21:93:AE:97:A4:E6:DC:9C:8E:71:BC:BD:57:E9:92:49:DC:DA:EE:C9:CD:12:D7:15:1C:D7:CA"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.sawftware-apps/commodities-sh","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.sawftware-apps%2Fcommodities-sh","firstSeenAt":"2026-09-07T02:19:07.954Z","fetchedAt":"2026-10-11T07:19:05.886Z","normalizedAt":"2026-10-11T07:19:05.886Z"}]},"firstSeenAt":"2026-09-07T02:19:07.954Z","updatedAt":"2026-10-11T23:24:46.251Z"}