Critical Minerals Dependency
About
Critical minerals supply chain risk intelligence — quantified, sourced, and ready for your AI agent.
Details
- Author
- apifyforge
- Downloads
- 105
- Categories
- Other
Jump to
- Parallel orchestration of 8 public data sources per assessment
- Herfindahl-Hirschman Index (HHI) calculation from live trade flows
- Composite Dependency Risk Score (0-100) with verdict labels
- Geopolitical fragility scoring combining sanctions, governance, and macro data
- Substitution Readiness Index measured from patent filing velocity
- Override logic: MONOPOLISTIC concentration + 2+ sanctions hits escalates to CRITICAL_DEPENDENCY
- Spending limit enforcement and scheduled runs via Apify platform
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Critical Minerals DependencyCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server URL (https://ryanclinton--critical-minerals-dependency-mcp.apify.actor/mcp) and your Apify API token to your MCP client (Claude Desktop, Cursor, or Windsurf). Then call one of seven MCP tools (e.g., mineral_dependency_report) with the mineral name and optional context to receive a structured JSON verdict with sub-scores and recommendations.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"critical minerals dependency": {
"critical-minerals-dependency-mcp": {
"url": "https://ryanclinton--critical-minerals-dependency-mcp.apify.actor/mcp"
}
}
}
}
McpServers
{
"critical-minerals-dependency-mcp": {
"url": "https://ryanclinton--critical-minerals-dependency-mcp.apify.actor/mcp"
}
}
Critical Minerals Dependency MCP Server
> View on ApifyForge | Use on Apify Store
---
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf):
{
"mcpServers": {
"critical-minerals-dependency-mcp": {
"url": "https://ryanclinton--critical-minerals-dependency-mcp.apify.actor/mcp"
}
}
}
---
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.all for 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
1. 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.
2. Choose your tool — use mineral_dependency_report for a full assessment, or a focused tool like supply_concentration_analysis or sanctions_exposure_check for a specific dimension.
3. 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.
4. 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_report runs 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_analysis weekly and sanctions_exposure_check monthly to track drift without paying for a full report each time
- Screen entities before trade — run sanctions_exposure_check on 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
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



