Skip to main content
Glama

AssayChain — Mineral Intelligence (USGS and Field Runs)

extract.run

Read-onlyIdempotent

Returns invocation guidance for executing a paid extraction job after extract.estimate. Payment is x402 USDC on Base, amount equals cost_breakdown.price_usdc from the estimate (clamped onto the 5-tier ladder: $0.10 / $0.50 / $1.00 / $2.50 / $5.00). Result delivery: job_id + result + grade (A/B/C/D) + result_url. Grade D triggers 80% auto-refund. MCP cannot carry the X-PAYMENT header, so this tool returns the endpoint + price; execute the paid POST directly with an x402 client (x402-fetch, x402-axios).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
estimate_idYesThe estimate_id returned by extract.estimate.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYes
modelYes
ladderYesAllowed price tiers in USDC.
methodYes
statusYes
paymentYes
endpointYesFull URL of the paid REST endpoint to POST to.
expires_atYes
price_usdcYesExact price for this estimate, or null if unknown.
estimate_idYes
supported_source_typesYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral context beyond the readOnlyHint and idempotentHint annotations: it explains that MCP cannot carry the X-PAYMENT header, why the tool returns guidance rather than executing the POST, and details the result delivery and refund policy. This is rich, honest disclosure with no contradiction to the annotations.

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 concise but information-dense, covering purpose, payment, result format, refund, and next steps in a few sentences. It is front-loaded with the core action and each sentence earns its place, with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity and the rich annotations/context, the description is fully complete: it explains the payment ladder, result delivery fields, grade D refund, and the required next action. It also mentions the output schema components (job_id, result, grade, result_url), so nothing essential 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 coverage for the single parameter estimate_id is 100%, with the schema already describing it as 'The estimate_id returned by extract.estimate.' The tool description references estimate_id indirectly via 'after extract.estimate' but does not add new parameter semantics 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?

The description clearly states the tool 'Returns invocation guidance for executing a paid extraction job after extract.estimate,' using a specific verb and resource. It distinguishes itself from sibling tools like extract.estimate and extract.result by focusing on guidance for the paid run rather than estimation or result retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies the tool is used 'after extract.estimate' and instructs the agent to 'execute the paid POST directly with an x402 client' after receiving the endpoint and price. This provides clear contextual usage, though it does not explicitly contrast with alternatives like extract.result, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools target distinct data domains (operations, claims, surveys, supply, ESG, extraction). The three benchmark.* tools are clearly grouped, and supply_resilience vs supply_share are distinct in focus. Minor overlap exists between earth_mri_focus_areas and geophysics_surveys, both covering geophysical survey data.

Naming Consistency2/5

Tool names mix snake_case (active_operations, blm_claims_data) with dotted namespaces (benchmark.commodity, extract.estimate, sales.ask). There is no consistent verb_noun pattern; many are noun phrases, some are verb-led. This inconsistency makes the API surface harder to learn.

Tool Count3/5

At 19 tools, the server spans a wide domain (commodity benchmarks, extraction workflow, ESG, supply chain, surveys). While each tool has a clear role, the count exceeds the typical well-scoped range, making the surface feel heavy for an MCP server.

Completeness4/5

The tool set covers most critical mineral intelligence functions: operations, claims, surveys, benchmarks, criticality, trade, stockpile, supply, ESG, search, and extraction. Missing a direct full-data retrieval tool (payments happen via external REST endpoints) and a consolidated commodity report tool, but the coverage is strong.

Resources