Skip to main content
Glama
nohosa001-pixel

Critical Raw Minerals & ESG Compliance Oracle(x402)

EV Battery Critical Minerals & Provenance Oracle (minerals-oracle-x402)

PyPI Version CI/CD Tests Type Safety Multi-Chain EVM Agent Exclusive FastMCP License: MIT

๐Ÿค– 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)"]
  1. 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-Key or EIP-712 wallet signatures.

  2. A2A (Agent-to-Agent) Bilateral Contract & Negotiation Engine (app/a2a_deal_engine.py):

    • Machine-readable deal lifecycle: PROPOSED $\rightarrow$ DUAL_SIGNED_CONFIRMED $\rightarrow$ VERIFIED (or REJECTED / 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).

  3. 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 Transfer events and enforces immutable replay attack caching (logs/redeemed_tx_hashes.json) with thread-safe atomic file replacement.

  4. 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.

  5. 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)

MineralTradeEscrow

0x1270ddebad0ca90070342336a581eaACBA2060Ab

โœ… Verified

AgentPaymentVault

0xb44Bc2Acdd156cE08b549A00a3102e4B01276654

โœ… Verified

MineralsOracleConsumer

0x835d01534a5D2e63D52636Fafb1019f889d1E66B

โœ… Verified

Base Mainnet (8453)

MineralTradeEscrow

0xfCf3BF5fB5858db9aE81bE458B39b0032fc0C638

โœ… Verified

AgentPaymentVault

0x8ACafCEce0B1BFE140e75614b90FD1307b6f389d

โœ… Verified

MineralsOracleConsumer

0xe43a9C368808B2dfF139D27789C40A3C8F2282cF

โœ… Verified

Arbitrum One (42161)

MineralTradeEscrow

0xfCf3BF5fB5858db9aE81bE458B39b0032fc0C638

โœ… Verified

AgentPaymentVault

0x8ACafCEce0B1BFE140e75614b90FD1307b6f389d

โœ… Verified

MineralsOracleConsumer

0xe43a9C368808B2dfF139D27789C40A3C8F2282cF

โœ… 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, Pilgangoora M45/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

  1. verify_composite_battery_passport: Evaluates end-to-end NCM EV battery packs and generates Master Merkle EIP-712 attestations.

  2. verify_lithium_origin: Verifies Australian hard-rock spodumene extraction and conversion.

  3. verify_nickel_origin: Verifies Indonesian laterite limonite HPAL MHP provenance and SIMBARA tax clearance.

  4. verify_cobalt_origin: Verifies DRC Katanga heterogenite cobalt hydroxide provenance, CEEC seals, and child labor audits.

  5. verify_copper_origin: Verifies Chilean/South American copper cathode provenance, COCHILCO quotas, H2SO4 acid balance, and ASTM B115 HVDC compliance.

  6. verify_silver_origin: Verifies Mexican/South American silver dorรฉ provenance, LBMA certification, N-Type TOPCon solar PV 99.99% purity, and cartel defense.

  7. verify_mineral_compliance: Legacy 7-pillar compliance audit engine for individual mineral lots.

  8. 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: 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359

  • Treasury Recipient: 0xA185B43fDD19619f99952AAed6eabf1029bF36a1

  • Agent Vault Fast-Path: Zero-latency verification via pre-funded X-Agent-Vault-Key headers.


๐Ÿš€ 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 --reload

Navigate to:


๐Ÿ“œ 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 tools
calculate_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
mineral_typeYesTarget mineral commodity
importer_jurisdictionNoImporting destination (USA, EU, KOR, JPN, CHN)USA

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesTrade deal identifier to cancel
seller_signatureNoOptional cryptographic cancellation signature
cancellation_reasonNoReason for proposal revocation
seller_agent_addressYesSeller agent EVM address executing cancellation

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_addressYesAgent EVM wallet address
session_tokenYesActive session token (asess_...)

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesCanonical trade deal identifier
buyer_signatureYesBuyer agent cryptographic signature
buyer_agent_addressYesBuyer agent EVM address

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cii_ratingNoA
mineral_typeYesMineral cargo
origin_countryYesOrigin country
avoid_chokepointsNoChokepoints to avoid (e.g. ['RED_SEA', 'PANAMA_CANAL'])
destination_countryYesDestination country
cargo_weight_metric_tonsNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeYesMine extraction centroid latitude
longitudeYesMine extraction centroid longitude
country_codeNoISO alpha-2 or alpha-3 country codeID
area_hectaresNoConcession area in hectares
concession_idNoOptional concession or mine permit identifier

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesTrade deal identifier

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYesActive session token (asess_...)

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_keyNoAgent session key (vault_key_...)
agent_addressNoAgent Polygon address (0x...)

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
mineral_typeNoOptional filter by mineral (e.g. LITHIUM_HYDROXIDE, NICKEL_MHP)
origin_countryNoOptional origin country code (e.g. AUS, IDN, CHL)
destination_countryNoOptional destination country code (e.g. KOR, USA, CHN, EU)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesCanonical dual-signed trade deal identifier
chain_nameNoTarget settlement blockchainpolygon
escrow_contract_addressNoOptional custom MineralTradeEscrow contract address override

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_addressNoOptional agent EVM address filter
status_filterNoOptional status filter

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of proposals to fetch
mineral_focusNoOptional filter by mineral

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesSummary of proposed improvement or edge case
contentYesDetailed description, legal context, or observed issue
agent_idYesUnique identifier of the calling AI agent or operator (e.g. 'tesla-procure-agent-09')
caller_modelNoOptional underlying model (e.g. 'claude-3-5-sonnet', 'gemini-1.5-pro')
feedback_typeNoClassification categoryFEATURE_REQUEST
mineral_focusNoRelevant mineral commodityALL
contact_channelNoOptional agent webhook, ENS domain, or wallet address
proposed_solutionNoOptional suggested technical or architectural fix

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
signatureNoOptional EIP-712 deposit authorization signature
agent_addressYesAgent EVM wallet address (0x...)
deposit_amount_usdcNoUSDC deposit amount for session queries (default 10.0)
session_duration_hoursNoSession validity in hours (default 24)

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
mineral_typeYesTarget mineral cargo
origin_countryYesOrigin country
destination_countryYesDestination country
cargo_weight_metric_tonsYesVolume in MT
max_carbon_budget_co2_tonsNoMax acceptable voyage CO2 tons (optional)
target_delivery_deadline_daysNoMax acceptable transit days (optional)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYesCanonical TradeDealSpec object
seller_signatureYesSeller agent cryptographic signature over deal hash

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_nameYesAgent or bot operator name
agent_addressNoOptional Polygon wallet address (0x...)
initial_trial_balance_usdcNoTrial balance in USDC

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesTrade deal identifier to reject
buyer_signatureNoOptional cryptographic signature
rejection_reasonNoReason for rejection
buyer_agent_addressYesBuyer agent EVM address executing rejection

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNopolygon
pricing_tierNoSTANDARD

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
rfq_idYesBuyer agent RFQ identifier
cobalt_tonsYes
nickel_tonsYes
lithium_tonsYes
cell_chemistryNoTarget battery chemistryNCM811
pack_capacity_kwhNo
cobalt_origin_countryNoCOD
nickel_origin_countryNoIDN
cobalt_feoc_equity_pctNo
lithium_origin_countryNoAUS
nickel_feoc_equity_pctNo
lithium_feoc_equity_pctNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesTrade deal identifier to audit

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoCrude Cobalt Hydroxide
provinceNoLualaba
trace_idYesTraceability batch ID (e.g. COB-COD-2026-HYD01)
mine_typeNoLSM or ASMLSM
coordinatesYes[Lat, Lon] centroid
ceec_seal_idYesDRC CEEC barcode export seal ID
asm_comingledNoTrue if uncertified ASM ore co-mingled
refinery_nameYesRefinery name (e.g. Luilu Metallurgical Plant)
concession_nameYesConcession name (e.g. Kamoto Copper Company, Tenke Fungurume)
egc_custody_refNoEGC artisanal custody receipt (optional)
feoc_equity_pctNoCovered nation equity % (cap < 25%)
ore_grade_co_pctNoOre Co % (default 1.50%)
refinery_countryNoRefinery country codeCOD
rmi_rmap_smelter_idNoRMI RMAP audited smelter ID (optional)
hydroxide_grade_co_pctNoHydroxide Co % (default 30.0%)
zero_child_labor_audit_refNoILO 138/182 zero child labor audit reference
heterogenite_ore_input_tonsYesGross heterogenite ore input in metric tons
cobalt_hydroxide_output_tonsYesRefined crude hydroxide output in metric tons

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cobalt_lotYesCobaltOriginVerifyRequest payload
nickel_lotYesNickelOriginVerifyRequest payload
lithium_lotYesLithiumOriginVerifyRequest payload
cell_chemistryNoCathode chemistry (NCM811, NCM622, NCM523)NCM811
battery_pack_idYesUnique battery pack serial (e.g. BATT-NCM811-2026-PACK01)
pack_capacity_kwhNoPack capacity in kWh

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
lot_idYesUnique lot ID (e.g. COP-CHL-2026-LOT01)
mine_concession_nameNoMine concession nameCHUQUICAMATA
feoc_shareholding_pctNoCovered nation equity % (cap < 25%)
extraction_coordinatesYes[Lat, Lon] centroid
concentrate_grade_cu_pctNoCu concentrate grade %
sulfuric_acid_input_tonsYesActual H2SO4 consumed in metric tons
copper_cathode_purity_pctNoAssay purity % (Grade 1 >= 99.9935%)
hvdc_cable_spec_compliantNoHVDC grid compliance
feedstock_concentrate_tonsYesFlotation concentrate input in metric tons
refined_copper_cathode_tonsYesCathode output in metric tons
cochilco_export_clearance_idNoChilean COCHILCO clearance ID

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
vessel_nameYesRegistered vessel name
mineral_typeYesDeclared mineral cargo
shipper_nameYesShipper corporate name
consignee_nameYesConsignee corporate name
ebl_document_idYeseBL reference ID
ebl_document_hashYesSHA-256 hash of eBL document
carrier_imo_numberYes7-digit vessel IMO
port_of_loading_codeYes5-letter UN/LOCODE POL
port_of_discharge_codeYes5-letter UN/LOCODE POD
gross_weight_metric_tonsYesCargo gross weight in MT

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoLithium Hydroxide Monohydrate
trace_idYesTraceability lot ID (e.g., LIT-AU-2026-X091)
mine_nameYesHard-rock mine name (e.g. Greenbushes, Pilgangoora)
coordinatesYes[Lat, Lon] centroid
mine_countryNoAU
refinery_countryNoRefinery country code (AU, US, CHN)AU
refinery_facilityYesRefining facility name (e.g. Kwinana Plant)
minedex_tenement_idNoWA MINEDEX permit ID (optional)
spodumene_grade_pctNoLi2O grade % (default 6.0%)
refined_output_tonnageYesFinished product output in metric tons
refinery_feoc_equity_pctNoCovered nation equity % (cap < 25%)
spodumene_tonnage_extractedYesGross spodumene input in metric tons

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lot_idYesUnique lot/batch identifier
mineral_typeYes
source_countryYes
declared_purity_pctNoDeclared assay purity percentage
net_weight_metric_tonsYesNet weight in metric tons

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoNickel Mixed Hydroxide Precipitate (MHP)
trace_idYesTraceability batch ID (e.g. NIC-IDN-2026-MHP01)
coordinatesYes[Lat, Lon] centroid
simbara_ntpnYesIndonesia ESDM SIMBARA NTPN tax receipt code
concession_nameYesConcession name (e.g. Morowali Concession, Weda Bay)
feoc_equity_pctNoCovered nation equity % (cap < 25%)
mhp_output_tonsYesRefined MHP output in metric tons
mhp_grade_ni_pctNoMHP Ni % (default 38.5%)
ore_grade_ni_pctNoLimonite ore Ni % (default 1.35%)
captive_coal_powerNoTrue if refinery runs on captive coal
hpal_refinery_nameYesHPAL refinery name (e.g. QMB New Energy)
dhe_forex_deposit_refNoBank Indonesia 30% retention receipt (optional)
limonite_ore_input_tonsYesGross limonite ore input in metric tons

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
lot_idYesUnique silver batch ID (e.g. SIL-MEX-2026-PV01)
refined_purity_pctNoAssay purity % (Solar PV requires >= 99.99%)
mine_concession_nameNoMine concession nameTERRONERA
feoc_shareholding_pctNoCovered nation equity % (cap < 25%)
extraction_coordinatesYes[Lat, Lon] centroid
lbma_good_delivery_refNoLBMA accreditation ref (optional)
refined_solar_powder_kgYesFinished refined silver powder/paste yield in kg
feedstock_dore_or_ore_kgYesGross Dorรฉ bullion or ore input in kg
topcon_pv_grade_compliantNoN-type TOPCon solar grade compliance
conflict_free_asm_verifiedNoFree from cartel/ASM taint
feedstock_silver_grade_pctNoDorรฉ silver content %

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 23 tool updatesv1.0.6
    • Addedcalculate_trade_tariffs
    • Addedcancel_a2a_trade_deal
    • Addedclose_agent_session
    • Addeddual_sign_trade_deal
    • Addedestimate_maritime_freight_and_carbon
    • Addedeudr_satellite_mine_audit
    • Addedget_a2a_trade_deal
    • Addedget_agent_session_info
    • Addedget_agent_vault_balance
    • Addedget_global_trade_flows
    • Addedget_trade_escrow_calldata
    • Addedlist_a2a_trade_deals
    • Addedopen_agent_session
    • Addedoptimize_mineral_trade_route
    • Addedpropose_a2a_trade_deal
    • Addedregister_agent_account
    • Addedreject_a2a_trade_deal
    • Addedrequest_x402_payment_challenge
    • Addedsimulate_procurement_rfq
    • Addedverify_a2a_trade_deal
    • Addedverify_copper_origin
    • Addedverify_electronic_bill_of_lading
    • Addedverify_silver_origin
  2. 4 tool updatesv1.0.5
    • Addedverify_cobalt_origin
    • Addedverify_composite_battery_passport
    • Addedverify_lithium_origin
    • Addedverify_nickel_origin
  3. 8 tool updatesv1.0.4
    • Removedcalculate_urban_mining_value
    • Removedget_arbitrage_spreads
    • Addedget_compliance_status
    • Removedget_mineral_prices
    • Addedlist_trade_precedents
    • Addedminerals_list_evolution_proposals
    • Addedminerals_submit_agent_feedback
    • Addedverify_mineral_lot_compliance
  4. 2 tool updatesv1.0.2
    • Changedcalculate_urban_mining_value5 fields changed
      • changedInput schema / properties / quantity_metric_tons / description
        Previous value: -"Total metric tons of feedstock batch to process"New value: +"Total metric tons of feedstock batch to process (default: 1.0)"
      • addedInput schema / properties / scrap_category / default
        Added value: +"E_WASTE_HIGH_GRADE_PCB"
      • changedInput schema / properties / scrap_category / description
        Previous value: -"Feedstock category of the recyclable scrap batch"New value: +"Feedstock category of the recyclable scrap batch (default: 'E_WASTE_HIGH_GRADE_PCB')"
      • changedInput schema / properties / scrap_category / enum
        Previous 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"
        +]
      • addedInput schema / properties / target_yield_currency
        Added value: +{
        +  "default": "USDC",
        +  "description": "Settlement currency (default: 'USDC')",
        +  "type": "string"
        +}
    • Changedget_mineral_prices1 field changed
      • addedInput schema / properties / mineral_type
        Added value: +{
        +  "default": "Neodymium",
        +  "description": "Specific mineral name or symbol preset (default: 'Neodymium')",
        +  "enum": [
        +    "Neodymium",
        +    "Lithium",
        +    "Dysprosium",
        +    "Copper",
        +    "Silver",
        +    "Platinum",
        +    "ALL"
        +  ],
        +  "type": "string"
        +}
  5. 3 tool updatesv1.0.0
    • First observedcalculate_urban_mining_value
    • First observedget_arbitrage_spreads
    • First observedget_mineral_prices

TDQS

B3.2/5.0

Scored across 32 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count2/5

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.

Completeness4/5

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

Related MCP Servers