Skip to main content
Glama

tool_zar_prices

POST /tools/zar-prices/run — Returns live bid/ask/last prices for crypto/ZAR pairs. Input: {pair: 'BTC/ZAR'|'ETH/ZAR'|'SOL/ZAR'|'USDC/ZAR'|'all'}. Output: array of {exchange, pair, price, bid, ask, timestamp} objects. Sources: VALR (all 4 pairs), Luno (BTC/ZAR + ETH/ZAR only). SOL/ZAR and USDC/ZAR are VALR-only. Fetches all exchanges concurrently. Timestamps are ISO-8601 UTC. Cost: $0.0050 USDC per call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pairNoTrading pair to fetch. Use 'all' to fetch every supported pair concurrently.all

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.5/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 of behavioral disclosure. It adds important context: sources (VALR, Luno), per-exchange pair coverage, concurrent fetching, ISO-8601 UTC timestamps, and cost per call. However, it omits potential failure modes, rate limits, and authentication requirements, which would make it 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 compact yet information-dense, covering endpoint, input, output, sources, concurrency, timestamp format, and cost. Every sentence provides value without redundancy. It is well-structured and front-loaded with the primary purpose.

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?

With no output schema, the description adequately explains the return format (array of objects with exchange, pair, price, bid, ask, timestamp). It also covers source availability, concurrency, and cost. The context is sufficiently complete for an agent to invoke and interpret results correctly.

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 schema already covers the parameter 100% with enum values, default, and description. The tool description adds meaningful semantic enrichment by explaining which exchanges support each pair (e.g., 'SOL/ZAR and USDC/ZAR are VALR-only') and clarifies 'all' fetches concurrently. This goes 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 clearly states the tool's function: 'Returns live bid/ask/last prices for crypto/ZAR pairs.' It identifies the specific resource (crypto/ZAR pairs) and the action (fetch prices), and distinguishes it from sibling tools which are unrelated (compute, data transformer, airport oracle). The endpoint is also specified.

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 provides clear context on when to use the tool (to get live prices for specified pairs) and what inputs to provide. While it doesn't explicitly mention alternatives or when-not-to-use, the scope is well-defined and no competing sibling tools exist, making the usage context unambiguous.

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

A4.4/5.0
Disambiguation5/5

Each tool covers a completely different domain: Python execution, raw-text JSON extraction, South African airport flights, and ZAR crypto prices. There is no overlap in purpose, input shape, or use case, so agents should not confuse them.

Naming Consistency4/5

All tools share a 'tool_' prefix and lower_snake_case formatting, giving the set a recognizable pattern. The suffix style is mostly consistent, though 'compute_sandbox' and 'data_transformer' are generic capability nouns while 'sa_airport_oracle' and 'zar_prices' are more domain-branded, and none uses a verb-action pattern.

Tool Count4/5

Four tools is a manageable, non-bloated count for a utility/vending server. It is slightly lean given the broad 'Agent Vending Factory' name, but each tool is substantial and earns its place.

Completeness3/5

Each tool covers its own narrow operation well, but the set lacks a unifying domain or shared workflow; the compute, transformer, flight, and pricing endpoints are isolated one-shots. There is also no meta-tool for discovering, chaining, or managing the vended capabilities, so the surface feels like a grab-bag rather than a complete product.

Resources