Critical Minerals Dependency MCP Server
Critical minerals supply chain risk intelligence — quantified, sourced, and ready for your AI agent. This MCP server delivers dependency risk scores for lithium, cobalt, rare earths, gallium, and 16 other critical minerals by orchestrating 8 public data sources in parallel: UN COMTRADE trade flows, OFAC and OpenSanctions watchlists, USPTO and EPO patent databases, World Bank governance indicators, IMF macroeconomic data, and OECD statistics. Defense teams, EV supply chain managers, and industria
Maintenance Pulse
90/100Cost Estimate
How many results do you need?
Pricing
Pay Per Event model. You only pay for what you use.
| Event | Description | Price |
|---|---|---|
| mineral_dependency_report | All 8 sources, HHI concentration, geopolitical, substitution. Full composite. | $0.30 |
| supply_concentration_analysis | UN COMTRADE HHI analysis for monopolistic suppliers. | $0.08 |
| supplier_country_risk | World Bank + IMF + OECD + sanctions country risk. | $0.10 |
| sanctions_exposure_check | OFAC + OpenSanctions mineral supply chain screening. | $0.06 |
| substitution_patent_landscape | USPTO + EPO alternative material and recycling patents. | $0.08 |
| industry_impact_assessment | Trade flow + economic impact of mineral disruptions. | $0.10 |
| compare_mineral_risks | Multi-mineral relative risk ranking. | $0.08 |
Example: 100 events = $30.00 · 1,000 events = $300.00
Connect to your AI agent
Add this MCP server to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.
https://ryanclinton--critical-minerals-dependency-mcp.apify.actor/mcp{
"mcpServers": {
"critical-minerals-dependency-mcp": {
"url": "https://ryanclinton--critical-minerals-dependency-mcp.apify.actor/mcp"
}
}
}Documentation
Critical minerals supply chain risk intelligence — quantified, sourced, and ready for your AI agent. This MCP server delivers dependency risk scores for lithium, cobalt, rare earths, gallium, and 16 other critical minerals by orchestrating 8 public data sources in parallel: UN COMTRADE trade flows, OFAC and OpenSanctions watchlists, USPTO and EPO patent databases, World Bank governance indicators, IMF macroeconomic data, and OECD statistics. Defense teams, EV supply chain managers, and industrial policy analysts use it to answer one question fast: how exposed are we?
Seven MCP tools cover every dimension of critical mineral dependency — from Herfindahl-Hirschman Index (HHI) supply concentration and geopolitical fragility scoring to substitution patent landscapes and sanctions screening. Every tool returns structured JSON with a verdict label (CRITICAL_DEPENDENCY through LOW_RISK), scored sub-components, and prioritized recommendations. No subscriptions, no dashboards to configure — connect your MCP client, call a tool, get intelligence.
What data can you access?
| Data Point | Source | Example |
|---|---|---|
| 📦 International trade flows by country and commodity | UN COMTRADE | China: 68% of cobalt ore exports, HHI 4,840 |
| 🚫 US Treasury sanctions entities | OFAC SDN List | Novatek PJSC — sanctioned Russian energy entity |
| 🌐 Global sanctions matches across 100+ programs | OpenSanctions | 3 hits across EU, UN, OFAC programs |
| 📄 US alternative-material patents | USPTO Patent Search | Na-ion battery cathode substitution, 2024 filing |
| 📄 European alternative-material patents | EPO Patent Search | Synthetic graphite anode, priority 2023 |
| 🏛️ Country governance and stability indicators | World Bank Indicators | DRC rule-of-law score: -1.72 (fragile) |
| 📉 Macroeconomic risk data for producer countries | IMF Economic Data | Congo inflation 12.3%, debt-to-GDP 87% |
| 📊 Trade and economic statistics | OECD Statistics | Rare earth trade concentration, OECD members |
Why use Critical Minerals Dependency MCP?
Manually assessing critical mineral exposure requires pulling COMTRADE data, cross-referencing sanctions databases, reading World Bank governance scores, and searching patent filings — a research cycle that takes a senior analyst 2-3 days per mineral. Licensing commercial supply chain risk platforms costs $25,000-$100,000 per year for enterprise access.
This MCP server automates the entire cycle in a single tool call. An AI agent can assess lithium dependency for EV supply chains in seconds, including HHI concentration, sanctions exposure on DRC mining entities, and substitution readiness from USPTO/EPO patent filings — all in one structured JSON response.
Platform benefits available from day one:
- Scheduling — run weekly supply chain risk monitoring on a fixed schedule to track score drift
- API access — trigger assessments from Python, JavaScript, or any HTTP client via the Apify API
- Spending limits — set a maximum budget per run; the server stops charging when the limit is reached
- Monitoring — receive Slack or email alerts when runs fail or return unexpected verdicts
- Integrations — connect results to Zapier, Make, Google Sheets, or your internal risk dashboard via webhooks
Features
- Herfindahl-Hirschman Index (HHI) calculation from live UN COMTRADE trade flows — HHI is computed from each supplier country's squared market share; scores above 2,500 trigger a MONOPOLISTIC flag
- Five concentration levels — DIVERSIFIED, MODERATE, CONCENTRATED, HIGHLY_CONCENTRATED, MONOPOLISTIC — derived from HHI with explicit threshold logic
- Geopolitical fragility scoring combining OFAC sanctions hits, OpenSanctions matches, World Bank governance indicators (rule of law, political stability, regulatory quality), and IMF macroeconomic signals
- 20 tracked critical minerals — lithium, cobalt, nickel, manganese, graphite, rare earths, tungsten, titanium, vanadium, gallium, germanium, indium, antimony, tantalum, niobium, and platinum group metals
- High-risk supplier country list with explicit flags for China, DRC, Russia, Myanmar, North Korea, and Iran — supply exposure from these countries increases the geopolitical score
- Sanctioned country exposure detection — any supply chain dependency on sanctioned nations triggers elevated fragility signals regardless of volume
- Substitution Readiness Index measured from patent filing velocity — counts alternative-material patents with keywords including "substitut", "replac", "alternative", "recycl", "synthetic", "sodium", "iron phosphate", "solid state" across USPTO and EPO
- Patent assignee diversity as a proxy for R&D breadth — more unique organizations filing alternative-material patents signals a more competitive substitution landscape
- Composite Dependency Risk Score (0-100) weighted: Supply Concentration 35% + Geopolitical Fragility 35% + Substitution Gap 30%
- Override logic — a MONOPOLISTIC concentration combined with 2+ sanctions hits automatically escalates the verdict to CRITICAL_DEPENDENCY regardless of the composite score
- Prioritized recommendations generated per assessment — specific actions including supply chain diversification thresholds, strategic reserve guidance, and R&D investment signals
- Parallel source orchestration — all 8 data sources queried simultaneously via
Promise.allfor sub-60-second full assessments - Spending limit enforcement — each tool checks
Actor.charge()before executing and returns a structured error if the limit is reached
Use cases for critical mineral supply chain risk analysis
Defense and aerospace supply chain assessment
Defense procurement offices and prime contractors use mineral_dependency_report to quantify exposure to adversary-controlled mineral supply. A single call on tungsten or rare earth neodymium surfaces the HHI concentration score, DRC and China exposure percentage, and substitution readiness — structured data for quarterly supply chain risk reviews.
EV battery and energy storage supply chain monitoring
Battery manufacturers and EV OEMs run supply_concentration_analysis on lithium, cobalt, nickel, and graphite weekly. The HHI score tracks concentration drift as new mines come online or geopolitical events shift trade flows. supplier_country_risk flags DRC governance deterioration before it becomes a sourcing crisis.
Semiconductor and electronics material sourcing
Chip manufacturers and electronics companies analyze gallium, germanium, and indium using compare_mineral_risks. These minerals face near-monopolistic supply from China, with limited substitution options — a risk profile that substitution_patent_landscape quantifies directly from USPTO and EPO filing activity.
Commodity trading and structured finance
Trading desks use supply_concentration_analysis to price supply disruption probability into options and forward contracts. sanctions_exposure_check screens mining counterparties against OFAC and OpenSanctions before executing trades or financing agreements.
Industrial policy and government research
Policy analysts and government research agencies assess which minerals warrant strategic reserve investment using industry_impact_assessment. The tool maps trade flow concentration against downstream industry dependency — identifying which minerals, if disrupted, create the highest GDP exposure.
ESG and responsible sourcing compliance
ESG teams use supplier_country_risk to score governance indicators for mineral-producing nations as part of annual responsible sourcing disclosures. World Bank rule-of-law and political stability scores, combined with sanctions exposure, feed directly into ESG risk matrices.
How to analyze critical mineral dependency
- Connect your MCP client — add the server URL (
https://critical-minerals-dependency-mcp.apify.actor/mcp) and your Apify API token to your Claude Desktop, Cursor, or Windsurf configuration. - Choose your tool — use
mineral_dependency_reportfor a full assessment, or a focused tool likesupply_concentration_analysisorsanctions_exposure_checkfor a specific dimension. - Specify the mineral and context — provide the mineral name (e.g., "cobalt") and optionally an industry context (e.g., "EV batteries"). The server queries 8 sources in parallel.
- Read the verdict — results arrive as structured JSON with a CRITICAL_DEPENDENCY to LOW_RISK verdict, sub-scores, risk signals, and specific recommendations.
MCP tools
| Tool | Price | Description |
|---|---|---|
mineral_dependency_report | $0.045 | Full dependency report: HHI concentration, geopolitical fragility, substitution readiness. All 8 sources. CRITICAL_DEPENDENCY to LOW_RISK verdict. |
supply_concentration_analysis | $0.045 | HHI supply concentration from COMTRADE trade flows. Monopolistic supplier detection, single-source dependency flags. |
supplier_country_risk | $0.045 | Country-level fragility: World Bank governance, IMF macroeconomics, OFAC/OpenSanctions screening. |
sanctions_exposure_check | $0.045 | OFAC and OpenSanctions screening for mining companies, producer nations, and trade entities. |
substitution_patent_landscape | $0.045 | USPTO + EPO patent landscape for alternative materials and recycling technology. Substitution Readiness Index. |
industry_impact_assessment | $0.045 | Downstream industry vulnerability to supply disruption. Trade flow analysis for specific industry-mineral pairs. |
compare_mineral_risks | $0.045 | Composite risk profile for a mineral: concentration level, fragility level, substitution level, and recommendations. |
Tool input parameters
| Tool | Parameter | Type | Required | Description |
|---|---|---|---|---|
mineral_dependency_report | mineral | string | Yes | Critical mineral name (e.g., "lithium", "cobalt", "gallium") |
mineral_dependency_report | industry | string | No | Industry context (e.g., "EV batteries", "semiconductor", "defense") |
supply_concentration_analysis | mineral | string | Yes | Mineral or commodity to analyze |
supply_concentration_analysis | region | string | No | Regional filter for trade flows |
supplier_country_risk | country | string | Yes | Supplier country name or ISO code |
supplier_country_risk | mineral | string | No | Mineral context for the assessment |
sanctions_exposure_check | entity | string | Yes | Mining company, country, or trade entity name |
sanctions_exposure_check | mineral | string | No | Mineral supply chain context |
substitution_patent_landscape | mineral | string | Yes | Mineral to find alternative-material patents for |
substitution_patent_landscape | application | string | No | Application area (e.g., "batteries", "semiconductors", "magnets") |
industry_impact_assessment | mineral | string | Yes | Critical mineral input |
industry_impact_assessment | industry | string | Yes | Downstream industry (e.g., "EV", "semiconductor", "defense", "aerospace") |
compare_mineral_risks | mineral | string | Yes | Mineral to assess |
compare_mineral_risks | context | string | No | Industry or supply chain context |
Input examples
Full dependency report for EV battery mineral:
{
"tool": "mineral_dependency_report",
"arguments": {
"mineral": "cobalt",
"industry": "EV batteries"
}
}
HHI supply concentration analysis:
{
"tool": "supply_concentration_analysis",
"arguments": {
"mineral": "gallium"
}
}
Sanctions screening for a mining entity:
{
"tool": "sanctions_exposure_check",
"arguments": {
"entity": "Glencore Congo Operations",
"mineral": "cobalt"
}
}
Input tips
- Use the full dependency report for first assessments —
mineral_dependency_reportruns all 8 sources in parallel and returns the composite score, which is the most actionable starting point - Narrow with industry context — adding an industry parameter (e.g., "EV batteries", "defense") focuses the COMTRADE queries and returns more relevant trade flow data
- Use focused tools for ongoing monitoring — once you have a baseline assessment, run
supply_concentration_analysisweekly andsanctions_exposure_checkmonthly to track drift without paying for a full report each time - Screen entities before trade — run
sanctions_exposure_checkon mining companies and trading counterparties before executing supply agreements; OFAC and OpenSanctions hits are returned as raw matches you can review
Output example
{
"mineral": "cobalt",
"compositeScore": 78,
"verdict": "HIGH_RISK",
"supplyConcentration": {
"score": 82,
"hhi": 4210,
"topSupplierShare": 0.68,
"supplierCount": 4,
"concentrationLevel": "MONOPOLISTIC",
"signals": [
"HHI 4210 — highly concentrated supply",
"Top supplier controls 68% of trade — single-source dependency",
"Only 4 supplier countries — critical vulnerability"
]
},
"geopolitical": {
"score": 74,
"sanctionedExposure": 3,
"fragileStateExposure": 5,
"fragilityLevel": "FRAGILE",
"signals": [
"3 sanctions hits — supply chain sanctions risk",
"Multiple fragile state indicators — governance and stability concerns",
"Macroeconomic instability in supplier countries"
]
},
"substitution": {
"score": 38,
"patentCount": 47,
"alternativeMaterials": 9,
"readinessLevel": "DEVELOPING",
"signals": [
"9 alternative material patents — active substitution R&D",
"12 recent patents — accelerating innovation in alternatives"
]
},
"allSignals": [
"HHI 4210 — highly concentrated supply",
"Top supplier controls 68% of trade — single-source dependency",
"Only 4 supplier countries — critical vulnerability",
"3 sanctions hits — supply chain sanctions risk",
"Multiple fragile state indicators — governance and stability concerns",
"9 alternative material patents — active substitution R&D"
],
"recommendations": [
"Diversify supply chain — HHI indicates dangerous concentration",
"Sanctions risk — establish alternative sourcing from allied nations",
"Single-source dependency — negotiate strategic reserves or long-term contracts",
"Supplier country instability — build inventory buffer and monitor closely"
]
}
Output fields
| Field | Type | Description |
|---|---|---|
mineral | string | The mineral analyzed |
compositeScore | number | Dependency risk score 0-100 (higher = more dependent/riskier) |
verdict | string | Risk verdict: CRITICAL_DEPENDENCY, HIGH_RISK, ELEVATED, MANAGEABLE, or LOW_RISK |
supplyConcentration.score | number | Supply concentration score 0-100 |
supplyConcentration.hhi | number | Herfindahl-Hirschman Index (0-10,000; above 2,500 = highly concentrated) |
supplyConcentration.topSupplierShare | number | Market share of the single largest supplier country (0-1) |
supplyConcentration.supplierCount | number | Number of distinct supplier countries in trade data |
supplyConcentration.concentrationLevel | string | DIVERSIFIED, MODERATE, CONCENTRATED, HIGHLY_CONCENTRATED, or MONOPOLISTIC |
supplyConcentration.signals | array | Human-readable concentration risk signals |
geopolitical.score | number | Geopolitical fragility score 0-100 |
geopolitical.sanctionedExposure | number | Count of OFAC + OpenSanctions hits for supply chain entities |
geopolitical.fragileStateExposure | number | Count of fragile state indicators from World Bank data |
geopolitical.fragilityLevel | string | STABLE, LOW_RISK, MODERATE, FRAGILE, or CRITICAL |
geopolitical.signals | array | Human-readable geopolitical risk signals |
substitution.score | number | Substitution readiness score 0-100 (higher = more alternatives available) |
substitution.patentCount | number | Total alternative-material patents found across USPTO and EPO |
substitution.alternativeMaterials | number | Patents specifically targeting substitution or replacement |
substitution.readinessLevel | string | NO_ALTERNATIVES, EARLY_RESEARCH, DEVELOPING, AVAILABLE, or MATURE |
substitution.signals | array | Human-readable substitution landscape signals |
allSignals | array | Combined signals from all three scoring models |
recommendations | array | Prioritized supply chain risk mitigation actions |
How much does it cost to analyze critical mineral dependency?
This MCP server uses pay-per-event pricing — every tool call costs $0.045. Platform compute costs are included. There are no monthly minimums, no subscription tiers, and no setup fees.
| Scenario | Tool calls | Cost per call | Total cost |
|---|---|---|---|
| Single mineral quick check | 1 | $0.045 | $0.045 |
| Targeted assessment (3 tools) | 3 | $0.045 | $0.135 |
| Full mineral review (all 7 tools) | 7 | $0.045 | $0.315 |
| Weekly monitoring (5 minerals) | 35 | $0.045 | $1.58 |
| Monthly portfolio (20 minerals, all tools) | 140 | $0.045 | $6.30 |
You can set a maximum spending limit per run to control costs. The server stops charging when your budget is reached and returns a structured error so your agent can handle the limit gracefully.
Commercial supply chain risk platforms such as Resilinc, Everstream Analytics, and Bloomberg Supply Chain Intelligence charge $25,000-$100,000 per year for similar critical minerals data. With this MCP server, most research teams spend $5-$20 per month with no commitment.
Apify's free tier includes $5 of monthly credits — enough to run approximately 110 tool calls before any payment is required.
Connect this MCP server
Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"critical-minerals-dependency": {
"url": "https://critical-minerals-dependency-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor / Windsurf / Cline
Add the MCP server in your editor's MCP settings panel:
- URL:
https://critical-minerals-dependency-mcp.apify.actor/mcp - Auth: Bearer token with your Apify API token
Python (via HTTP)
import httpx
import json
response = httpx.post(
"https://critical-minerals-dependency-mcp.apify.actor/mcp",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN",
},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "mineral_dependency_report",
"arguments": {
"mineral": "cobalt",
"industry": "EV batteries"
}
},
"id": 1
}
)
result = response.json()
report = json.loads(result["result"]["content"][0]["text"])
print(f"Mineral: {report['mineral']}")
print(f"Verdict: {report['verdict']} (Score: {report['compositeScore']})")
print(f"HHI: {report['supplyConcentration']['hhi']}")
print(f"Recommendations: {report['recommendations']}")
JavaScript
const response = await fetch(
"https://critical-minerals-dependency-mcp.apify.actor/mcp",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN",
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "supply_concentration_analysis",
arguments: { mineral: "gallium" },
},
id: 1,
}),
}
);
const data = await response.json();
const result = JSON.parse(data.result.content[0].text);
console.log(`Concentration: ${result.supplyConcentration.concentrationLevel}`);
console.log(`HHI: ${result.supplyConcentration.hhi}`);
console.log(`Top supplier share: ${(result.supplyConcentration.topSupplierShare * 100).toFixed(0)}%`);
cURL
# Full dependency report
curl -X POST "https://critical-minerals-dependency-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"mineral_dependency_report","arguments":{"mineral":"lithium","industry":"EV batteries"}},"id":1}'
# Sanctions check for a mining entity
curl -X POST "https://critical-minerals-dependency-mcp.apify.actor/mcp" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"sanctions_exposure_check","arguments":{"entity":"Congo Dongfang Mining","mineral":"cobalt"}},"id":2}'
How Critical Minerals Dependency MCP works
Phase 1: parallel source orchestration
Every tool call dispatches parallel requests to relevant data sources using Promise.all. The full mineral_dependency_report tool queries all 8 sources simultaneously: UN COMTRADE (queried as {mineral} ore mineral), OFAC sanctions, OpenSanctions, USPTO patents, EPO patents, World Bank indicators, IMF economic data, and OECD statistics. Parallel execution keeps total latency under 60 seconds even when all 8 sources are active. Focused tools like supply_concentration_analysis query only COMTRADE and OECD, completing faster.
Phase 2: HHI concentration scoring
The supply concentration model aggregates COMTRADE trade values by reporter country, calculates each country's share of total trade volume, and computes the Herfindahl-Hirschman Index as the sum of squared shares scaled to 0-10,000. The HHI is then normalized to a 0-100 score. Contribution breakdown: HHI score (max 50 points) + high-risk country exposure (max 30 points, weighted by trade share to the six flagged nations) + supplier diversity penalty (max 20 points, with fewer than 3 supplier countries scoring maximum risk). The concentration level label is assigned at HHI thresholds of 1,500, 2,500, 4,000, and 8,000.
Phase 3: geopolitical fragility scoring
The geopolitical model combines four signals: OFAC and OpenSanctions hits (max 35 points, 5 points per hit), World Bank governance indicator analysis scanning for "governance", "stability", "rule of law", "conflict", and "fragil" terms in indicator names (max 25 points), IMF macroeconomic instability from inflation above 10%, debt-to-GDP above 80%, and negative reserves (max 20 points), and an OECD governance proxy that deducts points for positive governance data, defaulting to a moderate score if no OECD data is returned (max 20 points).
Phase 4: substitution readiness and composite scoring
The substitution model scans USPTO and EPO patents for 10 alternative-material keywords including "substitut", "replac", "alternative", "recycl", "synthetic", "biomass", "sodium", "iron phosphate", and "solid state". It counts matching patents (max 40 points), unique assignee organizations as a breadth proxy (max 30 points), and total patent volume (max 30 points). The composite score weights supply concentration at 35%, geopolitical fragility at 35%, and the inverted substitution score (100 minus substitution readiness) at 30%. An override rule escalates MONOPOLISTIC concentration combined with 2+ sanctions hits to CRITICAL_DEPENDENCY regardless of the composite.
Tips for best results
-
Start with
mineral_dependency_reportbefore drilling down. The full report runs all 8 sources in parallel and costs the same $0.045 as any focused tool. Use the composite score and signals to decide which dimension warrants a deeper follow-up with a focused tool. -
Include industry context for more targeted COMTRADE queries. Specifying "EV batteries" or "semiconductor" alongside the mineral name focuses the trade flow query and returns more relevant data. Generic mineral queries return broader commodity trade data.
-
Use
compare_mineral_risksto build a risk register. Call it once per mineral across your supply chain portfolio. Each call returns concentrationLevel, fragilityLevel, and substitutionLevel as enum strings — easy to sort and rank programmatically. -
Run
sanctions_exposure_checkon entity names, not just countries. Screen specific mining companies and trading counterparties by name (e.g., "Glencore Congo Operations") to catch entity-level sanctions hits that country-level screening misses. -
Monitor HHI drift with weekly
supply_concentration_analysisruns. Store thehhivalue each week and alert when it crosses 2,500 (concentrated) or 4,000 (highly concentrated). COMTRADE data updates on a rolling basis, so periodic checks catch emerging concentration. -
Cross-reference substitution readiness with your procurement horizon. A DEVELOPING or EARLY_RESEARCH substitution level means viable alternatives are at least 5-10 years away. Factor this into long-term contract and strategic reserve decisions.
-
Pair with Waterfall Contact Enrichment to find sourcing contacts at mining companies identified through supply concentration analysis.
Combine with other Apify actors
| Actor | How to combine |
|---|---|
| WHOIS Domain Lookup | Verify mining company domains before screening entities in sanctions_exposure_check |
| Company Deep Research | Deep background on mining companies identified as high-concentration suppliers |
| Waterfall Contact Enrichment | Find procurement and sourcing contacts at alternative supplier companies |
| B2B Lead Qualifier | Score alternative supplier candidates identified through substitution analysis |
| Website Tech Stack Detector | Profile mining and materials companies for due diligence |
| Trustpilot Review Analyzer | Assess supplier reputation alongside sanctions and governance risk scores |
| Multi-Review Analyzer | Cross-platform reputation data for mining company due diligence |
Limitations
- COMTRADE data lags by 6-12 months — annual trade statistics are typically published 6-12 months after the reporting period. The HHI reflects the most recently available data, not real-time trade flows.
- Patent search is keyword-based — the substitution readiness score depends on keyword matches in patent titles. Highly technical filings with non-standard terminology may be undercounted.
- No real-time price data — commodity spot prices and futures curves are not included. The IMF data covers broad macroeconomic indicators, not intraday or weekly price movements.
- Sanctions screening is not legal compliance —
sanctions_exposure_checkreturns matched records from OFAC and OpenSanctions for research purposes. It is not a substitute for a certified OFAC compliance screening program. - World Bank governance data is annual — governance indicators update once per year. They do not reflect sudden political changes, coups, or regulatory shifts that occurred in the past 12 months.
- HHI requires sufficient COMTRADE results — for obscure commodities or HS codes with sparse COMTRADE data, the HHI may undercount supplier diversity. Check
supplierCountin the output; values below 5 warrant caution. - No mining company database — this server identifies supply concentration by country, not by individual mining company. Company-level concentration requires separate due diligence.
- Patent assignee deduplication is imperfect — the substitution breadth score uses string matching on assignee names. Subsidiary names may inflate the assignee count.
Integrations
- Zapier — trigger mineral risk assessments from procurement workflow events and route HIGH_RISK verdicts to supply chain managers
- Make — build automated monitoring pipelines that run weekly
supply_concentration_analysisand post HHI drift alerts to Slack - Google Sheets — export mineral risk registers with composite scores and verdicts for executive reporting
- Apify API — call tools programmatically from Python or JavaScript supply chain risk platforms
- Webhooks — receive run completion notifications and push CRITICAL_DEPENDENCY verdicts to incident management systems
- LangChain / LlamaIndex — connect this MCP server to LLM agents for autonomous supply chain risk monitoring and reporting workflows
Troubleshooting
Composite score is lower than expected for a known high-risk mineral. The HHI calculation depends on the volume and quality of COMTRADE records returned. If COMTRADE returns sparse data (check supplierCount — values below 3 indicate limited data), the score may underweight concentration. Try rephrasing the mineral name (e.g., "rare earth elements" instead of "REE", or "cobaltite" instead of "cobalt ore") to improve COMTRADE match rates.
sanctions_exposure_check returns 0 hits for an entity I know is sanctioned. OFAC and OpenSanctions use formal legal entity names. Try the entity's full registered name, including legal form (e.g., "JSC Norilsk Nickel" not "Norilsk"). Also try the country name alone to confirm the data source is returning results at all.
Substitution readiness score is 0 or very low for a mineral with known alternatives. The score uses keyword matching on patent titles. Some alternative technologies (e.g., sodium-ion batteries as a lithium alternative) file under the application technology name rather than the mineral being replaced. Try calling substitution_patent_landscape with the application parameter set to the specific technology area (e.g., "batteries", "permanent magnets") for better patent recall.
Tool call times out. Full mineral_dependency_report calls query 8 sources in parallel and may take 30-60 seconds under load. If your MCP client has a short timeout configured, increase it to at least 90 seconds. Alternatively, use focused single-source tools (supply_concentration_analysis, sanctions_exposure_check) for faster responses.
Spending limit error returned mid-session. If your Apify account spending limit or run-level budget is reached, the server returns {"error": true, "message": "Spending limit reached"} as structured JSON. Increase your run budget in Apify Console or split assessments across multiple runs.
Responsible use
- All data sources accessed by this MCP server are publicly available international databases (UN COMTRADE, OFAC, OpenSanctions, USPTO, EPO, World Bank, IMF, OECD).
- Sanctions screening results are for research and due diligence purposes only — they are not a certified compliance screening service and should not be used as the sole basis for legal OFAC compliance decisions.
- Do not use this server to facilitate circumvention of sanctions, export controls, or other trade restrictions.
- Comply with the terms of service of each underlying data source.
- For guidance on data use legality, see Apify's web scraping guide.
FAQ
What critical minerals can this MCP server analyze? Any mineral with international trade data in UN COMTRADE. The scoring models are calibrated for 20 minerals explicitly tracked in the source code — lithium, cobalt, nickel, manganese, graphite, rare earths, tungsten, titanium, vanadium, gallium, germanium, indium, antimony, tantalum, niobium, and platinum group metals (platinum, palladium, rhodium, iridium, chromium) — but the tools accept any mineral name string.
How is the Herfindahl-Hirschman Index (HHI) calculated here? The HHI is computed from UN COMTRADE trade flow values: each supplier country's share of total trade volume is squared and summed across all suppliers. The result ranges from 0 to 10,000. A score above 2,500 indicates a highly concentrated supply; above 4,000 indicates near-monopolistic conditions. The server normalizes HHI to 0-100 for the composite score calculation.
How is this different from commercial platforms like Resilinc or Everstream Analytics? Commercial platforms offer dedicated analyst teams, proprietary supplier databases, and event monitoring at $25,000-$100,000 per year. This MCP server provides algorithmic supply chain risk scoring from public data sources at $0.045 per tool call — appropriate for research teams, policy analysts, and AI agents that need quantified scores and signals rather than managed services.
Can I analyze multiple minerals in one session?
Yes. Call any tool multiple times with different mineral inputs. For comparative risk ranking, use compare_mineral_risks for each mineral and sort results by compositeScore. There is no session state — each call is independent.
How current is the trade flow data used for HHI?
UN COMTRADE annual data typically lags by 6-12 months. Monthly data, where available, may lag by 3-6 months. The supply_concentration_analysis tool reflects the most recently available data, not real-time trade flows. Use it to establish baseline concentration scores and monitor for drift over time.
Is it legal to use OFAC and OpenSanctions data via this server? Yes. OFAC publishes its Specially Designated Nationals list as a public government database, and OpenSanctions aggregates data from 100+ public sanctions programs. Accessing and analyzing this data for research and compliance due diligence is legal. This server is not a certified OFAC compliance program — consult legal counsel for formal compliance requirements.
Can I set a spending limit so I do not overspend?
Yes. Each tool call checks Actor.charge() and returns a structured error JSON object if the spending limit is reached. Set your run-level budget in Apify Console before triggering a large assessment session.
How long does a typical tool call take?
Focused tools (supply_concentration_analysis, sanctions_exposure_check) typically complete in 15-30 seconds. The full mineral_dependency_report, which queries all 8 sources in parallel, typically completes in 30-60 seconds. Configure your MCP client timeout to at least 90 seconds.
What MCP clients does this server support? The server implements the Model Context Protocol over HTTP with StreamableHTTP transport. It is compatible with Claude Desktop, Cursor, Windsurf, Cline, and any MCP-compliant client that supports HTTP-based servers with Bearer token authentication.
Can I use this server in an automated AI agent pipeline?
Yes. The server is designed for AI agent use. All tool responses are structured JSON with consistent field names and enum values (CRITICAL_DEPENDENCY, HIGH_RISK, etc.), making them easy to parse and route programmatically. Use recommendations array values to drive agent decision logic.
What happens if a data source returns no results?
Each source is queried independently. If a source returns an empty array (due to a network issue or no matching records), the scoring model skips that source's contribution rather than failing the entire assessment. The output reflects what data was available — check supplierCount and patentCount to assess data completeness.
How accurate is the geopolitical fragility score? The score is a quantitative proxy based on World Bank governance indicator values, sanctions hit counts, and IMF macroeconomic signals — not a human analyst's judgment. It is most reliable for well-documented supplier countries with substantial World Bank and IMF data coverage. For countries with sparse indicator coverage, the score defaults to a moderate baseline.
Help us improve
If you encounter issues, you can help us debug faster by enabling run sharing in your Apify account:
- Go to Account Settings > Privacy
- Enable Share runs with public Actor creators
This lets us see your run details when something goes wrong, so we can fix issues faster. Your data is only visible to the actor developer, not publicly.
Support
Found a bug or have a feature request? Open an issue in the Issues tab on this actor's page. For custom mineral risk models, enterprise integrations, or bespoke scoring calibrations, reach out through the Apify platform.
How it works
Configure
Set your parameters in the Apify Console or pass them via API.
Run
Click Start, trigger via API, webhook, or set up a schedule.
Get results
Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.
Use cases
Sales Teams
Build targeted lead lists with verified contact data.
Marketing
Research competitors and identify outreach opportunities.
Data Teams
Automate data collection pipelines with scheduled runs.
Developers
Integrate via REST API or use as an MCP tool in AI workflows.
Related actors
Bulk Email Verifier
Verify email deliverability at scale. MX record validation, SMTP mailbox checks, disposable and role-based detection, catch-all flagging, and confidence scoring. No external API costs.
GitHub Repository Search
Search GitHub repositories by keyword, language, topic, stars, forks. Sort by stars, forks, or recently updated. Returns metadata, topics, license, owner info, URLs. Free API, optional token for higher limits.
Website Content to Markdown
Convert any website to clean Markdown for RAG pipelines, LLM training, and AI apps. Crawls pages, strips boilerplate, preserves headings, tables, and code blocks. GFM support.
Website Tech Stack Detector
Detect 100+ web technologies on any website. Identifies CMS, frameworks, analytics, marketing tools, chat widgets, CDNs, payment systems, hosting, and more. Batch-analyze multiple sites with version detection and confidence scoring.
Ready to try Critical Minerals Dependency MCP Server?
Start for free on Apify. No credit card required.
Open on Apify Store