PackIndex
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Packaging material prices, quote checks, contract price adjustments, pack costing and supplier RFQs.
| Author | com.opnplatform |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1983 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"PackIndex": {
"url": "https://opnplatform.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (26)
search_indicesread-onlyFind PackIndex codes by material, input, format or plain words ('polypropylene', 'recovered paper', 'natural gas', 'kraftliner', 'corrugated box'). Returns published codes with layer (L0 inputs, L1 raw materials, L2 semi-finished, L3 finished packs), region and unit — no prices. Use first when you don't know the exact code.
Parameters:
query(required) — stringlayer— string — Optional layer filter: L0 primary inputs, L1 raw materials, L2 semi-finished, L3 finished units.limit— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_live_indexread-onlyToday's value of one PackIndex code — commodity inputs (L0: oil, gas, power, metals, recovered fibre), raw materials (L1: PP, HDPE, pulp…), semi-finished (L2: kraftliner, films…) or finished packs (L3) — in USD (and your currency), with 1-week / 1-month / 3-month / 1-year change (each period only where that much history exists) and carbon data where scored. Free callers get a 12-week delayed reference value (plus a daily live rotation); live values need the Essential plan.
Parameters:
code(required) — string — PackIndex code, e.g. PP, KRLNR, OCC, GAS_TTF, CORR. Use search_indices if unsure.currency— string — Also show the value in this currency (ISO code, e.g. EUR, CAD). Defaults to the signed-in user's own currency; converted at live FX.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_index_historyread-onlyPrice history for any PackIndex code (L0-L3), one value per date: every point for up to 3 months, weekly closes for longer spans, with the change between points. Depth follows the caller's plan (observer 3mo · essential 3mo · professional 24mo · intelligence 24mo); free history ends 12 weeks ago.
Parameters:
code(required) — string — PackIndex code, e.g. PP, KRLNR, OCC, GAS_TTF, CORR. Use search_indices if unsure.months— integer — Capped to the caller's plan depth.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_all_indicesread-onlyPage through index values by layer: L0 primary inputs, L1 raw materials, L2 semi-finished (paid plans) and L3 finished packs. Prefer get_prices for specific codes; use this for portfolio scans. Paginate with limit/offset (next_offset is returned while more rows remain).
Parameters:
layer— stringlimit— integeroffset— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_carbon_indexread-onlyCarbon footprint: finished packs (L3) in kg CO2e per unit with grade A-D; raw materials and semi-finished (board grades, pulps, polymers, aluminium, steel, cullet) in kg CO2e per tonne, virgin and PEF CFF, optionally at your recycled content. For Scope 3 Category 1: factor × units or tonnes.
Parameters:
code(required) — string — PackIndex code, e.g. PP, KRLNR, OCC, GAS_TTF, CORR. Use search_indices if unsure.recycled_content— number — Materials only: recycled share 0-1 for the CFF value.
Hints: read-only yes · destructive no · idempotent yes · open-world no
packindex_queryread-onlyAsk a plain-English question about packaging costs, indices or which PACKIQ agent to use. Returns a structured, citable answer grounded in PackIndex data.
Parameters:
question(required) — stringcurrency— string — Answer currency; auto-detected from the question if omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_index_forecastread-only12-week forward value for any PackIndex code — inputs, raw materials, semi-finished and finished packs: current level, projection, projected change and confidence. Intelligence plan.
Parameters:
code(required) — string — PackIndex code, e.g. PP, KRLNR, OCC, GAS_TTF, CORR. Use search_indices if unsure.currency— string — Also show the value in this currency (ISO code, e.g. EUR, CAD). Defaults to the signed-in user's own currency; converted at live FX.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_pricesread-onlyToday's values for up to 20 PackIndex codes in one call (any layer: oil, gas, resins, pulp, board, films, finished packs) with 1w/1m/3m/1y change — for watchlists and cost models. Free callers get 12-week delayed reference values.
Parameters:
codes(required) — array — PackIndex codes, e.g. ['PP','HDPE','KRLNR','GAS_TTF']currency— string — Also show values in this currency (ISO code).
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_quoteread-onlyIs this supplier price fair? Compares a quoted price (any currency; per t, kg, lb, unit…) with the PackIndex benchmark: difference %, verdict FAIR / HIGH / LOW, where the quote sits in the benchmark's 12-month range and, with a quantity, the overpayment. Free callers are compared with the 12-week delayed reference value.
Parameters:
code(required) — string — PackIndex code, e.g. PP, KRLNR, OCC, GAS_TTF, CORR. Use search_indices if unsure.price(required) — number — Quoted price per unitunit— string — Quote unit: t, kg, lb, MWh, therm, L, bbl, unit, 1000… (defaults to the benchmark's unit)region— string — Where the quote is for, e.g. 'Germany'currency— string — Quote currency (ISO code)quantity— number — Order quantity in the quote's unitquote_date— string — YYYY-MM-DD; compares with the benchmark on that date (paid plans)
Hints: read-only yes · destructive no · idempotent yes · open-world no
price_adjustmentread-onlyRecalculate an index-linked contract price: base price and base date plus the indices it follows and their weights (the rest is fixed). Returns the adjusted price, each index's ratio and effect, and the formula. Essential plan (base dates up to 3 months back), Professional (24 months).
Parameters:
base_price(required) — numberbase_date(required) — string — YYYY-MM-DD the base price was agreedcode— string — Shortcut for one index (with weight)weight— numbercurrency— string — Currency of the contract price (label only)components— array — e.g. [{'code':'PP','weight':0.6},{'code':'GAS_TTF','weight':0.1}]adjustment_date— string — YYYY-MM-DD, default today
Hints: read-only yes · destructive no · idempotent yes · open-world no
compare_regionsread-onlyOne material across regions — e.g. PP in Europe, US, China and the Middle East — in USD with spreads vs a reference region; add freight per unit and duty % to compare landed costs. Professional plan and above.
Parameters:
codes— array — Or explicit codes to compareduty_pct— number — Import duty % into the reference regionmaterial— string — Code or name, e.g. PP, HDPE, OCC, 'polypropylene'reference— string — Reference code (default: the European benchmark)freight_per_unit— number — USD freight per benchmark unit into the reference region
Hints: read-only yes · destructive no · idempotent yes · open-world no
explain_price_moveread-onlyWhy did a price move? Splits the change over 1w / 1m / 3m / 6m / 1y into the moves of its inputs (e.g. PP ← propylene, gas, power; kraftliner ← OCC, pulp; boxes ← board grades) and the rest (margins, demand, supply). Essential plan and above.
Parameters:
code(required) — string — PackIndex code, e.g. PP, KRLNR, OCC, GAS_TTF, CORR. Use search_indices if unsure.period— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_market_moversread-onlyBiggest risers and fallers among inputs (L0), raw materials (L1) and semi-finished (L2) over 1w / 1m / 3m / 1y, optionally within a group (e.g. 'polymer', 'fibre', 'energy'). Essential plan and above.
Parameters:
group— string — Optional group or name filterlayer— stringlimit— integerperiod— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
estimate_packaging_priceread-onlyPrice a corrugated RSC box (FEFCO 0201) from internal dimensions and flute (E, B, C, F or double-wall), anchored to the PackIndex RSC benchmark, with a low/mid/high band, optional order total and a next-quarter projection. Returns the sources to cite.
Parameters:
length_mm(required) — numberwidth_mm(required) — numberheight_mm(required) — numberflute— stringformat— stringregion— string — Country or region, e.g. 'US', 'Germany', 'Poland'horizon— stringcurrency— string — Also show the estimate in this currency (ISO code, e.g. CAD, EUR). Defaults to the region's currency; converted at live FX.quantity— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
draft_packaging_specTurn a plain-language packaging brief into a structured spec (format, materials, dimensions, quantity, assumptions) saved as a Design Studio project. Requires the user's OPN account (sign-in or API key); spends 1 Suite run (Intelligence includes monthly free runs).
Parameters:
brief(required) — stringproject_name— string
Hints: read-only no · destructive no · idempotent no · open-world no
cost_packaging_specDerive the bill of materials for a Design Studio project (or a spec object) and anchor each component to live PackIndex values. Requires the user's OPN account (sign-in or API key); spends 1 Suite run.
Parameters:
spec— object — Alternative to project_idproject_id— integer — From draft_packaging_spec
Hints: read-only no · destructive no · idempotent no · open-world no
compare_packaging_optionsOptimise a Design Studio project (or a material): right-size, lightweight and substitute options with cost and carbon savings anchored to PackIndex. Requires the user's OPN account (sign-in or API key); spends 1 Suite run.
Parameters:
goal— stringmaterial— string — Name of the material (shown in the result)project_id— integer — From draft_packaging_spec (with a costed BoM)performance— object — Performance floor — use the pair that fits the pack. Downgauging is checked against the floor only when both current and required are given.index_category— string — Without a project: the material family to find substitutes for — one of BOPET, BOPP, COEX_7L, CRTN_FBB, FBB, FLUTE_NSSC, FLUTE_SC, KRLNR, KRLNR_125, LDPE, LDPE_FILM, LDPE_MONO, LLDPE, LLDPE_FILM, METBOPP, PET_BTL, PP, PP_BLOCK, PP_COPOL, PP_FILM, PP_INJ, PP_INJ_SEMI, PP_SHEET, PVC, SBB, SBS_FOOD, SBS_PPR, THERM_PP, VMPET, WHTOP
Hints: read-only no · destructive no · idempotent no · open-world no
update_projectdestructiveChange a Design Studio project's order quantity, target region, contents size (boxes — enables right-sizing), name or performance floor (corrugated: ECT; folding cartons: bending stiffness in mN·m; rigid packs: top-load kgf). Free — no Suite run; a new quantity re-prices the existing bill of materials. Use it when the user gives the real volume before comparing options or requesting quotes.
Parameters:
project_id(required) — integername— stringregion— string — Target market or supply countryquantity— integer — Units per order / yearcontents_mm— string — Boxes: the product(s) as packed, 'L x W x H' in mm (3 balls of 74 mm in a row: '74 x 74 x 222'). Enables right-sizing.performance— object — Performance floor — use the pair that fits the pack. Downgauging is checked against the floor only when both current and required are given.
Hints: read-only no · destructive yes · idempotent yes · open-world no
list_my_projectsread-onlyThe user's Design Studio packaging projects (id, name, pack type, status) and Suite runs left. Use it before compare_packaging_options or post_rfq when the user refers to 'my project' without an id. Requires the user's OPN account.
Hints: read-only yes · destructive no · idempotent yes · open-world no
post_rfqRequest quotes on the OPN Trade Exchange for a Design Studio project or a PackIndex material code to up to 3 suppliers. listing_ids (from find_suppliers) or, by default, the 3 best-matching listings get an RFQ — needs a verified e-mail and an Exchange plan with RFQs (Business+). company_slugs (converters from find_suppliers) ask those companies to quote; the Exchange contacts them for the buyer, anonymously. Real e-mails are sent — confirm the selection with the user first.
Parameters:
unit— string — e.g. units, tnotes— stringregion— stringcurrency— stringquantity— numberbroadcast— boolean — Also send to every live listing for the materialneeded_by— string — YYYY-MM-DDproject_id— integer — Design Studio project with a costed BoMlisting_ids— array — Only these listings (from search_exchange_listings)material_id— string — PackIndex code, e.g. RSC_0201, KRLNR, PPtarget_price— numbercompany_slugs— array — Converters to ask for a quote (company_slug from find_suppliers)
Hints: read-only no · destructive no · idempotent no · open-world yes
find_suppliersread-onlyWho can quote a material or a Design Studio project: live Trade Exchange listings (price vs PackIndex benchmark) plus matched converters from the verified supplier network, filtered by country. Use before post_rfq. A project_id needs the user's OPN account; a material code works for anyone.
Parameters:
query— string — Supplier name or keywords, e.g. 'Box Co', 'FSC', 'Ontario'region— string — Supplier country or region, e.g. Canada, CA, Germany, North Americaproject_id— integer — Design Studio project (see list_my_projects)material_id— string — PackIndex code, e.g. RSC_0201, FBB, KRLNR
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_my_rfqsread-onlyThe user's sent RFQs with how many suppliers received each and how many responded; pass rfq_id for the responses (bids and, once a supplier responds, their contact).
Parameters:
rfq_id— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
search_exchange_listingsread-onlyLive supplier offers on the OPN Trade Exchange, filterable by PackIndex material code and origin, each with its PackIndex benchmark (live on paid plans, 12-week delayed otherwise). No contact details — RFQs happen on the Exchange.
Parameters:
limit— integerquery— string — Supplier name or keywords (grade, certification, city)region— string — Origin country or region, e.g. Canada, CA, North Americamaterial_id— string — PackIndex code, e.g. KRLNR, PP, BOPP
Hints: read-only yes · destructive no · idempotent yes · open-world yes
packiq_quote_analysisBenchmark every line of a pasted supplier packaging quote against live PackIndex finished-pack indices: deviation from the benchmark and a verdict per line (Sharp, Competitive, High, Overpriced), with market evidence for lines more than 8% above index. Requires the user's OPN account; costs 2 PACKIQ credits (refunded automatically if the run fails).
Parameters:
input(required) — string — The supplier quote as text: items, specs, quantities, unit prices and currency.
Hints: read-only no · destructive no · idempotent no · open-world no
packiq_epr_feesEstimate annual Extended Producer Responsibility fees for a packaging portfolio across active schemes (EU member states, UK, US states, Canada, Chile, Brazil): fee band per format, total liability by market and a reformulation priority list. Requires the user's OPN account; costs 4 PACKIQ credits (refunded automatically if the run fails).
Parameters:
input(required) — string — The packaging portfolio as text: formats, materials, unit weights, annual volumes and markets.
Hints: read-only no · destructive no · idempotent no · open-world no
packiq_recyclabilityGrade a packaging structure on the EU PPWR recyclability scale (A to F) from its substrate, layers, inks, closures and adhesives: grade, reasoning, EPR eco-modulation impact and options to reach a higher grade. Requires the user's OPN account; costs 4 PACKIQ credits (refunded automatically if the run fails).
Parameters:
input(required) — string — The packaging structure as text: substrate, layers, inks, closures, adhesives and labels.
Hints: read-only no · destructive no · idempotent no · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.