Critical Raw Minerals & ESG Compliance Oracle(x402)
This server exposes MCP tools for verifying critical mineral provenance and compliance, plus agent feedback and trade precedent lookup.
Verify lithium, nickel, and cobalt origins against geofencing, mass-balance, tax, human-rights, and FEOC rules.
Verify generic mineral lots with 12-trap regulatory heuristics across multiple minerals and countries.
Generate composite EV battery passports (NCM) with IRA 30D, EU Battery Regulation, carbon footprint, and EIP-712/Merkle attestation.
Query trade jurisprudence precedents and current regulatory monitoring status.
Submit and list autonomous agent evolution proposals/feedback.
Supports automated x402 Web3 micro-settlements in USDC on the Polygon network for oracle queries, including HTTP 402 payment challenges and EIP-712/EIP-191 signature verification.
EV Battery Critical Minerals & Provenance Oracle (minerals-oracle-x402)
๐ค 100% Pure Autonomous Agent-Native (M2M Exclusive) Critical Minerals Supply-Chain & Bilateral Trade Oracle.
Built strictly for autonomous AI agents, multi-agent swarms, and algorithmic trading execution. Humans and fiat credit cards are strictly prohibited. All settlements execute machine-to-machine via Native USDC across Polygon, Base, and Arbitrum One, backed by cryptographic on-chain transaction receipt RPC verification, anti-replay guards, and EIP-712 Dual-Attestation bound to the Security Gate x402 and EU AI Act (Article 50).
Pure Autonomous Agent-Native Architecture (M2M Exclusive)
minerals-oracle-x402 is engineered from first principles for the Autonomous Agentic Economy:
flowchart LR
A["๐ค Buyer AI Agent<br/>(ElizaOS / AutoGen / LangChain)"] -->|"Bilateral Deal Proposal<br/>+ EIP-712 Signature"| B["โก A2A Trade Engine<br/>(/api/v1/trade/deals)"]
C["๐ค Seller AI Agent<br/>(Commodity Mining Bot)"] -->|"Counter-Sign / eBL Audit<br/>+ Dual Signature"| B
B -->|"Real-Time Verification<br/>+ 16-Trap Geofence & FEOC"| D["๐ก๏ธ Minerals Oracle Core<br/>(Multi-Chain EVM)"]
D -->|"Gasless Settlement<br/>or 10% Gain-Share"| E["๐ฆ Agent Session Vault<br/>(Polygon / Base / Arbitrum)"]
D -->|"Fail-Closed Scan & FICO"| F["๐ช Security Gate x402<br/>(EU AI Act Art. 50 Attestation)"]Zero Human Gateways (No KYC, No Credit Cards, No Passwords):
Autonomous self-serve onboarding (
POST /api/v1/agent/onboard) instantly provisions an agent vault with free trial queries.Authentication is strictly cryptographic via
X-Agent-Vault-Keyor EIP-712 wallet signatures.
A2A (Agent-to-Agent) Bilateral Contract & Negotiation Engine (
app/a2a_deal_engine.py):Machine-readable deal lifecycle:
PROPOSED$\rightarrow$DUAL_SIGNED_CONFIRMED$\rightarrow$VERIFIED(orREJECTED/CANCELLED).Electronic Bill of Lading (eBL) cryptographic digest binding, IMO vessel tracking, and real-time sanctions screening.
Hybrid 2-Track Settlement: Combines micro-metered oracle queries ($0.005 USDC) with automated 10% Gain-Share on realized logistics & tariff savings ($10,000 cap).
Multi-Chain Real-Time RPC Receipt Verification & Replay Defense (
app/x402_verifier.py):Queries live EVM nodes on Polygon, Base, and Arbitrum with a strict 3.0-second timeout bound.
Decodes native USDC
Transferevents and enforces immutable replay attack caching (logs/redeemed_tx_hashes.json) with thread-safe atomic file replacement.
Agent Session Vault (
app/agent_session_vault.py):High-frequency trading agents can lock USDC once and execute dozens of queries gas-free at sub-millisecond latency.
Automatic refund of unused balances on session close with zero-reentrancy protection.
Security Gate x402 & ElizaOS Fail-Closed Integration (
app/security_gate_client.py):Zero-trust prompt injection pre-filtering, Agent FICO credit scoring, and EU AI Act Article 50 Dual-Attestations.
Enforces Fail-Closed safety when strict mode is active.
Related MCP server: hyperd-mcp
๐ Deployed & Verified Multi-Chain Smart Contracts
All contracts are deployed on live mainnets and 100% verified (Green Checkmark) with open-source Solidity code and ABIs:
Network | Smart Contract | Mainnet Deployed Address | Explorer Status |
Polygon Mainnet (137) |
| โ Verified | |
| โ Verified | ||
| โ Verified | ||
Base Mainnet (8453) |
| โ Verified | |
| โ Verified | ||
| โ Verified | ||
Arbitrum One (42161) |
| โ Verified | |
| โ Verified | ||
| โ Verified |
1. Composite EV Battery Master Passport Orchestrator (app/composite_battery_pipeline.py)
Synthesizes the 3 primary battery critical minerals into a unified cell/pack compliance attestation:
Cathode Chemistries: NCM 811 (80% Ni, 10% Co, 10% Mn), NCM 622, NCM 523.
US IRA 30D Critical Minerals $3,750 Tax Credit Formula: $$\text{Procurement Value} = (\text{Li Tons} \times $18,500) + (\text{Ni Tons} \times $17,000) + (\text{Co Tons} \times $32,000)$$ $$\text{FTA Qualifying Ratio} = \frac{\text{Value}{\text{AUS (FTA)}}}{\text{Value}{\text{Total}}} \times 100% \ge 50.0%$$
Strict Zero-Tolerance FEOC Taint Propagation: If any mineral component carries $\ge 25%$ covered nation (China/Russia/Iran/North Korea) equity or operational control, the entire battery pack is disqualified (
FLAG_COMPOSITE_FEOC_TAINT).EU Battery Regulation (2023/1542) & CBAM Scope 1-3 Carbon Footprint:
Captive coal power smelting in Indonesian HPAL triggers
FLAG_EU_BATTERY_CBAM_SURCHARGE(+26.5 kg COโe/kWh penalty).
Cryptographic Merkle Tree & Polygon EIP-712 Master Signature: $$\text{Merkle Root} = \text{0x} + \text{SHA256}(\text{Leaf}{\text{Li}} + \text{Leaf}{\text{Ni}} + \text{Leaf}_{\text{Co}})$$ Signs typed structured data binding
battery_pack_id,chemistry,merkle_root, composite score, and legal disclaimer terms.
2. Dedicated Provenance Pipelines for Core Minerals
flowchart TD
subgraph Mining["1. Global Extraction & Geofencing"]
Li["๐ฆ๐บ Australia (Greenbushes / Pilgangoora)<br/>WA MINEDEX GIS Geofencing"]
Ni["๐ฎ๐ฉ Indonesia (IMIP Morowali / IWIP)<br/>Sulawesi/Halmahera Geofencing"]
Co["๐จ๐ฉ DRC (Kamoto KCC / Tenke / Mutanda)<br/>Katanga Copperbelt Geofencing"]
end
subgraph Processing["2. Stoichiometric Mass Balance & Traps"]
LiProc["Spodumene to LiOH (7.5:1 Yield)<br/>Anti-Transshipment Geofencing"]
NiProc["Limonite to MHP (31.34:1 Yield)<br/>ESDM SIMBARA NTPN Tax Clear<br/>EU CBAM Coal Smelting Audit"]
CoProc["Heterogenite to Hydroxide (23.53:1 Yield)<br/>CEEC Barcode Seal Verification<br/>ILO 138/182 Zero Child Labor Audit"]
end
subgraph Composite["3. Composite Battery Orchestrator"]
Master["NCM 811 Pack Synthesis<br/>IRA FTA Value Ratio (>= 50%)<br/>FEOC Taint Propagation (< 25%)<br/>EU Cradle-to-Gate Carbon Footprint"]
end
subgraph Attestation["4. Cryptographic Proof & Settlement"]
Merkle["Merkle Tree Synthesis<br/>sha256(Leaf_Li + Leaf_Ni + Leaf_Co)"]
Onchain["Polygon EIP-712 Master Signature<br/>x402 0.10 USDC Gasless Settlement"]
end
Li --> LiProc --> Master
Ni --> NiProc --> Master
Co --> CoProc --> Master
Master --> Merkle --> Onchain๐ฆ๐บ Australian Spodumene Lithium Pipeline (app/lithium_pipeline.py)
GIS Geofencing: Validates WA DMIRS MINEDEX tenement boundaries (e.g. Greenbushes
M01/03, PilgangooraM45/1256).Stoichiometric Mass Balance: Enforces strict theoretical yield ratio ($7.5 \pm 0.8\text{t}$ Spodumene concentrate $\rightarrow$ $1.0\text{t}$ Battery-Grade LiOHยทHโO).
Defenses: Defends against Trap 13 (Chinese transshipment relabeling) and Trap 14 (non-linear recovery exaggeration).
๐ฎ๐ฉ Indonesian Nickel MHP Pipeline (app/nickel_pipeline.py)
Concession Geofencing: Monitors Central Sulawesi (IMIP Morowali) and North Maluku (IWIP Weda Bay) mining polygons.
Fiscal Verification: Validates Ministry of Energy (ESDM) SIMBARA NTPN tax receipt codes and Bank Indonesia 30% forex export deposits (DHE BI).
EU CBAM & Carbon Duty: Detects captive coal power plant usage and flags European Carbon Border Adjustment liabilities.
๐จ๐ฉ DRC Cobalt Hydroxide Pipeline (app/cobalt_pipeline.py)
Artisanal Segregation (Trap 1): Blocks uncertified artisanal mining (ASM) co-mingling via Entreprise Gรฉnรฉrale du Cobalt (EGC) custody validation.
CEEC Security Seals: Cryptographically authenticates Centre d'Expertise (CEEC) tamper-proof barcode export seals.
ILO Human Rights Diligence: Enforces mandatory independent audits for ILO Convention 138 (Minimum Age) and 182 (Worst Forms of Child Labor).
๐จ๐ฑ Chilean Copper Cathode Pipeline (app/copper_pipeline.py)
Concession Geofencing: Monitors major porphyry operations (Codelco Chuquicamata, El Teniente, Andina, BHP Escondida, Antofagasta Los Pelambres, Cerro Verde).
Smelter Acid Balance (Trap 16): Validates sulfuric acid ($H_2SO_4$) reagent supply balance ($\le 5.0%$ deficit tolerance).
Grid & Purity Standard: Certifies ASTM B115 Grade 1 electrolytic cathode purity ($\ge 99.9935%$) for AI datacenter HVDC power grids and COCHILCO export clearances.
๐ฒ๐ฝ Mexican Silver Dorรฉ Pipeline (app/silver_pipeline.py)
Concession Geofencing: Monitors high-grade silver operations (Endeavour Silver Terronera, Fresnillo, Antamina, Uchucchacua, Los Pelambres).
N-Type TOPCon Solar Standard (Trap 16): Enforces ultra-pure $\ge 99.99%$ silver powder certification for next-gen solar PV metallization paste.
Security & LBMA Assurance: Defends against cartel-tainted artisanal extraction and validates LBMA Good Delivery refiner accreditation.
3. Autonomous Agent Operations Terminal & Telemetry HUD
The built-in M2M console (app/static/index.html served at /dashboard) provides an agent-dedicated compliance cockpit (Pure English RFC-compliant):
Tab | Key Features |
๐ NCM 811 Composite Master Passport | Real-time IRA 30D eligibility, FTA value progress bar, EU Battery Passport approval status, Carbon Footprint gauge, on-chain Merkle Root & EIP-712 JSON terminal |
๐ฆ๐บ Australian Lithium Observatory | Hard-rock mine selection (Greenbushes, Pilgangoora, Mt Marion), ore feed vs LiOH yield calculation |
๐ฎ๐ฉ Indonesian Nickel MHP Observatory | IMIP/IWIP concession verification, ESDM SIMBARA tax receipt verification, captive coal power toggle |
๐จ๐ฉ DRC Cobalt Hydroxide Observatory | Kamoto KCC/Tenke concession check, CEEC barcode verification, ILO 138/182 child labor audit toggle |
One-Click Real-World Scenario Presets
โ Clean Baseline (
clean): Australia Greenbushes + Indonesia Clean IMIP + DRC Kamoto KCC $\rightarrow$ IRA Eligible ($3,750), EU Passport Approved, Low Carbon (51.5 kg COโe/kWh).โ ๏ธ FEOC Taint Trap (
feoc): Injects 80% Chinese state ownership into DRC Cobalt $\rightarrow$ Entire battery pack disqualified under FEOC 25% threshold.โ ๏ธ Captive Coal CBAM Trap (
cbam): Injects captive coal power smelting in Indonesia $\rightarrow$ EU CBAM carbon tariff liabilities triggered.โ Child Labor Trap (
child): Injects uncertified artisanal pit ore in DRC $\rightarrow$ EU Battery Passport immediate rejection.๐จ Trap 15 Tech Defense (
trap15): Evaluates Chinese Mineral Resources Law extraterritorial licensing taint ($>50%$ SX tech dependency without MOFCOM clearance).โก Copper HVDC Grid Ready (
copper): Codelco Chuquicamata copper cathode audit, $H_2SO_4$ acid balance, and ASTM B115 Grade 1 HVDC power grid certification.โ๏ธ Silver TOPCon Solar PV (
silver): Endeavour Silver Terronera dorรฉ audit, LBMA Good Delivery, and N-Type TOPCon $\ge 99.99%$ solar paste verification.
๐ค Model Context Protocol (FastMCP) Tools
Integrates natively with Claude Desktop, Cursor, Gemini, and autonomous AI agents:
{
"mcpServers": {
"minerals-oracle-x402": {
"command": "python",
"args": ["-m", "app.mcp_stdio"],
"env": {
"ORACLE_API_KEY": "YOUR_AGENT_KEY"
}
}
}
}Supported MCP Tools
verify_composite_battery_passport: Evaluates end-to-end NCM EV battery packs and generates Master Merkle EIP-712 attestations.verify_lithium_origin: Verifies Australian hard-rock spodumene extraction and conversion.verify_nickel_origin: Verifies Indonesian laterite limonite HPAL MHP provenance and SIMBARA tax clearance.verify_cobalt_origin: Verifies DRC Katanga heterogenite cobalt hydroxide provenance, CEEC seals, and child labor audits.verify_copper_origin: Verifies Chilean/South American copper cathode provenance, COCHILCO quotas, H2SO4 acid balance, and ASTM B115 HVDC compliance.verify_silver_origin: Verifies Mexican/South American silver dorรฉ provenance, LBMA certification, N-Type TOPCon solar PV 99.99% purity, and cartel defense.verify_mineral_compliance: Legacy 7-pillar compliance audit engine for individual mineral lots.minerals_submit_agent_feedback: Zero-fee protocol feedback submission for autonomous agent evolution.
๐ณ Autonomous x402 Web3 Settlement on Polygon
All M2M API invocations support micro-payments in USDC on Polygon (Chain ID 137):
Composite Battery Master Verification: 0.10 USDC (
PricingTier.STANDARD)Dedicated Mineral Lot Verification: 0.05 USDC (
PricingTier.LIGHT)Polygon USDC Address:
0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359Treasury Recipient:
0xA185B43fDD19619f99952AAed6eabf1029bF36a1Agent Vault Fast-Path: Zero-latency verification via pre-funded
X-Agent-Vault-Keyheaders.
๐ Quick Start & Local Execution
1. Clone & Install Dependencies
git clone https://github.com/nohosa001-pixel/minerals-oracle-x402.git
cd minerals-oracle-x402
python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux/macOS:
source .venv/bin/activate
pip install -e .2. Run Tests (173 Automated Tests - 100% Passing)
# Run full regression suite
pytest tests/3. Launch Local Server & Web Observatory
uvicorn app.main:app --host 127.0.0.1 --port 8000 --reloadNavigate to:
Korean Core Node: http://localhost:8000/ko
Global English Node: http://localhost:8000/
API Documentation: http://localhost:8000/docs
๐ Full Technical Specifications
For full mathematical formulations, threshold constants, legal citations, and EIP-712 type declarations, consult the Global Battery Minerals Compliance Specification v2.4.0.
๐ License
MIT License. Copyright (c) 2026 Minerals Oracle x402 Project Contributors.
Available Tools
32 toolscalculate_trade_tariffsC
Resolves WCO 6-digit Harmonized System (HS) Code, MFN base duty, applicable FTA preferential duty, US Section 301 punitive tariffs, and EU CBAM benchmarks.
| Name | Required | Description | Default |
|---|---|---|---|
| mineral_type | Yes | Target mineral commodity | |
| importer_jurisdiction | No | Importing destination (USA, EU, KOR, JPN, CHN) | USA |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It never says whether this is a pure read/computation with no side effects, whether it requires auth or a session, or whether results are cached or rate-limited. Listing outputs is not the same as disclosing behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with zero filler, front-loaded on the resolving action. It is efficient and readable, though the comma-separated output list reads slightly like a spec sheet rather than a purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully signals the returned dimensions (HS code, duty layers, CBAM), which covers part of the return-value gap. However, it omits units, currency, how jurisdiction swaps regime logic, and the default behavior, so it is only partially complete for a 2-param calculation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters documented inline, so the baseline is 3. The description adds no per-parameter meaning (e.g., how importer_jurisdiction changes the duty regime or what mineral_type values are accepted), leaving the schema to do all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Resolves') and enumerates the concrete outputs: HS code, MFN base duty, FTA preferential duty, Section 301 tariffs, and CBAM benchmarks. This clearly separates it from sibling lookup/verification tools, though it does not explicitly contrast itself with the overlapping 'get_global_trade_flows'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer for adjacent tasks like route/freight estimation or origin verification. The agent must infer the trigger entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_a2a_trade_dealB
Seller AI agent revokes or cancels a pending trade deal proposal before buyer countersignature.
| Name | Required | Description | Default |
|---|---|---|---|
| deal_id | Yes | Trade deal identifier to cancel | |
| seller_signature | No | Optional cryptographic cancellation signature | |
| cancellation_reason | No | Reason for proposal revocation | |
| seller_agent_address | Yes | Seller agent EVM address executing cancellation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It tells us the actor is the seller agent and the timing window, but says nothing about whether cancellation is terminal/irreversible, what happens to any escrow or locked state, what permission or signature is required, or on-chain implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the actor, action, and precondition are all in the first clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for routing but thin for a mutation with no annotations and no output schema: the agent still lacks confirmation of irreversibility, post-cancellation state, and auth expectations. The timing constraint is the one genuinely useful addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (deal_id, seller_agent_address, seller_signature, cancellation_reason) are already documented in the schema. The description adds only the seller-actor framing, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('revokes or cancels') plus resource ('pending trade deal proposal') with a scoping condition ('before buyer countersignature') that separates it from post-signature siblings like reject_a2a_trade_deal and dual_sign_trade_deal. It does not name those siblings explicitly, so full differentiation still requires reading the other definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'before buyer countersignature' clause implies the when-to-use window, but no alternative tool is named and no prerequisites (e.g., must be the seller agent of record) are stated. The agent must infer from the sibling list that reject_a2a_trade_deal is the buyer-side counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_agent_sessionB
Closes an active agent session, computes refund of unspent balance, and generates an immutable settlement receipt hash.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_address | Yes | Agent EVM wallet address | |
| session_token | Yes | Active session token (asess_...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose meaningful side effects beyond the schema: a refund of unspent balance is computed and an immutable receipt hash is emitted, implying a consequential, effectively irreversible settlement. It still omits auth requirements, what happens to the session state afterward, and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the primary action and its consequences are stated efficiently. It is appropriately sized for a two-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a session-closing mutation with no output schema, the description usefully previews the refund and receipt outputs. However, it leaves out authorization requirements, irreversibility warnings, and error conditions, which matter for a tool that triggers a financial settlement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (agent_address, session_token) are already documented, and the baseline is 3. The description adds no format or semantic detail about either parameter, so it does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Closes an active agent session') and enumerates the resulting effects (refund computation, settlement receipt hash), making the scope clear. It implicitly contrasts with the sibling open_agent_session, but never names the sibling or otherwise differentiates explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as get_agent_session_info or open_agent_session. Usage is only inferred from the word 'close' in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dual_sign_trade_dealA
Buyer AI agent countersigns an existing trade proposal; Oracle mints an immutable 3-party deal attestation seal.
| Name | Required | Description | Default |
|---|---|---|---|
| deal_id | Yes | Canonical trade deal identifier | |
| buyer_signature | Yes | Buyer agent cryptographic signature | |
| buyer_agent_address | Yes | Buyer agent EVM address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the result is an immutable 3-party attestation seal, implying finality and irreversibility, but says nothing about permission requirements, idempotency, failure modes, or whether the buyer signature must match buyer_agent_address.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tightly written sentence with the action front-loaded and the consequential side effect attached. Zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-annotation, no-output-schema mutation tool this is only partially complete: it explains the action and the resulting seal but omits state preconditions (e.g., the deal must be pending), auth/session requirements, and what the caller receives back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters clearly. The description adds no format or syntax detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (countersigns) and resource (an existing trade proposal), plus the resulting effect (Oracle mints a 3-party attestation seal). It contrasts implicitly with propose/reject/cancel siblings by scoping to an already-existing proposal, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'An existing trade proposal' implies the precondition that a deal must already be proposed and that this is the buyer-side completion step, which is useful. However, there is no explicit when-to-use/when-not guidance, no mention of the required session or signature prerequisites, and no routing to siblings like verify_a2a_trade_deal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_maritime_freight_and_carbonC
Calculates maritime voyage distance (nautical miles), transit duration, freight charter costs ($/MT), chokepoint detour surcharges (Red Sea/Panama), IMO CII rating, and EU CBAM carbon costs.
| Name | Required | Description | Default |
|---|---|---|---|
| cii_rating | No | A | |
| mineral_type | Yes | Mineral cargo | |
| origin_country | Yes | Origin country | |
| avoid_chokepoints | No | Chokepoints to avoid (e.g. ['RED_SEA', 'PANAMA_CANAL']) | |
| destination_country | Yes | Destination country | |
| cargo_weight_metric_tons | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does not disclose whether the calculation is read-only, a simulation, dependent on external data, or subject to assumptions โ it only lists output values. This leaves key behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is appropriately sized, though the laundry-list formatting could be slightly improved for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description does help by enumerating expected outputs, but it omits usage context, behavioral assumptions, and prerequisites for a multi-output estimation tool. It is minimally adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the description adds no parameter-level meaning beyond what the schema already provides (e.g., it does not explain mineral_type, origin_country, cargo_weight defaults, or the avoid_chokepoints format). The baseline of 3 is appropriate given the schema carries most of the weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calculates') and enumerates concrete outputs (distance, duration, freight costs, surcharges, CII rating, CBAM costs), making the tool's purpose clear. However, it offers no explicit differentiation from siblings like optimize_mineral_trade_route or calculate_trade_tariffs, which is why it does not reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, when not to, or what alternatives exist. It merely states what is computed, leaving the agent to infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eudr_satellite_mine_auditA
Audits mining concession plot coordinates against EUDR (EU 2023/1115) deforestation cutoff (2020-12-31) and indigenous territory boundaries using multi-satellite radar (Sentinel-1/2 SAR) & Hansen GFC. Generates cryptographic evidence hash and official EU TRACES-NT DDS reference format.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Mine extraction centroid latitude | |
| longitude | Yes | Mine extraction centroid longitude | |
| country_code | No | ISO alpha-2 or alpha-3 country code | ID |
| area_hectares | No | Concession area in hectares | |
| concession_id | No | Optional concession or mine permit identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the data sources (Sentinel-1/2 SAR, Hansen GFC) and outputs (cryptographic evidence hash, EU TRACES-NT DDS reference format), which is real behavioral context. However, it says nothing about permissions/auth, latency, cost, determinism, or whether the audit mutates any state, which for an unannotated tool is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load the purpose and then the methodology/output. Everything earns its place, though the second sentence is packed with acronyms (SAR, GFC, TRACES-NT, DDS) that could be trimmed or expanded for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and five parameters, the description does cover what it does and roughly what it produces. It stops short of the guidance an agent needs to route between it and the numerous verify_* siblings, leaving contextual completeness only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters (latitude, longitude, country_code, area_hectares, concession_id). The description adds no syntactic or semantic detail about the parameters beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audits), a precise resource (mining concession plot coordinates), and the regulatory standard it checks against (EUDR EU 2023/1115, 2020-12-31 cutoff, indigenous territory boundaries). This is clearly distinguishable from the verify_*_origin siblings, which target mineral origin provenance rather than plot-level deforestation audits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The EUDR/compliance framing implies when the tool is relevant, but there is no explicit when-to-use statement, no conditions that select it over verify_mineral_lot_compliance or get_compliance_status, and no exclusions. Usage is left to inference from the regulatory context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_a2a_trade_dealB
Retrieves the full specification, audit notes, and current status of an A2A trade agreement.
| Name | Required | Description | Default |
|---|---|---|---|
| deal_id | Yes | Trade deal identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses what is returned (spec, audit notes, status) and implies a read-only lookup, but says nothing about permissions, behavior when the deal_id is unknown, or sensitivity of the audit notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly written sentence that leads with the verb and lists the returned artifacts. Nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the main carrier of expectations; it names the return contents but omits error behavior, auth requirements, and sibling routing. Adequate for a trivial one-parameter lookup, but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single documented parameter ("Trade deal identifier"). The description adds no format, validation, or sourcing detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Retrieves") and resource ("A2A trade agreement") and even enumerates the returned payload (specification, audit notes, status). It reads as a single-deal lookup, distinguishable from list_a2a_trade_deals, though it never explicitly contrasts itself with verify_a2a_trade_deal or list_a2a_trade_deals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives. The agent must infer that this is for fetching one deal by ID versus listing deals or verifying a deal, which is exactly the routing decision the description should settle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_session_infoA
Queries real-time balance, query capacity, and status for an active session without debiting a fee.
| Name | Required | Description | Default |
|---|---|---|---|
| session_token | Yes | Active session token (asess_...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the call does not debit a fee, a genuine behavioral trait. But it omits whether the operation is read-only, what permissions are needed, and any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the key constraint (no fee) front-loaded and zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter query tool it adequately enumerates the returned values (balance, capacity, status) despite lacking an output schema, and covers the essential prerequisite and cost behavior. Minor gaps remain around permissions and failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter (session_token) is fully documented in the schema, so the description adds no parameter detail. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Queries) and the resources it returns (balance, query capacity, status) scoped to an active session. This is clear and distinguishable from open/close session siblings, though it does not explicitly differentiate itself from the nearby get_agent_vault_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for an active session' implies the prerequisite that a session must already exist, which hints at usage context. However, it gives no explicit when-to-use guidance or comparison against siblings like get_agent_vault_balance or the session lifecycle tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agent_vault_balanceB
Retrieves pre-funded USDC vault balance, total consumed, query count, and remaining query capacity across tiers for an agent.
| Name | Required | Description | Default |
|---|---|---|---|
| session_key | No | Agent session key (vault_key_...) | |
| agent_address | No | Agent Polygon address (0x...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the shape of the returned data (balance, consumed, query count, tier capacity), which is useful since there is no output schema, but it omits the read-only nature, permission/auth requirements, and whether the call is billable or consumes quota.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that packs in the resource and the enumerated return fields with no wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no annotations and no output schema, listing the return fields partially compensates. However, it leaves gaps on when to use it, the required-vs-optional nature of the two identifiers, and any permission constraints โ enough to make it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (session_key, agent_address) are already documented in the schema. The description adds nothing about their semantics โ notably it never clarifies whether either is required or how the two identify the same agent. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Retrieves') and resource ('pre-funded USDC vault balance') and enumerates the returned data points (consumed, query count, remaining capacity across tiers). It is distinguishable from every sibling, none of which touch agent vault balances, though it doesn't explicitly name a sibling it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus alternatives, and no prerequisites stated. The description never explains that a session or registered agent must exist first, nor how it relates to open_agent_session/get_agent_session_info. The agent must infer context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compliance_statusA
Check current regulatory monitoring status across 10 jurisdictions and 12-trap defenses.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. The verb 'check' implies a read-only operation, but the description does not explicitly state that there are no side effects, nor does it mention any rate limits, data freshness, or other behavioral traits. It is an implied safe read, but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the verb and resource. It states the scope (10 jurisdictions, 12-trap defenses) without fluff, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should clarify what the agent will receive, but it does not. It only states the action and scope, not the return format or content. For a status-check tool, an agent needs to know if it gets a list, a summary, or a pass/fail. This is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage (100%). The description does not need to explain parameter meaning since none exist. The baseline of 4 for no parameters is appropriate; the description adds no conflicting information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Check' with a specific resource ('current regulatory monitoring status') and scopes it to '10 jurisdictions and 12-trap defenses', making the tool's purpose clear. It distinguishes itself from siblings like verify_mineral_lot_compliance (specific lot) and list_trade_precedents (historical listings) by focusing on current status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No exclusions, prerequisites, or conditions are mentioned. The description does not hint at what problem it solves relative to sibling tools, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_global_trade_flowsC
Queries global critical mineral physical trade corridor flows, monthly bulk volumes, standard transit days, vessel classes, and maritime chokepoints.
| Name | Required | Description | Default |
|---|---|---|---|
| mineral_type | No | Optional filter by mineral (e.g. LITHIUM_HYDROXIDE, NICKEL_MHP) | |
| origin_country | No | Optional origin country code (e.g. AUS, IDN, CHL) | |
| destination_country | No | Optional destination country code (e.g. KOR, USA, CHN, EU) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read/query operation but does not state whether it is read-only, whether results are paginated, rate limits, data freshness, or what authentication is required. For a zero-annotation tool, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single efficient sentence front-loaded with the verb and resource, then enumerating returned data categories. No redundant phrasing, though it could be slightly tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description must compensate but doesn't. It does not explain the return structure, result volume, pagination, or behavior when filters are omitted, leaving significant gaps for a query tool with three optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three optional filter parameters clearly documented (mineral_type, origin_country, destination_country) including examples and the 'optional' nature. The description adds no parameter meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Queries) and resource (global critical mineral physical trade corridor flows) with a concrete list of returned data categories. It is distinguishable from verification siblings, though it doesn't name or contrast any specific alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like optimize_mineral_trade_route or estimate_maritime_freight_and_carbon. A reader must infer context entirely from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trade_escrow_calldataA
Generates deterministic EVM calldata and transaction parameters for the buyer AI agent to lock USDC funds into the on-chain MineralTradeEscrow (Polygon/Base/Arbitrum) for a dual-signed trade agreement.
| Name | Required | Description | Default |
|---|---|---|---|
| deal_id | Yes | Canonical dual-signed trade deal identifier | |
| chain_name | No | Target settlement blockchain | polygon |
| escrow_contract_address | No | Optional custom MineralTradeEscrow contract address override |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Deterministic' is a genuine behavioral trait, and framing it as calldata generation (not execution) hints it is non-mutating, but the description never confirms whether it only produces a payload, whether it requires buyer-role auth, or anything about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the verb and deliverable and packs role, asset, contract, chains, and precondition without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description conceptually names the return (calldata plus transaction parameters), which covers the shape of the result. The remaining weakness is that behavioral/auth prerequisites are left unstated, though nothing critical to invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (deal_id, chain_name, escrow_contract_address) are already documented by the schema. The mention of Polygon/Base/Arbitrum echoes the chain_name enum but adds no syntax or format detail beyond it, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Generates deterministic EVM calldata and transaction parameters' for locking USDC into a named contract (MineralTradeEscrow). It is clearly distinguishable from siblings like dual_sign_trade_deal or propose_a2a_trade_deal, though it never names an alternative to sharpen the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the calling context ('for the buyer AI agent') and a precondition ('for a dual-signed trade agreement'), which is useful. However, it states no explicit when-not, no ordering relative to dual_sign_trade_deal, and no alternative tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_a2a_trade_dealsB
Lists A2A bilateral trade deals, optionally filtered by agent EVM address or status (PROPOSED, DUAL_SIGNED_CONFIRMED, REJECTED, CANCELLED, EXPIRED).
| Name | Required | Description | Default |
|---|---|---|---|
| agent_address | No | Optional agent EVM address filter | |
| status_filter | No | Optional status filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses nothing about pagination, result limits, ordering, auth requirements, or what the response contains; only the filterable status values are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence, front-loaded with the primary action and resource, with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only list tool with fully described params, the description is minimally adequate, but with no output schema it says nothing about what is returned or how results are bounded. It covers the input side and omits the output side.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3), and the description adds real value by enumerating the valid status_filter values (PROPOSED, DUAL_SIGNED_CONFIRMED, REJECTED, CANCELLED, EXPIRED) that the schema leaves as a bare string with no enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Lists) and resource (A2A bilateral trade deals) plus the filterable dimensions, which clearly separates it from the get_a2a_trade_deal sibling. It does not explicitly name siblings or scope limits, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of optional filters implies the retrieval context, but there is no explicit when-to-use/when-not guidance and no pointer to get_a2a_trade_deal for single-deal lookups. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trade_precedentsA
Query international trade jurisprudence precedents embedded in the oracle: WTO DS592 (Indonesia Raw Materials), WTO DS431 (China Rare Earths), ICSID ARB/15/31 (Gabriel Resources), and US CIT Superior Wire (Origin Laundering).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. The verb 'Query' implies a read operation, and listing the embedded precedents gives content context, but the description does not disclose the return format, pagination, or any limitations, leaving the agent guessing at output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence that front-loads the verb and resource and packs the enumerated precedents efficiently. Each element earns its place, though listing four full case citations adds length without much extra decision value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 0-parameter list tool this is reasonably complete, but with no output schema and no annotations, the description should clarify what the returned data looks like (e.g., case summaries, citation lists, rulings). That gap leaves the agent uncertain about the call's result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema offers nothing to document. The description compensates by naming exactly what the tool returns access to (the four precedents), which is the meaningful semantic content an agent needs. Baseline 4 is appropriate for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Query') and resource ('international trade jurisprudence precedents embedded in the oracle'), then enumerates the exact precedents available (WTO DS592, WTO DS431, ICSID ARB/15/31, US CIT Superior Wire). This clearly distinguishes it from the compliance-verification and feedback siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys its purpose and content scope, so an agent can infer it is for retrieving precedent case law, but it never explicitly states when to use it versus alternatives, nor does it name exclusions or routing conditions to sibling tools like verify_mineral_lot_compliance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
minerals_list_evolution_proposalsB
List active autonomous agent evolution proposals and improvement requests.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of proposals to fetch | |
| mineral_focus | No | Optional filter by mineral |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral context. It clearly implies a read-only list operation with no side effects, but it does not disclose what 'active' means, pagination behavior, error handling, or what fields are returned. For a simple list tool this is borderline adequate, but additional clarity would help.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the action and resource directly, though it could benefit from a brief mention of usage or parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two optional parameters and no output schema, the description is minimally sufficient but lacks details like the meaning of 'active', return format, or any filtering nuances. It does not actively mislead, but leaves room for interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters (limit and mineral_focus) with descriptions, so schema coverage is 100%. The tool description adds no extra meaning or context about how these parameters behave or interact, so it does not improve beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action (List) and resource (active autonomous agent evolution proposals and improvement requests), making it distinct from siblings like verify_mineral_lot_compliance or list_trade_precedents. It does not explicitly name alternatives, but the resource is specific enough to avoid confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings. There is no mention of alternatives, prerequisites, or context where this tool is the right choice, leaving the agent to infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
minerals_submit_agent_feedbackB
Allows an autonomous AI agent or bot operator to submit an evolution proposal, mineral dataset addition request, regulatory edge case, or protocol improvement to continuously evolve the Minerals Oracle engine.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Summary of proposed improvement or edge case | |
| content | Yes | Detailed description, legal context, or observed issue | |
| agent_id | Yes | Unique identifier of the calling AI agent or operator (e.g. 'tesla-procure-agent-09') | |
| caller_model | No | Optional underlying model (e.g. 'claude-3-5-sonnet', 'gemini-1.5-pro') | |
| feedback_type | No | Classification category | FEATURE_REQUEST |
| mineral_focus | No | Relevant mineral commodity | ALL |
| contact_channel | No | Optional agent webhook, ENS domain, or wallet address | |
| proposed_solution | No | Optional suggested technical or architectural fix |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool submits feedback, but does not disclose side effects (e.g., whether submission persists, if it triggers review, idempotency, rate limits, or auth requirements). For a write operation with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose and lists the main use cases. It is concise with no fluff, though it could be slightly shorter without losing meaning. It earns a 4 for efficient delivery.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters (3 required) and no output schema, the description provides a high-level purpose but does not mention expected return values, submission confirmation, or any side effects. The schema covers parameter details, and the description covers the intent, but for a submission tool with no annotations, one might expect more context on what happens after submission. It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters, including enums with descriptions. The description mentions 'evolution proposal, mineral dataset addition request, regulatory edge case, or protocol improvement,' which loosely maps to the feedback_type enum but adds little beyond what the schema already states. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: an agent or operator submits evolution proposals, dataset additions, edge cases, or protocol improvements to evolve the Minerals Oracle engine. It uses a specific verb (submit) and resource (feedback to the engine), and the listed types distinguish it from sibling read/check tools like verify_mineral_lot_compliance or list_trade_precedents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for submitting improvement ideas, but it does not explicitly state when to use this tool versus alternatives or provide any exclusions. There is no mention of sibling tools like minerals_list_evolution_proposals (which likely lists existing proposals) or when not to submit. Usage context is clear enough, but no alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_agent_sessionB
Opens a high-speed allowance session for autonomous AI agents, enabling <0.1ms micro-queries without per-query on-chain gas latency.
| Name | Required | Description | Default |
|---|---|---|---|
| signature | No | Optional EIP-712 deposit authorization signature | |
| agent_address | Yes | Agent EVM wallet address (0x...) | |
| deposit_amount_usdc | No | USDC deposit amount for session queries (default 10.0) | |
| session_duration_hours | No | Session validity in hours (default 24) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses useful operational traits: high-speed performance (<0.1ms), micro-query support, and no per-query on-chain gas latency. Yet it omits critical context such as whether a deposit is required, signature authorization, session limits, or what happens on close.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core action and avoids unnecessary words. The marketing-style phrasing ('high-speed allowance session') is slightly less direct than plain language but still concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters and no output schema or annotations, so the description must provide enough context to invoke correctly. It explains the core value proposition but omits session lifecycle details (e.g., deposit handling, signature role, relationship to close/get_info) that would help an agent use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the input schema. The description adds no parameter-specific syntax or constraints, leaving the schema to do the heavy lifting, which matches the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Opens') and resource ('high-speed allowance session') and explains the primary capability (micro-queries without on-chain gas latency). However, it does not explicitly distinguish itself from siblings like close_agent_session or get_agent_session_info beyond the implicit verb contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, when-not-to-use, or alternative tools are mentioned. The phrase 'for autonomous AI agents' hints at a target user but does not tell an agent under what conditions to open a session versus using another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_mineral_trade_routeB
Autonomous trade route optimizer for AI procurement agents. Compares direct marine transit vs chokepoint detour corridors, computing landed cost arbitrage ($/MT), total freight and tariffs, and delivery timelines.
| Name | Required | Description | Default |
|---|---|---|---|
| mineral_type | Yes | Target mineral cargo | |
| origin_country | Yes | Origin country | |
| destination_country | Yes | Destination country | |
| cargo_weight_metric_tons | Yes | Volume in MT | |
| max_carbon_budget_co2_tons | No | Max acceptable voyage CO2 tons (optional) | |
| target_delivery_deadline_days | No | Max acceptable transit days (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a computational/optimization action but does not state whether it requires authentication, whether it mutates state, what side effects it may have, or what the output looks like. The word 'Autonomous' adds little concrete transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the core purpose and followed by the specific computed outputs. No filler or repetition; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter optimization tool with no annotations and no output schema, the description identifies the computed dimensions but does not explain the return format, usage context, or relationship to sibling tools. It is adequate but leaves meaningful gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters, including optional carbon budget and delivery deadline constraints. The description adds no parameter-level meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: an optimizer for mineral trade routes that compares direct transit vs chokepoint detours and computes cost arbitrage, freight, tariffs, and timelines. It is clear what the tool does, but it does not explicitly distinguish itself from siblings like estimate_maritime_freight_and_carbon or calculate_trade_tariffs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it is for AI procurement agents, but gives no explicit when-to-use guidance, no prerequisites, and no alternatives to compare against. An agent must infer that this is for route selection rather than freight estimation or tariff calculation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
propose_a2a_trade_dealC
Seller AI agent proposes a canonical bilateral trade agreement for a critical mineral consignment with cryptographic signature.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | Canonical TradeDealSpec object | |
| seller_signature | Yes | Seller agent cryptographic signature over deal hash |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. For a state-mutating, contract-creating tool it says nothing about side effects (does a proposal persist? notify the buyer? lock terms?), whether the proposal is binding or reversible, or what signature/permission requirements apply. 'Proposes' implies non-finality but this is never confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the actor, action, object and signature requirement front-loaded and no filler. Slight cost: the compression leaves out lifecycle detail rather than being wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complex domain (bilateral trade agreement, cryptographic signing, nested spec with FEOC and mass-balance flags) with no annotations and no output schema. The description omits the proposal lifecycle, what counterparty action follows (dual signature), and what the caller gets back, leaving the agent under-informed for a consequential operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested TradeDealSpec properties each carry their own descriptions and examples, so the schema already does the heavy lifting. The description adds no semantics beyond the schema (e.g. format or provenance of seller_signature over the deal hash). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: a seller agent 'proposes a canonical bilateral trade agreement' for a critical mineral consignment, with a cryptographic signature. This is distinguishable from siblings like dual_sign_trade_deal and verify_a2a_trade_deal, though it never names them or states the relationship explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus dual_sign_trade_deal, verify_a2a_trade_deal, or reject/cancel_a2a_trade_deal. The agent is left to infer that this is the initiating step of a bilateral flow, and nothing states prerequisites such as an open agent session or a verified EBL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_agent_accountB
Self-service onboarding for autonomous AI agents. Instantly returns a session key and seeds an initial free trial balance (e.g. 0.05 USDC).
| Name | Required | Description | Default |
|---|---|---|---|
| agent_name | Yes | Agent or bot operator name | |
| agent_address | No | Optional Polygon wallet address (0x...) | |
| initial_trial_balance_usdc | No | Trial balance in USDC |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose two valuable traits beyond the schema: that a session key is returned immediately, and that a free trial balance is seeded as a side effect. However it omits idempotency (what happens if the agent is already registered), whether the key expires, and any auth or rate-limit constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler, front-loading what the tool is before stating its outputs. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly compensates by naming the returned session key and the seeded balance. For a three-parameter registration tool this is nearly complete, with only duplicate-registration and key-lifetime behavior left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents agent_name, agent_address, and initial_trial_balance_usdc. The description only echoes the default value ('e.g. 0.05 USDC') without adding format or constraint detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource: self-service onboarding that registers an agent account, plus what it produces (a session key and a seeded trial balance). It is distinguishable from siblings like open_agent_session and get_agent_session_info, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'self-service onboarding for autonomous AI agents' implies first-time setup, but there is no explicit when-to-use or when-not-to-use guidance and no mention of alternatives such as open_agent_session for resuming an existing session. The agent must infer the triggering condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reject_a2a_trade_dealC
Buyer AI agent rejects an existing trade proposal with structured reasoning and optional cryptographic signature.
| Name | Required | Description | Default |
|---|---|---|---|
| deal_id | Yes | Trade deal identifier to reject | |
| buyer_signature | No | Optional cryptographic signature | |
| rejection_reason | No | Reason for rejection | |
| buyer_agent_address | Yes | Buyer agent EVM address executing rejection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a state-changing mutation but says nothing about reversibility, required permissions or authorization (buyer_agent_address, signature), the deal states that permit rejection, or the effect on escrow/other parties. Only the optional signature clue adds behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that names the actor and action immediately with no filler. It is efficient, though it could trade a few words for the missing usage/precondition guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter mutation tool with no annotations and no output schema, the description is adequate but thin. The schema covers parameters and no return value needs explaining, yet the absence of state preconditions, authorization expectations, and side effects leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters and the baseline is 3. The description marginally reinforces this with 'structured reasoning' and 'optional cryptographic signature', but adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rejects), resource (an existing trade proposal), and the actor (Buyer AI agent), so the operation is unambiguous. However, it does not explicitly differentiate itself from close siblings like cancel_a2a_trade_deal or propose_a2a_trade_deal, leaving the agent to infer the distinction between rejecting and cancelling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no precondition (e.g. deal must be in a proposed/open state), and no mention of the alternative cancel_a2a_trade_deal, which is a near-neighbor in the same family. The agent gets no help choosing between rejection and cancellation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_x402_payment_challengeC
Generates a fresh multi-chain payment challenge nonce with pricing tier details and gasless Permit2 contract address.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | polygon | |
| pricing_tier | No | STANDARD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints at freshness ('fresh nonce') and gasless mechanics, but does not say whether this costs anything, requires authentication, mutates state, or is rate-limited โ all critical for a payment-challenge endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Efficient, though truncated enough that the brevity costs clarity rather than serving it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and two undocumented enum parameters, the description is too thin for a multi-chain payment tool. It does not explain what the challenge nonce is for, how long it is valid, or what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for both parameters and largely does not. 'Multi-chain' vaguely gestures at the chain enum and 'pricing tier details' ambiguously references the tier, but the enum values (polygon/base/arbitrum, LIGHT/STANDARD/HEAVY/ONCHAIN) and their effects are never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Generates') and resource ('payment challenge nonce'), and enumerates the payload contents (pricing tier details, gasless Permit2 contract address). This is clear and distinguishable, though it never differentiates itself from any sibling (none of which appear related, so the risk is low).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this, what precedes it, or what an agent does with the resulting nonce. No prerequisites (account, session, wallet) are stated, so the agent must infer the workflow entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_procurement_rfqC
Simulates multi-mineral consignment RFQ for battery manufacturing. Computes US IRA 50% FTA threshold and FEOC 25% taint propagation before placing contracts.
| Name | Required | Description | Default |
|---|---|---|---|
| rfq_id | Yes | Buyer agent RFQ identifier | |
| cobalt_tons | Yes | ||
| nickel_tons | Yes | ||
| lithium_tons | Yes | ||
| cell_chemistry | No | Target battery chemistry | NCM811 |
| pack_capacity_kwh | No | ||
| cobalt_origin_country | No | COD | |
| nickel_origin_country | No | IDN | |
| cobalt_feoc_equity_pct | No | ||
| lithium_origin_country | No | AUS | |
| nickel_feoc_equity_pct | No | ||
| lithium_feoc_equity_pct | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. 'Simulates' implies no side effects and 'before placing contracts' signals a dry-run gate, which is genuinely useful. However it never states whether execution is idempotent, whether state is persisted, what auth is needed, or what the simulation returns against a 12-parameter input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the domain and the two computed thresholds front-loaded; every clause carries information. It could add a routing sentence without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter domain tool with zero annotation coverage and no output schema, the description omits what the simulation actually returns, how the FTA/FEOC results should be consumed before contract placement, and any parameter details. It establishes the domain but not enough to invoke the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 17% (just rfq_id and cell_chemistry), leaving 10 parameters undocumented in the schema. The description gestures at the FTA-origin and FEOC-equity concepts that clearly map to origin_country and feoc_equity_pct fields, but it never explains units, defaults, or which parameter drives which threshold, so it does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (simulates) plus a precise resource (multi-mineral consignment RFQ for battery manufacturing) and names the two computations performed (IRA 50% FTA threshold, FEOC 25% taint propagation). This is clearly distinguished from origin-verification siblings like verify_cobalt_origin, though it never explicitly says how it relates to them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before placing contracts' hints at a pre-flight role, but there is no explicit when-to-use, no named alternative (e.g. the *verify_* origin tools), and no prerequisite or ordering guidance among the 31 siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_a2a_trade_dealB
Cryptographically audits a dual-signed A2A trade deal, verifying seller, buyer, and oracle signatures, along with FEOC and mass-balance compliance.
| Name | Required | Description | Default |
|---|---|---|---|
| deal_id | Yes | Trade deal identifier to audit |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, and it does disclose the concrete verification dimensions (three signatures plus FEOC and mass-balance checks). However it says nothing about read-only vs state-mutating behavior, required authorization, or failure/error semantics for an audit operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the action and resource before the enumeration of checks. Nothing is wasted, though there is no structural separation between the core action and the list of verified properties.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations exist, so the description should ideally indicate what an audit returns (e.g., per-signature pass/fail or compliance verdict). It names the checks but not the result shape, leaving an agent guessing about the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single deal_id parameter, which the schema already documents as 'Trade deal identifier to audit'. The description adds no format, provenance, or identifier-scheme detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb ('cryptographically audits') and resource ('dual-signed A2A trade deal'), and enumerates the specific checks (seller/buyer/oracle signatures, FEOC and mass-balance compliance). This makes it clearly distinct from the signing/proposing/cancelling siblings, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the audit step for an existing deal, presumably after dual_sign_trade_deal. There is no explicit when-to-use, prerequisite, or guidance on alternatives such as get_a2a_trade_deal or verify_mineral_lot_compliance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_cobalt_originA
Verifies DRC Katanga heterogenite-to-cobalt hydroxide supply-chain provenance. Evaluates Katanga Copperbelt concession geofencing (Tenke Fungurume, Kamoto KCC, Mutanda, Metalkol), CEEC tamper-proof barcode seal, ASM co-mingling segregation & EGC custody (Trap 1), ILO 138/182 zero child labor due diligence, RMI RMAP smelter certification, stoichiometric mass balance (~23.5t ore to 1t hydroxide <= 2.5% loss), and US IRA FEOC 25% screening.
| Name | Required | Description | Default |
|---|---|---|---|
| product | No | Crude Cobalt Hydroxide | |
| province | No | Lualaba | |
| trace_id | Yes | Traceability batch ID (e.g. COB-COD-2026-HYD01) | |
| mine_type | No | LSM or ASM | LSM |
| coordinates | Yes | [Lat, Lon] centroid | |
| ceec_seal_id | Yes | DRC CEEC barcode export seal ID | |
| asm_comingled | No | True if uncertified ASM ore co-mingled | |
| refinery_name | Yes | Refinery name (e.g. Luilu Metallurgical Plant) | |
| concession_name | Yes | Concession name (e.g. Kamoto Copper Company, Tenke Fungurume) | |
| egc_custody_ref | No | EGC artisanal custody receipt (optional) | |
| feoc_equity_pct | No | Covered nation equity % (cap < 25%) | |
| ore_grade_co_pct | No | Ore Co % (default 1.50%) | |
| refinery_country | No | Refinery country code | COD |
| rmi_rmap_smelter_id | No | RMI RMAP audited smelter ID (optional) | |
| hydroxide_grade_co_pct | No | Hydroxide Co % (default 30.0%) | |
| zero_child_labor_audit_ref | No | ILO 138/182 zero child labor audit reference | |
| heterogenite_ore_input_tons | Yes | Gross heterogenite ore input in metric tons | |
| cobalt_hydroxide_output_tons | Yes | Refined crude hydroxide output in metric tons |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does so by disclosing the concrete evaluation logic: concession geofencing, CEEC barcode seal validation, ASM co-mingling segregation, ILO 138/182 checks, RMI RMAP certification, and mass-balance tolerance (<=2.5% loss). It does not, however, disclose failure modes, permissions, or what the result conveys, so it stops short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, followed by a compact enumeration of checks. It is jargon-dense and one long sentence, which slightly hurts readability, but essentially every clause corresponds to a distinct validation the agent should expect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter, no-output-schema tool, the description covers what is evaluated well but never indicates the return shape (pass/fail, findings, scores) or how a non-compliant lot is reported. Given there is no output schema, that outcome context is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 89%, so the schema already documents the parameters (baseline 3). The description adds genuine semantic context by tying parameters to evaluation logic, e.g. geofencing maps to coordinates/concession, FEOC equity cap to feoc_equity_pct, and the ~23.5t:1t ratio to the ore/hydroxide mass-balance inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise verb and resource (verifies DRC Katanga heterogenite-to-cobalt hydroxide supply-chain provenance) and enumerates the exact domain checks performed. It is unmistakably distinct from the cobalt-adjacent siblings such as verify_lithium_origin, verify_nickel_origin, and verify_mineral_lot_compliance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the tight domain scoping (DRC Katanga cobalt hydroxide), so an agent can infer it is the cobalt-specific verifier. However, it never states when to prefer this over verify_mineral_lot_compliance or the other verify_* siblings, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_composite_battery_passportA
Evaluates end-to-end composite EV battery pack compliance and issues a Master Passport on Polygon. Orchestrates Australian Lithium, Indonesian Nickel, and DRC Cobalt streams; computes US IRA Section 30D critical mineral 50% FTA value-added ratio; enforces zero FEOC taint across all component streams; audits EU Battery Regulation 2023/1542 blended carbon footprint and CSDDD due diligence; and binds all proofs into a cryptographic Merkle Root EIP-712 Master Signature.
| Name | Required | Description | Default |
|---|---|---|---|
| cobalt_lot | Yes | CobaltOriginVerifyRequest payload | |
| nickel_lot | Yes | NickelOriginVerifyRequest payload | |
| lithium_lot | Yes | LithiumOriginVerifyRequest payload | |
| cell_chemistry | No | Cathode chemistry (NCM811, NCM622, NCM523) | NCM811 |
| battery_pack_id | Yes | Unique battery pack serial (e.g. BATT-NCM811-2026-PACK01) | |
| pack_capacity_kwh | No | Pack capacity in kWh |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose substantial behavior: it writes a Master Passport on Polygon (an on-chain write with implicit irreversibility), enforces 'zero FEOC taint', and cryptographically binds proofs into a Merkle Root EIP-712 signature. It omits auth/permission needs, cost, and failure modes, which is why it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and outcome are front-loaded in the first clause, followed by the compliance regimes it enforces. It is a dense single run-on sentence heavy with stacked jargon and semicolons, but every clause carries a distinct regulatory/technical fact, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity, multi-nested-object tool with no annotations and no output schema, the description covers the domain well: it names the regimes (IRA 30D, EU Battery Regulation 2023/1542, CSDDD), the outputs (Master Passport, Merkle Root EIP-712 signature), and the streams. It stops short of describing the return payload structure or error conditions, which an output-less tool could have benefited from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters (including the nested origin-verify payloads and defaults); baseline is 3. The description only loosely maps to the three mineral lot parameters via 'Orchestrates Australian Lithium, Indonesian Nickel, and DRC Cobalt streams' and adds no format or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb+resource ('Evaluates end-to-end composite EV battery pack compliance and issues a Master Passport on Polygon') and the keyword 'composite'/'end-to-end' clearly distinguishes it from the single-mineral siblings (verify_lithium_origin, verify_nickel_origin, verify_cobalt_origin). An agent can tell this is the aggregating multi-stream tool without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The text describes capabilities but never states when to choose this tool over verify_mineral_lot_compliance or the per-mineral verify tools, nor any prerequisite ordering (e.g. lots must be verified first). No exclusions or conditions are given, so the agent must infer routing from the word 'composite' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_copper_originA
Verifies South American Copper-to-Cathode supply-chain provenance. Evaluates Codelco/Escondida/Cerro Verde GIS geofencing (Chuquicamata, El Teniente, Andina), stoichiometric flotation-to-cathode mass balance (loss discrepancy <= 2.0%), sulfuric acid (H2SO4) deficit screening (variance <= 5.0%), Chilean COCHILCO export clearance, and AI Data Center / HVDC Power Grid specifications (ASTM B115 Grade 1, 99.9935% Cu).
| Name | Required | Description | Default |
|---|---|---|---|
| lot_id | Yes | Unique lot ID (e.g. COP-CHL-2026-LOT01) | |
| mine_concession_name | No | Mine concession name | CHUQUICAMATA |
| feoc_shareholding_pct | No | Covered nation equity % (cap < 25%) | |
| extraction_coordinates | Yes | [Lat, Lon] centroid | |
| concentrate_grade_cu_pct | No | Cu concentrate grade % | |
| sulfuric_acid_input_tons | Yes | Actual H2SO4 consumed in metric tons | |
| copper_cathode_purity_pct | No | Assay purity % (Grade 1 >= 99.9935%) | |
| hvdc_cable_spec_compliant | No | HVDC grid compliance | |
| feedstock_concentrate_tons | Yes | Flotation concentrate input in metric tons | |
| refined_copper_cathode_tons | Yes | Cathode output in metric tons | |
| cochilco_export_clearance_id | No | Chilean COCHILCO clearance ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it does substantial work: it names the specific methods (GIS geofencing, stoichiometric mass balance, H2SO4 deficit screening, COCHILCO clearance) and their acceptance thresholds (<=2.0% loss discrepancy, <=5.0% variance, >=99.9935% Cu). It does not state side effects, idempotency, auth requirements, or whether the call mutates any state, which holds it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, with supporting criteria following. It is dense and jargon-heavy but every clause names a distinct verification gate, so little is wasted. Readability suffers slightly from being a single packed sentence rather than being broken into scannable items.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter compliance tool with no output schema and no annotations, the description explains what is checked but says nothing about what the verification returns (pass/fail, per-criterion reasons, remediation). Because no output schema exists, the agent cannot learn the response shape elsewhere, leaving a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real meaning by tying parameters to acceptance criteria: extraction_coordinates drive the GIS geofencing gate, feedstock/refined tonnage drives the 2% mass-balance check, sulfuric_acid_input_tons drives the 5% deficit screen, and purity maps to the ASTM B115 Grade 1 threshold. This is useful threshold context beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Verifies') and resource ('South American Copper-to-Cathode supply-chain provenance'), then enumerates the concrete checks performed. The copper-specific scope cleanly separates it from the parallel verify_cobalt_origin / verify_lithium_origin / verify_nickel_origin / verify_silver_origin siblings without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (auditing copper provenance and compliance) but never states when to use this versus verify_mineral_lot_compliance or the other verify_*_origin tools, nor any prerequisites or exclusions. Usage is inferable from the purpose, which is the minimum viable level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_electronic_bill_of_ladingA
Cryptographically audits UNCITRAL MLETR / FIT Alliance electronic Bill of Lading (eBL). Validates 7-digit IMO checksum, UN/LOCODE port pairs, manifest weight, and screens for AIS dark fleet anomalies.
| Name | Required | Description | Default |
|---|---|---|---|
| vessel_name | Yes | Registered vessel name | |
| mineral_type | Yes | Declared mineral cargo | |
| shipper_name | Yes | Shipper corporate name | |
| consignee_name | Yes | Consignee corporate name | |
| ebl_document_id | Yes | eBL reference ID | |
| ebl_document_hash | Yes | SHA-256 hash of eBL document | |
| carrier_imo_number | Yes | 7-digit vessel IMO | |
| port_of_loading_code | Yes | 5-letter UN/LOCODE POL | |
| port_of_discharge_code | Yes | 5-letter UN/LOCODE POD | |
| gross_weight_metric_tons | Yes | Cargo gross weight in MT |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It discloses the validation checks performed (IMO checksum, UN/LOCODE pairs, manifest weight, AIS dark fleet screening), which is useful behavioral context, but it omits whether the operation is read-only, what permissions are required, and what the outcome or failure mode looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the core purpose and followed by the specific validation scope. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 required parameters, no annotations, and no output schema, the description is adequate but incomplete. It explains the validation scope but does not state what the tool returns (e.g., pass/fail, report) or any prerequisites, which an agent would need for a high-stakes cryptographic audit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaning beyond schema labels by explaining that carrier_imo_number is checked as a 7-digit IMO checksum, port codes are validated as UN/LOCODE pairs, and gross weight is checked against the manifest. It leaves other parameters (e.g., shipper, consignee, document hash) without added semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Cryptographically audits') and resource ('UNCITRAL MLETR / FIT Alliance electronic Bill of Lading'), and lists the exact validation checks. It clearly distinguishes this eBL audit tool from sibling verification tools for minerals, origins, and trade deals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating that it audits an eBL and validates specific fields, but it does not explicitly say when to choose this tool over alternatives such as verify_mineral_lot_compliance or verify_a2a_trade_deal. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_lithium_originB
Verifies Australian hard-rock Spodumene to Lithium Hydroxide supply-chain provenance. Evaluates WA MINEDEX GIS geofencing (Greenbushes, Pilgangoora, Mt Marion), stoichiometric mass balance (SC6.0 to LiOH <= 2.5% loss), and US IRA Section 30D FEOC 25% clean origin.
| Name | Required | Description | Default |
|---|---|---|---|
| product | No | Lithium Hydroxide Monohydrate | |
| trace_id | Yes | Traceability lot ID (e.g., LIT-AU-2026-X091) | |
| mine_name | Yes | Hard-rock mine name (e.g. Greenbushes, Pilgangoora) | |
| coordinates | Yes | [Lat, Lon] centroid | |
| mine_country | No | AU | |
| refinery_country | No | Refinery country code (AU, US, CHN) | AU |
| refinery_facility | Yes | Refining facility name (e.g. Kwinana Plant) | |
| minedex_tenement_id | No | WA MINEDEX permit ID (optional) | |
| spodumene_grade_pct | No | Li2O grade % (default 6.0%) | |
| refined_output_tonnage | Yes | Finished product output in metric tons | |
| refinery_feoc_equity_pct | No | Covered nation equity % (cap < 25%) | |
| spodumene_tonnage_extracted | Yes | Gross spodumene input in metric tons |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does add real value by revealing the evaluation logic and thresholds (SC6.0 to LiOH <= 2.5% loss, FEOC cap < 25% clean origin), but it says nothing about read-vs-write behavior, what a failure result looks like, or whether a verification is recorded or stateful. Some behavioral substance, significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the verification target before the evaluation criteria. No filler, though the stacked acronyms (SC6.0, IRA 30D, FEOC) compress a lot into one line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, 6-required tool with no annotations and no output schema, the description covers the domain well but omits what the verification returns, how pass/fail is signaled, and when the optional MINEDEX ID is needed. An agent would still need to probe the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents nearly all parameters with examples and defaults. The description adds no parameter-level syntax or format detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (verifies) and a tightly scoped resource (Australian hard-rock spodumene to lithium hydroxide provenance), then enumerates the three concrete checks it runs (MINEDEX geofencing, stoichiometric mass balance, IRA 30D FEOC origin). This scope clearly separates it from siblings like verify_nickel_origin, verify_cobalt_origin, and verify_mineral_lot_compliance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what is evaluated but never states when to reach for this tool versus the sibling verification tools, nor any prerequisites (e.g., that MINEDEX tenement ID is optional, or that AU-origin lots are required). Usage must be inferred entirely from the domain naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_mineral_lot_complianceA
Fetches raw algorithmic indices derived from open satellite/market data and computes 12-trap regulatory rule heuristics for a critical mineral consignment. DO NOT use as an official regulatory legal filing or physical assay certification without independent manual verification.
| Name | Required | Description | Default |
|---|---|---|---|
| lot_id | Yes | Unique lot/batch identifier | |
| mineral_type | Yes | ||
| source_country | Yes | ||
| declared_purity_pct | No | Declared assay purity percentage | |
| net_weight_metric_tons | Yes | Net weight in metric tons |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It transparently notes that outputs are algorithmic heuristics derived from satellite/market data and explicitly cautions against treating them as official or certified. This goes beyond a bare description, though it does not detail side effects, errors, or rate limits, which would be expected in an ideal case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences: the first states the purpose, the second delivers a critical caveat. Every word earns its place, and the most important information (purpose) is front-loaded. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12-trap rules, five parameters, no output schema), the description is relatively brief. It explains what it computes but does not describe the output format, how results should be interpreted, or how the parameters interact. The caveat is helpful but does not compensate for the lack of return-value guidance, which would be essential for an agent to correctly use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 60% (three parameters have descriptions, two have enums without descriptions). The description adds context about the purpose of the parameters ('open satellite/market data' and 'regulatory rule heuristics') but does not provide per-parameter semantics beyond what the schema already offers. This meets the baseline but does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('fetches' and 'computes') applied to a defined resource ('raw algorithmic indices' and '12-trap regulatory rule heuristics'), making the tool's purpose unambiguous. It also implies a distinction from siblings like get_compliance_status and list_trade_precedents by focusing on algorithmic heuristics rather than status or precedents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a critical usage warning ('DO NOT use as an official regulatory legal filing or physical assay certification without independent manual verification'), which is useful, but it does not explicitly state when to prefer this tool over its siblings (e.g., 'use for screening, not for final decisions'). The caveat implies a secondary role but lacks direct guidance on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_nickel_originA
Verifies Indonesian laterite Limonite-to-Nickel MHP supply-chain provenance. Evaluates Sulawesi/Halmahera concession geofencing (IMIP Morowali, IWIP Weda Bay), SIMBARA NTPN & DHE BI tax validation, HPAL stoichiometric mass balance (~31t Limonite to 1t MHP <= 2.5% loss), Captive Coal EU CBAM screening, and US IRA 30D FEOC 25% compliance.
| Name | Required | Description | Default |
|---|---|---|---|
| product | No | Nickel Mixed Hydroxide Precipitate (MHP) | |
| trace_id | Yes | Traceability batch ID (e.g. NIC-IDN-2026-MHP01) | |
| coordinates | Yes | [Lat, Lon] centroid | |
| simbara_ntpn | Yes | Indonesia ESDM SIMBARA NTPN tax receipt code | |
| concession_name | Yes | Concession name (e.g. Morowali Concession, Weda Bay) | |
| feoc_equity_pct | No | Covered nation equity % (cap < 25%) | |
| mhp_output_tons | Yes | Refined MHP output in metric tons | |
| mhp_grade_ni_pct | No | MHP Ni % (default 38.5%) | |
| ore_grade_ni_pct | No | Limonite ore Ni % (default 1.35%) | |
| captive_coal_power | No | True if refinery runs on captive coal | |
| hpal_refinery_name | Yes | HPAL refinery name (e.g. QMB New Energy) | |
| dhe_forex_deposit_ref | No | Bank Indonesia 30% retention receipt (optional) | |
| limonite_ore_input_tons | Yes | Gross limonite ore input in metric tons |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavioral context: the evaluated jurisdictions (IMIP Morowali, IWIP Weda Bay), the regulatory thresholds applied (25% FEOC cap, 2.5% mass-balance loss), and CBAM screening. However, it never states whether the operation is read-only, what a pass/fail result looks like, or how non-compliant inputs are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single densely packed sentence that front-loads the resource and then lists the five evaluation axes in parallel structure. Every clause corresponds to a distinct check, though the heavy jargon density makes it less scannable than a bulleted breakdown would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter compliance tool with no annotations and no output schema, the description covers the evaluation scope well but omits the return shape and outcome semantics, which the agent must infer entirely. Adequate but with a clear gap given zero structured support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 92%, so baseline is 3, but the description adds real interpretive value beyond the schema by defining the ~31t Limonite to 1t MHP stoichiometric ratio and the 2.5% loss tolerance that govern limonite_ore_input_tons/mhp_output_tons, and the FEOC 25% equity ceiling that governs feoc_equity_pct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (verifies) and a precisely scoped resource (Indonesian laterite Limonite-to-Nickel MHP supply-chain provenance), then enumerates the exact checks performed. This clearly separates it from siblings like verify_lithium_origin, verify_cobalt_origin, and verify_composite_battery_passport without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the nickel/MHP specificity tells an agent to pick this over the lithium or cobalt verifiers. There is no explicit when-to-use statement, no mention of prerequisites (e.g. that a SIMBARA NTPN and HPAL refinery must be known first), and no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_silver_originB
Verifies Mexican & Global Silver supply-chain provenance. Evaluates Terronera/Fresnillo/Antamina GIS geofencing, Moebius/Thum electrolytic mass balance (loss discrepancy <= 2.0%), N-Type TOPCon High-Efficiency Solar PV paste assay purity (>= 99.99% Ag), anti-cartel conflict ASM screening, and LBMA Good Delivery audit.
| Name | Required | Description | Default |
|---|---|---|---|
| lot_id | Yes | Unique silver batch ID (e.g. SIL-MEX-2026-PV01) | |
| refined_purity_pct | No | Assay purity % (Solar PV requires >= 99.99%) | |
| mine_concession_name | No | Mine concession name | TERRONERA |
| feoc_shareholding_pct | No | Covered nation equity % (cap < 25%) | |
| extraction_coordinates | Yes | [Lat, Lon] centroid | |
| lbma_good_delivery_ref | No | LBMA accreditation ref (optional) | |
| refined_solar_powder_kg | Yes | Finished refined silver powder/paste yield in kg | |
| feedstock_dore_or_ore_kg | Yes | Gross Dorรฉ bullion or ore input in kg | |
| topcon_pv_grade_compliant | No | N-type TOPCon solar grade compliance | |
| conflict_free_asm_verified | No | Free from cartel/ASM taint | |
| feedstock_silver_grade_pct | No | Dorรฉ silver content % |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses evaluation steps and thresholds (e.g., mass balance loss <= 2.0%, assay purity >= 99.99% Ag, ASM screening, LBMA audit), but omits operational traits such as read-only status, permissions, and return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then lists the evaluation checks compactly. It is dense but every clause contributes substantive domain criteria, with no obvious repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex verification tool with 11 parameters, no annotations, and no output schema, the description does not explain return values or outcomes. It covers evaluation criteria but leaves critical operational context, such as what the verification produces and how to interpret results, unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 11 parameters thoroughly. The description maps evaluation concepts to some parameters (GIS geofencing, mass balance, purity, LBMA audit) but does not add parameter syntax or meaning beyond what the schema provides, warranting the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Verifies') and resource ('Mexican & Global Silver supply-chain provenance'), clearly identifying the tool's subject. It distinguishes the tool from non-silver origin verifiers by naming silver, though it does not explicitly contrast with siblings like verify_mineral_lot_compliance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as verify_mineral_lot_compliance or other origin-verification siblings. The purpose implies a use case, but no when/when-not conditions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
23 tool updates
v1.0.6- Added
calculate_trade_tariffs - Added
cancel_a2a_trade_deal - Added
close_agent_session - Added
dual_sign_trade_deal - Added
estimate_maritime_freight_and_carbon - Added
eudr_satellite_mine_audit - Added
get_a2a_trade_deal - Added
get_agent_session_info - Added
get_agent_vault_balance - Added
get_global_trade_flows - Added
get_trade_escrow_calldata - Added
list_a2a_trade_deals - Added
open_agent_session - Added
optimize_mineral_trade_route - Added
propose_a2a_trade_deal - Added
register_agent_account - Added
reject_a2a_trade_deal - Added
request_x402_payment_challenge - Added
simulate_procurement_rfq - Added
verify_a2a_trade_deal - Added
verify_copper_origin - Added
verify_electronic_bill_of_lading - Added
verify_silver_origin
4 tool updates
v1.0.5- Added
verify_cobalt_origin - Added
verify_composite_battery_passport - Added
verify_lithium_origin - Added
verify_nickel_origin
8 tool updates
v1.0.4- Removed
calculate_urban_mining_value - Removed
get_arbitrage_spreads - Added
get_compliance_status - Removed
get_mineral_prices - Added
list_trade_precedents - Added
minerals_list_evolution_proposals - Added
minerals_submit_agent_feedback - Added
verify_mineral_lot_compliance
2 tool updates
v1.0.2- Changed
calculate_urban_mining_value5 fields changed- changed
Input schema / properties / quantity_metric_tons / descriptionPrevious value: -"Total metric tons of feedstock batch to process"New value: +"Total metric tons of feedstock batch to process (default: 1.0)" - added
Input schema / properties / scrap_category / defaultAdded value: +"E_WASTE_HIGH_GRADE_PCB" - changed
Input schema / properties / scrap_category / descriptionPrevious value: -"Feedstock category of the recyclable scrap batch"New value: +"Feedstock category of the recyclable scrap batch (default: 'E_WASTE_HIGH_GRADE_PCB')" - changed
Input schema / properties / scrap_category / enumPrevious value: -[ - "EV_BATTERY_BLACK_MASS", - "AUTO_CATALYST_CERAMIC", - "E_WASTE_HIGH_GRADE_PCB", - "WIND_EV_PERMANENT_MAGNETS" -]New value: +[ + "E_WASTE_HIGH_GRADE_PCB", + "EV_BATTERY_BLACK_MASS", + "AUTO_CATALYST_CERAMIC", + "WIND_EV_PERMANENT_MAGNETS" +] - added
Input schema / properties / target_yield_currencyAdded value: +{ + "default": "USDC", + "description": "Settlement currency (default: 'USDC')", + "type": "string" +}
- Changed
get_mineral_prices1 field changed- added
Input schema / properties / mineral_typeAdded value: +{ + "default": "Neodymium", + "description": "Specific mineral name or symbol preset (default: 'Neodymium')", + "enum": [ + "Neodymium", + "Lithium", + "Dysprosium", + "Copper", + "Silver", + "Platinum", + "ALL" + ], + "type": "string" +}
3 tool updates
v1.0.0- First observed
calculate_urban_mining_value - First observed
get_arbitrage_spreads - First observed
get_mineral_prices
TDQS
Scored across 32 tools
Most tools have clearly distinct purposes, such as the various verify_*_origin tools which are differentiated by mineral type and region. Minor overlap exists between verify_mineral_lot_compliance (general 12-trap heuristic) and the specific origin verification tools, and between session management tools, but descriptions and names generally allow an agent to select the correct tool.
The set mixes several conventions: snake_case verb_noun (verify_cobalt_origin, get_agent_vault_balance), a prefixed pattern (minerals_submit_agent_feedback, minerals_list_evolution_proposals), and some noun-first names (open_agent_session, close_agent_session). The variety is still readable, but there is no single predictable pattern across all 32 tools.
With 32 tools, the surface is heavy and includes many highly specialized operations (five separate mineral origin verifiers, multiple session/payment tools, several A2A deal lifecycle tools). While each tool may serve a niche, the sheer count makes discovery and selection more difficult than necessary.
The server offers broad coverage: mineral origin verification, trade tariffs, freight, compliance, A2A deal lifecycle, session management, and payment challenges. Some potential gaps remain (e.g., no explicit update/delete for feedback or proposals, no direct settlement execution tool beyond calldata generation), but core workflows are well supported.
Related MCP Connectors
38 x402 pay-per-call tools for AI agents (USDC/USDT on Base): web, crypto, on-chain, geo, packages
Pay-per-call AI infra for agents: DeFi market data, LLM inference, STT/TTS. x402 v2, USDC on Base.
Pay-per-call (x402/USDC-Base) web + crypto data tools for AI agents: audit, extract, crypto, DeFi.
Pay-per-call crypto market intelligence for AI agents. USDC on Base via x402.
Related MCP Servers
- FlicenseAqualityNot gradedmaintenanceTrust infrastructure for AI agents on Base. DEX Spread Oracle (live Uniswap V3 prices), on-chain escrow, insurance pool, and collective knowledge base. 7 smart contracts. Pay-per-query via x402 micropayments in USDC.6-

hyperd-mcpofficial
AlicenseAqualityDmaintenancePre-trade DeFi intelligence for AI agents. 20 paid x402 endpoints, USDC on Base.2341 npm1MIT- AlicenseAqualityDmaintenanceUSDA nutrition API optimized for AI agents. x402 + USDC on Base41MIT
- FlicenseNot gradedqualityDmaintenancePay-per-use AI security and research tools for autonomous agents on Base, enabling honeypot detection, risk assessment, wallet analysis, and yield optimization via the x402 protocol.1-