Skip to main content
Glama
dwin-gharibi

ramzinex-mcp

by dwin-gharibi

A self-hostable Model Context Protocol server for the Ramzinex (رمزینکس) cryptocurrency exchange.

CI Docker Python 3.10+ License: MIT


Unofficial integration. This is a community-built MCP server. The "Ramzinex" name and logo belong to their owner. Not affiliated with, endorsed by, or sponsored by Ramzinex. Trading carries risk — use the order tools at your own risk.

What is this?

ramzinex-mcp exposes the Ramzinex exchange API as MCP tools and prompts so an LLM agent (Claude, etc.) can read markets, inspect an account, and — when you explicitly allow it — place and cancel orders. It is a small, stateless, async Python process you run yourself.

It mirrors the structure and quality of the sibling roshan-*-mcp servers: typed httpx client, pydantic-settings configuration, full test suite, Docker / Helm / Kubernetes / Terraform deploy assets, and generated architecture diagrams.

Related MCP server: Nobitex Market Data MCP Server

Public vs. private — and the trading guardrail

Ramzinex has two API bases, and this server routes each call to the right one automatically:

Surface

Base URL

Auth

Tools

Public

https://publicapi.ramzinex.com

none

market data (pairs, orderbooks, prices, currencies, networks)

Private

https://ramzinex.com

Authorization2: Bearer <token> + x-api-key: <api_key>

orders, funds/balances, deposits, withdrawals, addresses, rewards/commissions, API-key access management

🔐 Auth headers (Postman-accurate)

The live Ramzinex private API requires two non-standard headersnot the usual Authorization:

Authorization2: Bearer <token>
x-api-key: <api_key>

The header name carrying the token is configurable via auth_header_name (default Authorization2; set it to Authorization for legacy compatibility), and x-api-key is sent whenever an api_key is configured (send_x_api_key now defaults true). See Authentication.

⚠️ Money-moving & account-control safety

Some actions move real money or change what your API keys can do. They are gated by three separate per-instance flags, all default false:

  • enable_trading gates ramzinex_place_limit_order, ramzinex_place_market_order, ramzinex_cancel_order.

  • enable_withdrawals gates ramzinex_submit_withdraw, ramzinex_confirm_withdraw, and ramzinex_allocate_address (creating a deposit address is a wallet-write).

  • account_control gates ramzinex_edit_general_access and ramzinex_edit_private_access (API-key access management).

A master read_only flag forces all three off regardless of their values. When a gate is off the tool returns a structured refusal and never calls the API:

{"error": "trading_disabled", "message": "Set enable_trading=true (and read_only=false) on this instance to allow order placement/cancellation."}

Read-only tools (market data, viewing balances/orders) are always allowed. Tokens / secrets / api keys are never logged and are redacted from every error message. See Control flags & safety below.

Order lifecycle — placing is gated by enable_trading:

order-lifecycle

Withdrawals are separately gated by enable_withdrawals and require 2FA confirmation:

withdrawal-flow

Install

pip install -e .            # from a checkout
# or, for development:
pip install -e ".[dev]"

Requires Python 3.10+.

Quick start

Public market data needs no configuration at all:

python -m ramzinex_mcp          # stdio transport (default)

To use private (account) tools, authenticate with either a pre-issued bearer token or an api_key + secret pair (the server exchanges it for a token via the getToken login flow and re-issues automatically on a 401):

# Option A: pre-issued bearer token
export RAMZINEX_API_TOKEN=your-personal-api-token

# Option B: api_key + secret login flow (api_token wins if both are set)
export RAMZINEX_API_KEY=your-api-key
export RAMZINEX_SECRET=your-api-secret
# x-api-key is sent by default; the token rides in the Authorization2 header.
# export RAMZINEX_SEND_X_API_KEY=false      # opt out of the x-api-key header
# export RAMZINEX_AUTH_HEADER_NAME=Authorization  # legacy header-name mode

# Opt in to the gated tools (all default false):
export RAMZINEX_ENABLE_TRADING=true        # allow placing/cancelling orders
export RAMZINEX_ENABLE_WITHDRAWALS=true    # allow withdrawals + address allocation
export RAMZINEX_ACCOUNT_CONTROL=true       # allow API-key access management
python -m ramzinex_mcp

Run over HTTP for networked clients:

python -m ramzinex_mcp --transport streamable-http --host 0.0.0.0 --port 8000

Configuration (multi-account / multi-instance)

Configuration is read from environment variables via pydantic-settings. One process can front many Ramzinex accounts — each is a named instance with its own token and trading policy. Every API tool accepts an optional instance argument; omit it to use the default.

Shorthand (single default instance)

Variable

Default

Description

RAMZINEX_API_TOKEN

Pre-issued bearer token for private endpoints (wins over api_key+secret).

RAMZINEX_API_KEY

API key for the getToken login flow (with RAMZINEX_SECRET); also sent as x-api-key.

RAMZINEX_SECRET

API secret paired with RAMZINEX_API_KEY.

RAMZINEX_AUTH_HEADER_NAME

Authorization2

Header that carries the bearer token (set Authorization for legacy mode).

RAMZINEX_SEND_X_API_KEY

true

Also send x-api-key: <api_key> on private calls (the live API needs it).

RAMZINEX_PUBLIC_BASE_URL

https://publicapi.ramzinex.com

Public base URL.

RAMZINEX_PRIVATE_BASE_URL

https://ramzinex.com

Private base URL.

RAMZINEX_API_VERSION

v1.0

API version segment for the exchange paths.

RAMZINEX_ENABLE_TRADING

false

Allow placing/cancelling orders.

RAMZINEX_ENABLE_WITHDRAWALS

false

Allow withdrawals + deposit-address allocation.

RAMZINEX_ACCOUNT_CONTROL

false

Allow API-key access management (edit general/private access).

RAMZINEX_READ_ONLY

false

Master switch: forces all three gates off.

RAMZINEX_VERIFY_SSL

true

Verify TLS certificates.

RAMZINEX_TIMEOUT

30

Per-request timeout (seconds).

RAMZINEX_DEFAULT_INSTANCE

default

Instance used when instance is omitted.

RAMZINEX_LOG_LEVEL

INFO

DEBUG / INFO / WARNING / ...

Nested (named instances)

Variable

Description

RAMZINEX__INSTANCES__<NAME>__API_TOKEN

Pre-issued bearer token for instance <NAME>.

RAMZINEX__INSTANCES__<NAME>__API_KEY

API key for <NAME>'s getToken login flow (also sent as x-api-key).

RAMZINEX__INSTANCES__<NAME>__SECRET

API secret for <NAME>'s getToken login flow.

RAMZINEX__INSTANCES__<NAME>__AUTH_HEADER_NAME

Bearer-token header name for <NAME> (default Authorization2).

RAMZINEX__INSTANCES__<NAME>__SEND_X_API_KEY

Send x-api-key on <NAME>'s private calls (default true).

RAMZINEX__INSTANCES__<NAME>__ENABLE_TRADING

Trading switch for <NAME>.

RAMZINEX__INSTANCES__<NAME>__ENABLE_WITHDRAWALS

Withdrawals + address-allocation switch for <NAME>.

RAMZINEX__INSTANCES__<NAME>__ACCOUNT_CONTROL

API-key access-management switch for <NAME>.

RAMZINEX__INSTANCES__<NAME>__READ_ONLY

Master switch (forces all three gates off) for <NAME>.

RAMZINEX__INSTANCES__<NAME>__API_VERSION

API version for <NAME>.

RAMZINEX__INSTANCES__<NAME>__PUBLIC_BASE_URL

Public base for <NAME>.

RAMZINEX__INSTANCES__<NAME>__PRIVATE_BASE_URL

Private base for <NAME>.

RAMZINEX__INSTANCES__<NAME>__VERIFY_SSL

TLS verification (default true).

RAMZINEX__INSTANCES__<NAME>__TIMEOUT

Per-request timeout seconds (default 30).

RAMZINEX__DEFAULT_INSTANCE

Instance used when instance is omitted.

RAMZINEX__LOG_LEVEL

DEBUG / INFO / WARNING / ...

Example: a read-only personal account, a trading bot using api_key+secret, and a strictly read-only viewer.

RAMZINEX__INSTANCES__PERSONAL__API_TOKEN=personal-token
RAMZINEX__INSTANCES__PERSONAL__ENABLE_TRADING=false
RAMZINEX__INSTANCES__BOT__API_KEY=bot-key
RAMZINEX__INSTANCES__BOT__SECRET=bot-secret
RAMZINEX__INSTANCES__BOT__ENABLE_TRADING=true
RAMZINEX__INSTANCES__READONLY__API_TOKEN=viewer-token
RAMZINEX__INSTANCES__READONLY__READ_ONLY=true
RAMZINEX__DEFAULT_INSTANCE=personal

See .env.example for a complete, annotated file. Use list_instances to see what's configured (names, base URLs, api_version, auth_header_name, has_credentials, auth_method, enable_trading, enable_withdrawals, account_control, read_only) — it never reveals credential values.

Authentication: a pre-issued api_token, or api_key+secret exchanged for a cached Bearer (refreshed on 401):

auth-flow

Control flags & safety

Three independent gates plus a master switch protect the account. Use the effective trading_allowed / withdrawals_allowed / account_control_allowed values from list_instances (they already fold in read_only):

Flag

Default

Gates

Effective when

enable_trading

false

ramzinex_place_limit_order, ramzinex_place_market_order, ramzinex_cancel_order

enable_trading=true and read_only=false

enable_withdrawals

false

ramzinex_submit_withdraw, ramzinex_confirm_withdraw, ramzinex_allocate_address

enable_withdrawals=true and read_only=false

account_control

false

ramzinex_edit_general_access, ramzinex_edit_private_access

account_control=true and read_only=false

read_only

false

forces all three of the above off

When a gate is off, the tool returns {"error": "trading_disabled" / "withdrawals_disabled" / "account_control_disabled", "message": ...} and never contacts the API. ramzinex_refresh_deposits is a non-money-moving refresh and is not gated.

Authentication: api_token vs api_key + secret

Private endpoints require two non-standard headers: Authorization2: Bearer <token> and x-api-key: <api_key> (the live API does not use the standard Authorization). The token-carrying header name is configurable via auth_header_name (default Authorization2; set Authorization for legacy mode), and x-api-key is sent whenever an api_key is configured (send_x_api_key defaults true).

  • api_token — a pre-issued bearer token, sent directly as Authorization2: Bearer <token>. Simplest; takes precedence if both are set.

  • api_key + secret — the server POSTs them to auth/api_key/getToken, caches the returned token in memory per instance, reuses it, and re-authenticates once on a 401. Call ramzinex_authenticate to trigger/verify the login explicitly (it never returns the token). The api_key doubles as the x-api-key header value. Tokens, secrets, and api keys are never logged or echoed (Authorization2 / Authorization / x-api-key / secret / api_key are all redacted from errors).

The read_only master switch overrides the trading / withdrawal / account-control gates:

safety-gates

Use with an MCP client

Add it to your client's MCP server config (stdio):

{
  "mcpServers": {
    "ramzinex": {
      "command": "python",
      "args": ["-m", "ramzinex_mcp"],
      "env": {
        "RAMZINEX_API_TOKEN": "your-personal-api-token",
        "RAMZINEX_ENABLE_TRADING": "false"
      }
    }
  }
}

Tools

All 45 tools (42 service endpoints + 3 meta) accept an optional instance (except the two local meta tools, list_instances and ramzinex_docs). Private tools send Authorization2: Bearer <token> + x-api-key: <api_key>.

Market data — public, no auth

Tool

Endpoint

ramzinex_get_pairs

GET /exchange/api/v1.0/exchange/pairs

ramzinex_get_pair(pair_id)

GET .../pairs/{pair_id}

ramzinex_get_orderbook(pair_id)

GET .../orderbooks/{pair_id}/buys_sells

ramzinex_get_all_orderbooks

GET .../orderbooks/buys_sells

ramzinex_get_orderbook_buys(pair_id)

GET .../orderbooks/{pair_id}/buys

ramzinex_get_orderbook_sells(pair_id)

GET .../orderbooks/{pair_id}/sells

ramzinex_get_market_buy_price(pair_id, amount2)

GET .../orderbooks/{pair_id}/market_buy_price

ramzinex_get_market_sell_price(pair_id, amount)

GET .../orderbooks/{pair_id}/market_sell_price

ramzinex_get_prices

GET /exchange/api/exchange/prices

ramzinex_get_currencies

GET .../currencies

ramzinex_get_networks(currency_id?, withdraw?, deposit?)

GET .../networks

Auth & access management — private

Tool

Endpoint

Notes

ramzinex_authenticate

POST .../auth/api_key/getToken

Runs the api_key+secret login flow; caches the token (never returns it).

ramzinex_edit_general_access(address_free, alert)

POST .../auth/api_key/editGeneralAccess

⚠️ gated by account_control

ramzinex_edit_private_access(api_key_id, withdraw, trade, cancel, excel, ip_free, ips?)

POST .../auth/api_key/editPrivateAccess

⚠️ gated by account_control

Orders — private

Tool

Endpoint

Notes

ramzinex_get_orders(limit, offset, types, pairs, currencies, states, is_buy)

POST .../users/me/orders2

read-only

ramzinex_get_order(order_id)

GET .../users/me/orders2/{order_id}

read-only

ramzinex_place_limit_order(pair_id, amount, price, type)

POST .../users/me/orders/limit

⚠️ gated by enable_trading

ramzinex_place_market_order(pair_id, amount, type)

POST .../users/me/orders/market

⚠️ gated by enable_trading

ramzinex_cancel_order(order_id)

POST .../users/me/orders/{order_id}/cancel

⚠️ gated by enable_trading

ramzinex_get_turnover(days=30)

GET .../users/me/orders/turnover

read-only

Funds — private

Tool

Endpoint

ramzinex_get_funds

GET .../users/me/funds/details

ramzinex_get_currency_fund(currency_id)

GET .../funds/details/currency/{currency_id}

ramzinex_get_balance_summary

GET .../users/me/funds/summaryDesktop

ramzinex_get_total_balance(currency_id)

GET .../funds/total/currency/{currency_id}

ramzinex_get_available_balance(currency_id)

GET .../funds/available/currency/{currency_id}

ramzinex_get_in_orders_balance(currency_id)

GET .../funds/in_orders/currency/{currency_id}

ramzinex_get_rial_equivalent

GET .../users/me/funds/rial_equivalent

ramzinex_get_usdt_equivalent

GET .../users/me/funds/usdt_equivalent

ramzinex_refresh_funds

POST .../users/me/funds/refresh

Wallet (deposits / withdrawals / addresses) — private

Tool

Endpoint

Notes

ramzinex_get_addresses(networks)

POST .../users/me/addresses

read-only

ramzinex_allocate_address(network_id, currency_id?)

POST .../users/me/addresses/generate

⚠️ gated by enable_withdrawals; best-effort path (confirm against panel)

ramzinex_get_deposits(limit, offset)

GET .../funds/deposits

read-only

ramzinex_get_currency_deposits(currency_id, limit, offset)

GET .../funds/deposits/currency/{currency_id}

read-only

ramzinex_get_deposit(deposit_id)

GET .../funds/deposits/{deposit_id}

read-only

ramzinex_refresh_deposits(currency_id)

POST .../funds/deposits/refresh/currency/{currency_id}

refresh (no funds moved)

ramzinex_get_withdraws(limit, offset, currency_id?)

GET .../funds/withdraws

read-only

ramzinex_get_currency_withdraws(currency_id)

GET .../funds/withdraws/currency/{currency_id}

read-only

ramzinex_get_withdraw(withdraw_id)

GET .../funds/withdraws/{withdraw_id}

read-only

ramzinex_submit_withdraw(currency_id, amount, address, network_id, tag?)

POST .../funds/withdraws/currency/{currency_id}

⚠️ gated by enable_withdrawals

ramzinex_confirm_withdraw(withdraw_id, code, ga_code)

POST .../funds/withdraws/{withdraw_id}/verify

⚠️ gated by enable_withdrawals

Rewards & commissions — private

Tool

Endpoint

Notes

ramzinex_get_rewards

GET .../users/me/rewards

read-only; best-effort path (confirm against panel)

ramzinex_get_commissions

GET .../users/me/commissions

read-only; best-effort path (confirm against panel)

Meta

Tool

Description

healthcheck

Pings the public pairs endpoint and reports reachability.

list_instances

Lists configured instances (base URLs, api_version, auth_header_name, has_credentials, auth_method, enable_trading, enable_withdrawals, account_control, read_only) — never credential values.

ramzinex_docs(topic?)

Offline reference + links to https://ramzinex.com/exchange/apidocs.

All endpoints at a glance, grouped by category:

endpoint-map

API coverage

Every section/endpoint of the official Postman collection maps to a tool. The source column is postman for items present in the collection text and best-effort for the three tools whose exact URLs the pasted collection did not include (rewards, commissions, and deposit-address allocation) — confirm those against the Ramzinex panel/Postman.

Postman section / endpoint

Method

Path

Tool

Source

Market — pairs

GET

/.../exchange/pairs

ramzinex_get_pairs

postman

Market — pair

GET

/.../exchange/pairs/{id}

ramzinex_get_pair

postman

Market — orderbook

GET

/.../orderbooks/{id}/buys_sells

ramzinex_get_orderbook

postman

Market — all orderbooks

GET

/.../orderbooks/buys_sells

ramzinex_get_all_orderbooks

postman

Market — orderbook buys

GET

/.../orderbooks/{id}/buys

ramzinex_get_orderbook_buys

postman

Market — orderbook sells

GET

/.../orderbooks/{id}/sells

ramzinex_get_orderbook_sells

postman

Market — market buy price

GET

/.../orderbooks/{id}/market_buy_price

ramzinex_get_market_buy_price

postman

Market — market sell price

GET

/.../orderbooks/{id}/market_sell_price

ramzinex_get_market_sell_price

postman

Market — prices feed

GET

/exchange/api/exchange/prices

ramzinex_get_prices

postman

Market — currencies

GET

/.../exchange/currencies

ramzinex_get_currencies

postman

Market — networks

GET

/.../exchange/networks

ramzinex_get_networks

postman

Auth — getToken

POST

/.../auth/api_key/getToken

ramzinex_authenticate

postman

Auth — editGeneralAccess

POST

/.../auth/api_key/editGeneralAccess

ramzinex_edit_general_access

postman

Auth — editPrivateAccess

POST

/.../auth/api_key/editPrivateAccess

ramzinex_edit_private_access

postman

Orders — list

POST

/.../users/me/orders2

ramzinex_get_orders

postman

Orders — get

GET

/.../users/me/orders2/{id}

ramzinex_get_order

postman

Orders — limit

POST

/.../users/me/orders/limit

ramzinex_place_limit_order

postman

Orders — market

POST

/.../users/me/orders/market

ramzinex_place_market_order

postman

Orders — cancel

POST

/.../users/me/orders/{id}/cancel

ramzinex_cancel_order

postman

Orders — turnover

GET

/.../users/me/orders/turnover

ramzinex_get_turnover

postman

Funds — details

GET

/.../users/me/funds/details

ramzinex_get_funds

postman

Funds — currency detail

GET

/.../funds/details/currency/{id}

ramzinex_get_currency_fund

postman

Funds — summaryDesktop

GET

/.../funds/summaryDesktop

ramzinex_get_balance_summary

postman

Funds — total

GET

/.../funds/total/currency/{id}

ramzinex_get_total_balance

postman

Funds — available

GET

/.../funds/available/currency/{id}

ramzinex_get_available_balance

postman

Funds — in_orders

GET

/.../funds/in_orders/currency/{id}

ramzinex_get_in_orders_balance

postman

Funds — rial equivalent

GET

/.../funds/rial_equivalent

ramzinex_get_rial_equivalent

postman

Funds — usdt equivalent

GET

/.../funds/usdt_equivalent

ramzinex_get_usdt_equivalent

postman

Funds — refresh

POST

/.../funds/refresh

ramzinex_refresh_funds

postman

Wallet — addresses

POST

/.../users/me/addresses

ramzinex_get_addresses

postman

Wallet — allocate address

POST

/.../users/me/addresses/generate

ramzinex_allocate_address

best-effort

Wallet — deposits

GET

/.../funds/deposits

ramzinex_get_deposits

postman

Wallet — currency deposits

GET

/.../funds/deposits/currency/{id}

ramzinex_get_currency_deposits

postman

Wallet — deposit

GET

/.../funds/deposits/{id}

ramzinex_get_deposit

postman

Wallet — refresh deposits

POST

/.../funds/deposits/refresh/currency/{id}

ramzinex_refresh_deposits

postman

Wallet — withdraws

GET

/.../funds/withdraws

ramzinex_get_withdraws

postman

Wallet — currency withdraws

GET

/.../funds/withdraws/currency/{id}

ramzinex_get_currency_withdraws

postman

Wallet — withdraw

GET

/.../funds/withdraws/{id}

ramzinex_get_withdraw

postman

Wallet — submit withdraw

POST

/.../funds/withdraws/currency/{id}

ramzinex_submit_withdraw

postman

Wallet — confirm withdraw

POST

/.../funds/withdraws/{id}/verify

ramzinex_confirm_withdraw

postman

Rewards — rewards

GET

/.../users/me/rewards

ramzinex_get_rewards

best-effort

Rewards — commissions

GET

/.../users/me/commissions

ramzinex_get_commissions

best-effort

Meta — reachability

GET

/.../exchange/pairs

healthcheck

local

Meta — instances

(local)

list_instances

local

Meta — docs

(local)

ramzinex_docs

local

⚠ = money-moving or account-control; gated by enable_trading / enable_withdrawals / account_control (all forced off by read_only).

Prompts

The server also ships MCP prompts — safety-aware workflows your client can list and run (details in prompts/README.md):

  • market_overview — pull pairs + an orderbook and summarize the market.

  • check_balances — walk the funds/balance tools to report holdings.

  • place_trade_safely — a careful checklist that verifies enable_trading and confirms parameters before placing a REAL order.

  • portfolio_report — combine funds + open orders + turnover.

Skill

A ready-to-use Claude/agent skill lives at skills/ramzinex/SKILL.md. It describes when and how to use these tools — market lookup, balance checks, and the safe trading flow — with example tool sequences.

Architecture

The MCP client talks to one ramzinex-mcp process, which routes public calls to publicapi.ramzinex.com and authenticated calls (with the Authorization2 + x-api-key headers) to ramzinex.com.

architecture

One process can serve many accounts; the instance argument selects which token / trading policy to use.

self-hosting

A typical flow: read the market on the public API, check the enable_trading gate, then place and confirm an order on the private API.

request-flow

Regenerate the diagrams with make diagrams (uses the diagrams package + Graphviz dot and cairosvg).

Self-hosting & scaling

ramzinex-mcp is stateless, so you can run as many replicas as you like behind a load balancer. One process fronts multiple accounts via RAMZINEX__INSTANCES__<NAME>__* — no code change. Back off on HTTP 429 if the exchange rate-limits you. See deploy/ for Docker Compose, Kubernetes (raw + Kustomize), a Helm chart, and a Terraform module.

Testing

make smoke          # no-network smoke test (tools + prompts + descriptions)
make test           # full pytest suite (offline; all HTTP mocked with respx)
make lint           # ruff

Live tests against the real API are skipped unless RAMZINEX_LIVE=1 is set (and, for private endpoints, RAMZINEX_API_TOKEN):

RAMZINEX_LIVE=1 pytest tests/live -q

License

MIT. ramzinex-mcp is an unofficial, community-built integration; the Ramzinex name and logo belong to their owner.

Available Tools

45 tools
healthcheckA

Check that Ramzinex is reachable via a lightweight public endpoint.

Persian purpose: بررسی در دسترس بودن رمزینکس. Calls the public GET /exchange/api/{ver}/exchange/pairs endpoint (no auth) and reports whether the API responded. Returns {reachable, pairs_count?} on success or a structured error otherwise.

Args: instance: Name of the configured Ramzinex instance. Defaults to the configured default instance when omitted (the public bases work without any token).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Discloses the endpoint called, auth requirements (none), response format (reachable, pairs_count? or error), and default instance behavior. No hidden side effects mentioned, but as a health check, read-only is clear.

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?

Well-structured with clear purpose, endpoint, and parameter details. The Persian section is slightly redundant but not overly verbose. Front-loads key info.

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?

Given the tool's simplicity (one optional param, output schema available), the description is complete enough for an agent to use correctly. Error handling is briefly noted.

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 description explains the 'instance' parameter beyond the schema, including default and token requirement. Since schema coverage is 0%, this adds necessary context.

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 checks Ramzinex reachability via a lightweight public endpoint, specifying the exact API path and that no auth is needed. It distinguishes itself from siblings focused on trading or auth.

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?

Implies usage for connectivity checks without auth, but does not explicitly contrast with sibling tools or advise when to prefer this over others. No exclusion criteria given.

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

list_instancesA

List the configured Ramzinex instances (no secrets).

Persian purpose: فهرست نمونه‌های پیکربندی‌شده. Useful for discovering which instance values the other tools accept and which ones are set up for trading, withdrawals, or account control. Credential values (api_token, api_key, secret) are NEVER returned — only booleans saying whether they are configured.

Returns: {default_instance, instances: [{name, public_base_url, private_base_url, api_version, auth_header_name, has_credentials, auth_method, enable_trading, enable_withdrawals, account_control, read_only, trading_allowed, withdrawals_allowed, account_control_allowed, send_x_api_key, verify_ssl}]}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Given no annotations, the description effectively discloses that credential values are never returned, only booleans indicating configuration, and specifies the return structure, though it could mention read-only nature explicitly.

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 concise and front-loaded with the main action and purpose. The inclusion of a Persian phrase may not be essential for an English agent, but it does not detract significantly.

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?

The description covers the tool's function, purpose, and return format well. It does not mention edge cases or error states, but given the simplicity (no parameters), it is fairly complete.

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?

With zero parameters, the baseline is 4. The description does not need to add parameter info, and it appropriately omits any.

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 lists configured Ramzinex instances without secrets, and explains its purpose in discovering accepted instance values and their capabilities, distinguishing it from related tools.

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 good guidance on when to use the tool (to discover instance values) and clarifies it does not return secrets, but does not explicitly mention when not to use it or contrast with specific sibling tools.

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

ramzinex_allocate_addressA

Allocate/generate a deposit address for the wallet — WARNING: wallet write.

Persian purpose: تخصیص آدرس به کیف پول کاربر. Requires configured credentials AND enable_withdrawals=true (and read_only=false) on the instance; otherwise it returns {"error": "withdrawals_disabled", ...} without contacting the API (creating a deposit address is a wallet-write action).

BEST-EFFORT PATH — confirm against the Ramzinex panel/Postman. The pasted Postman collection did not include the exact URL for this endpoint; this tool implements POST /exchange/api/{ver}/exchange/users/me/addresses/generate with body {network_id, currency_id?} as a documented assumption.

Args: network_id: Numeric id of the network to allocate an address on (must be > 0; discover via ramzinex_get_networks). currency_id: Optional numeric currency id the address is for. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
network_idYes
currency_idNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: it is a wallet-write action, can fail with 'withdrawals_disabled' error, and is a best-effort implementation with an assumed endpoint. This provides crucial transparency beyond the basic action.

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 action and warning, then prerequisites and implementation notes. It is a bit lengthy with technical endpoint details, but every section adds value. No wasted sentences.

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 has 3 parameters (1 required) and an output schema, the description covers purpose, prerequisites, error conditions, parameter semantics, and implementation caveats. It is complete enough for an AI agent to use effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds rich meaning: network_id must be >0 and discoverable via sibling tool, currency_id is optional numeric, instance is optional. This compensates fully for the schema gap.

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 action ('Allocate/generate a deposit address') and the resource ('the wallet'), and provides a Persian purpose. It distinguishes this tool from siblings like ramzinex_get_addresses (read-only) and ramzinex_submit_withdraw (withdrawal).

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 explicitly lists prerequisites (credentials, enable_withdrawals=true, read_only=false) and warns of error if not met. It implies caution but does not explicitly state when not to use or suggest alternatives. However, the context is clear enough.

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

ramzinex_authenticateA

Authenticate an instance and cache its bearer token (no token leaked).

Persian purpose: احراز هویت و دریافت توکن. Runs the api_key + secret getToken login flow (POST /exchange/api/{ver}/exchange/auth/api_key/getToken) and caches the resulting bearer token in memory for subsequent private calls. If the instance is configured with a pre-issued api_token instead, it simply reports success. The token value is NEVER returned.

Args: instance: Configured instance to authenticate (default when omitted).

Returns: {authenticated: true, instance, method} on success, where method is "api_token" or "api_key"; otherwise a structured error.

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, description fully discloses behavior: caches token in memory, never returns token, uses POST endpoint, returns success/error structure. Does not mention side effects beyond caching, but adequate for non-destructive auth.

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?

Structure is clear: English summary, Persian purpose, then details, Args, Returns. Front-loaded main purpose. Persian adds length but may aid multilingual agents. Overall concise.

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?

Given single optional parameter and output schema mentioned in description, the description covers return shape and caching behavior. Lacks error detail but sufficient for simple auth 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 0%, so description adds value by explaining 'instance' parameter and default. However, lacks cross-reference to list_instances or details on valid instance values.

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?

Description clearly states 'Authenticate an instance and cache its bearer token' with specific verb and resource. Includes Persian purpose for clarity. Sibling tools are all functional operations, making this the only authentication tool, so no confusion.

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?

Implies usage before private calls but does not explicitly state 'call this first' or provide alternatives. Describes two authentication methods (api_key vs api_token) but no exclusions or when-not-to-use.

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

ramzinex_cancel_orderA

Cancel one of my open orders — WARNING: this changes account state.

Persian purpose: لغو یک سفارش باز. Requires a configured API token AND enable_trading=true on the instance; otherwise it returns {"error": "trading_disabled", ...} without contacting the API. Maps to POST /exchange/api/v1.0/exchange/users/me/orders/{order_id}/cancel.

Args: order_id: Numeric id of the order to cancel. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/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 explicitly warns that the tool changes account state and details the error behavior when trading is disabled. This adequately discloses behavioral traits beyond mere functionality.

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 and well-structured, with a clear purpose, warning, Persian note, requirements, endpoint mapping, and parameter documentation. Every sentence adds value without redundancy.

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 simplicity, the description covers purpose, parameters, prerequisites, error cases, and endpoint mapping. An output schema exists, so return values are not needed. The description is complete and informative.

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 0%, but the description explains both parameters: order_id is a numeric id and instance is optional with a default. This adds necessary meaning 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?

The description clearly states the verb 'Cancel' and the resource 'one of my open orders'. It distinguishes from sibling tools like ramzinex_place_limit_order and ramzinex_get_orders by being the cancel action.

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 prerequisites: a configured API token and enable_trading=true. It warns when the tool will return an error without contacting the API. However, it does not explicitly state when not to use or provide alternative tools.

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

ramzinex_confirm_withdrawA

Confirm a pending withdrawal with 2FA codes — WARNING: moves REAL funds.

Persian purpose: تأیید برداشت با کدهای امنیتی (انتقال وجه واقعی). Requires configured credentials AND enable_withdrawals=true (and read_only=false); otherwise it returns {"error": "withdrawals_disabled", ...} without contacting the API. Maps to POST /exchange/api/{ver}/exchange/users/me/funds/withdraws/{withdraw_id}/verify with body {code, ga_code}. This finalizes an irreversible withdrawal.

Args: withdraw_id: Numeric id of the withdrawal to confirm (from ramzinex_submit_withdraw). code: SMS/email verification code (non-empty). ga_code: Google Authenticator (TOTP) code (non-empty). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
withdraw_idYes
codeYes
ga_codeYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It warns that the action moves real funds and is irreversible. It also describes the error condition when withdrawals are disabled, providing clear 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?

The description is well-structured with a warning, Persian purpose, prerequisites, API mapping, and parameter list. It is slightly verbose but efficient, with no redundant sentences.

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?

Despite no annotations and zero schema coverage for parameters, the description provides thorough context: purpose, prerequisites, behavior, parameter details, and the irreversible nature. An output schema exists, so return values need no explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All four parameters are described in detail in the description, including expected content (non-empty for codes, numeric for withdraw_id) and source (from ramzinex_submit_withdraw). The schema has no descriptions (coverage 0%), so the description adds full semantic value.

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 confirms a pending withdrawal with 2FA codes, explicitly warning that it moves real funds and finalizes an irreversible action. It distinguishes from sibling tools like ramzinex_submit_withdraw by mentioning the pending state.

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?

It explicitly lists prerequisites: configured credentials, enable_withdrawals=true, and read_only=false. It describes error behavior when conditions are not met. However, it does not mention when to avoid using the tool or alternative approaches.

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

ramzinex_docsA

Return offline documentation about Ramzinex and this server's tools.

Persian purpose: راهنمای رمزینکس و ابزارها. Use this to learn what Ramzinex offers and how each tool maps to the underlying API, without making any network call. Links point to https://ramzinex.com/exchange/apidocs.

Args: topic: Optional tool name (e.g. ramzinex_get_pairs) to fetch docs for a single tool. When omitted, returns the service overview plus the full tool list.

Returns: A dict with service metadata and matching tool documentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

The description notes that no network call is made and provides a link to external docs, but does not disclose other potential behaviors like authentication requirements or rate limits. Given no annotations, this is adequate but minimal.

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 well-structured with a clear purpose, usage guidance, and parameter/return details, though the Persian line adds slight redundancy for an English-speaking agent.

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 presence of an output schema, the description adequately covers the return value and parameter behavior, providing sufficient context for a documentation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description fully explains the single parameter 'topic', including its effect when provided versus omitted, which adds substantial value 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 explicitly states it returns offline documentation about Ramzinex and the server's tools, distinguishing it clearly from the sibling tools which are actual API operations.

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?

It explains when to use the tool (to learn about tools without network calls) and describes the behavior of the optional topic parameter. However, it does not explicitly state when not to use it or name specific alternatives.

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

ramzinex_edit_general_accessA

Update the account-wide API-key general access — WARNING: account control.

Persian purpose: ویرایش دسترسی عمومی کلید API. Requires configured credentials AND account_control=true (and read_only=false) on the instance; otherwise it returns {"error": "account_control_disabled", ...} without contacting the API. Maps to POST /exchange/api/{ver}/exchange/auth/api_key/editGeneralAccess with body {addressFree, alert}. This changes security-sensitive access settings for your API keys.

Args: address_free: 0 or 1 — whether withdrawals to any (non-whitelisted) address are allowed. alert: 0 or 1 — whether access-change alerts are enabled. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
address_freeYes
alertYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.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 warns that the tool changes 'security-sensitive access settings' and provides the HTTP mapping. It also describes the error response for disabled account control. However, it does not mention whether the change is reversible, immediate, or has side effects beyond the warning. Moderate 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 description is roughly 6 sentences, front-loaded with purpose and a warning. It follows a logical order: purpose, prerequisite, HTTP mapping, argument details. Every sentence adds value, though the Persian translation is slightly redundant. It could be slightly trimmed but is well-structured.

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 security-sensitive mutation tool with no annotations and an existing output schema (not described), the description covers the key aspects: purpose, prerequisites, error behavior, parameter meanings, and endpoint. It does not explain the return value (acceptable since output schema exists) or immediate effects of changes. Overall, it provides enough context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/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 fully. Each parameter is explained clearly: address_free (0/1, controls withdrawals to non-whitelisted addresses), alert (0/1, enables access-change alerts), and instance (default when omitted). This adds significant meaning beyond the schema's type-only definitions.

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 updates 'account-wide API-key general access', using a specific verb and resource. The warning 'account control' and Persian purpose further clarify the scope. It distinguishes from siblings by naming the similar 'ramzinex_edit_private_access' in the sibling list, and the description's focus on 'general access' implies a counterpart for private access.

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?

Explicit prerequisites are given: requires configured credentials, account_control=true, and read_only=false. It describes the error returned if account_control is disabled, helping the agent decide when to use. However, it does not directly compare to ramzinex_edit_private_access, though the naming implies a distinction.

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

ramzinex_edit_private_accessA

Update per-key API access permissions — WARNING: account control.

Persian purpose: ویرایش دسترسی اختصاصی یک کلید API. Requires configured credentials AND account_control=true (and read_only=false) on the instance; otherwise it returns {"error": "account_control_disabled", ...} without contacting the API. Maps to POST /exchange/api/{ver}/exchange/auth/api_key/editPrivateAccess with body {api_key_id, withdraw, trade, cancel, excel, ipFree, ips}. This changes what one specific API key may do.

Args: api_key_id: Numeric id of the API key to edit. withdraw: 0 or 1 — allow withdrawals with this key. trade: 0 or 1 — allow placing orders with this key. cancel: 0 or 1 — allow cancelling orders with this key. excel: 0 or 1 — allow Excel/report export with this key. ip_free: 0 or 1 — when 1, the key works from any IP (no IP allowlist). ips: Optional list of allowed IPs (used when ip_free is 0). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
api_key_idYes
withdrawYes
tradeYes
cancelYes
excelYes
ip_freeYes
ipsNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: the tool is a mutation (changes permissions), requires specific instance configuration, and returns a specific error without contacting the API if conditions are unmet. It also maps to an HTTP 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?

The description is well-organized with a warning, Persian purpose, prerequisites, HTTP mapping, and parameter list. It is slightly verbose (e.g., repeating the endpoint details) but each section adds value and there is 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 complexity (8 parameters, security implications, output schema exists), the description covers prerequisites, parameter explanations, and behavior. The output schema handles return values, so the description is complete for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description compensates by explaining each parameter's meaning (e.g., 'withdraw: 0 or 1 — allow withdrawals'). It also clarifies the relationship between ip_free and ips. All 8 parameters are covered with clear semantics.

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 updates per-key API access permissions, with a specific verb ('edit private access') and resource ('API key'). It implicitly distinguishes from the sibling 'ramzinex_edit_general_access' by focusing on private access.

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 explicitly states prerequisites (configured credentials, account_control=true, read_only=false) and the error response when conditions are not met. It does not directly compare to alternatives, but the sibling tool names ('edit_general_access' vs 'edit_private_access') provide context.

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

ramzinex_get_addressesA

Get my wallet addresses for the given networks (read-only).

Persian purpose: آدرس‌های کیف پول کاربر برای شبکه‌های مشخص. Requires configured credentials. Maps to POST /exchange/api/{ver}/exchange/users/me/addresses with a body of {"networks": [...]}.

Args: networks: Non-empty list of network identifiers to fetch addresses for (discover them with ramzinex_get_networks). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
networksYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It states the tool is read-only, which is a key behavioral trait. However, it does not detail error handling or edge cases, leaving some behavioral aspects uncovered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description includes a Persian language note and API endpoint mapping, which may be extraneous. While fairly concise, some content could be trimmed without losing clarity.

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?

With an output schema present, the description does not need to detail return values. It covers purpose, parameters, prerequisites, and hints for related tools, providing sufficient context for effective usage.

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 0%, so the description compensates by explaining the 'networks' parameter as a non-empty list and directing to ramzinex_get_networks for discovery. It also clarifies the 'instance' parameter's default behavior, adding value 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 'Get my wallet addresses for the given networks (read-only)', specifying the verb (get), resource (wallet addresses), and scope (for given networks). This distinguishes it from sibling tools like ramzinex_get_networks or ramzinex_get_available_balance.

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 mentions required credentials and suggests discovering networks via ramzinex_get_networks. It implicitly indicates usage for querying addresses but does not explicitly exclude scenarios or provide alternatives.

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

ramzinex_get_all_orderbooksA

Get the orderbooks for all pairs at once.

Persian purpose: دفتر سفارش‌های همه بازارها. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/orderbooks/buys_sells.

Args: instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/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 burden. It discloses that the tool is public, requires no auth, and maps to a GET endpoint—indicating a safe read operation. However, it does not discuss potential large response sizes, rate limits, or pagination, which are relevant for an all-pairs endpoint.

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: two sentences plus an Args line. No redundant information. Every sentence adds value—purpose, authentication, endpoint mapping, and parameter explanation.

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 is simple (one optional parameter) and has an output schema, the description covers the essential purpose and parameter. However, it lacks usage context such as when to prefer this over sibling orderbook tools, and it does not mention typical response size or behavior for large datasets.

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?

With 0% schema description coverage, the description explains the sole parameter 'instance' as 'Configured instance whose public base URL to use (default when omitted).' This adds meaning beyond the schema's type definition, but does not enumerate valid instance values or how they are configured.

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 'Get the orderbooks for all pairs at once.' This specifies a precise verb and resource, and distinguishes it from sibling tools like ramzinex_get_orderbook, which is for a single pair.

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 via 'all pairs at once' and mentions 'Public, no auth,' but does not explicitly contrast with alternatives like ramzinex_get_orderbook, ramzinex_get_orderbook_buys, or ramzinex_get_orderbook_sells. Guidance is implied rather than explicit.

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

ramzinex_get_available_balanceA

Get the available (free) balance for one currency (read-only).

Persian purpose: موجودی در دسترس کاربر برای یک ارز مشخص. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/available/currency/{currency_id}.

Args: currency_id: Numeric id of the currency. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

The description explicitly states this is a read-only operation and maps to a GET endpoint. It mentions authentication requirements. However, no annotations are provided, and the description does not cover error handling, rate limits, or what happens with invalid currency IDs.

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 generally concise, with a clear first sentence and a useful mapping to the API endpoint. The inclusion of a Persian sentence may be extraneous for an English-speaking agent but does not significantly detract from clarity.

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?

Given the tool's simplicity (single currency balance retrieval) and the presence of an output schema, the description covers the essential aspects: read-only nature, authentication, parameters, and endpoint mapping. It is sufficiently complete for an AI agent to use correctly.

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 has 0% description coverage, so the description must compensate. It explains that currency_id is a numeric id and that instance is an optional configured instance. This adds basic meaning beyond the schema, but does not provide extensive detail.

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 clearly states that the tool retrieves the available (free) balance for a specific currency. It includes a Persian translation and maps to the API endpoint. However, it does not explicitly differentiate from sibling tools like ramzinex_get_total_balance or ramzinex_get_balance_summary.

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 mentions that credentials are required and that an optional instance parameter can be used. It implies that this tool is for checking free balance per currency, but it does not provide explicit guidance on when to use this tool versus other balance-related tools.

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

ramzinex_get_balance_summaryC

Get the account balance summary (read-only).

Persian purpose: خلاصه دارایی کاربر. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/summaryDesktop.

Args: instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It states 'read-only' and requires credentials, but no other behavioral traits like data freshness, caching, or rate limits are disclosed.

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?

Short and front-loaded with purpose, but includes a Persian translation and API endpoint that add minor overhead. Overall efficient.

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?

Output schema exists, so return values need not be explained. However, the description doesn't clarify what the summary includes relative to other balance tools, leaving some ambiguity for a simple 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 coverage is 0%, but the description adds meaning for the single parameter 'instance' by noting it as a configured instance with a default. This is adequate but could be more detailed.

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 clearly states 'Get the account balance summary (read-only)' with a specific verb and resource. It distinguishes itself from siblings like get_total_balance or get_available_balance by being a 'summary', but does not explicitly differentiate its scope.

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 vs. alternatives such as ramzinex_get_total_balance or ramzinex_get_funds. It mentions requiring credentials but no context on when it is appropriate.

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

ramzinex_get_commissionsA

List commission / fee history (read-only).

Persian purpose: تاریخچه کمیسیون‌ها و کارمزدها. Requires configured credentials.

BEST-EFFORT PATH — confirm against the Ramzinex panel/Postman. The pasted Postman collection has a rewards/commissions section but did not include the exact URL; this tool implements GET /exchange/api/{ver}/exchange/users/me/commissions as a documented assumption.

Args: instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 correctly states 'read-only' but lacks details on error handling, rate limits, or data freshness. The credentials requirement is noted, but overall behavioral context is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is verbose with technical notes about the Postman collection, URL assumption, and Persian text. This extraneous information reduces clarity and efficiency for an AI agent.

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?

An output schema exists, so return values are covered. The description adequately explains the tool's purpose and the single parameter. However, the 'best-effort' caveat introduces uncertainty, and no guidance on when to use relative to sibling tools is provided.

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?

With only one parameter (instance) and 0% schema coverage, the description adds value by explaining 'Configured instance to use (default when omitted)'. This compensates well for the lack of schema documentation.

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 'List commission / fee history (read-only)' which specifies the verb and resource. The Persian translation reinforces the purpose. Among siblings like ramzinex_get_rewards and ramzinex_get_turnover, this tool is distinctly about commissions/fees.

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 mentions 'Requires configured credentials' but does not specify when to use this tool over alternatives like ramzinex_get_rewards. The 'BEST-EFFORT PATH' note implies uncertainty, which undermines clear guidance.

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

ramzinex_get_currenciesA

List the currencies supported by Ramzinex.

Persian purpose: فهرست ارزهای پشتیبانی‌شده. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/currencies.

Args: instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It states the operation is read-only (via GET) and requires no authentication. This is basic transparency but does not disclose details like data volume, rate limits, or 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (2 sentences plus Args line) and front-loaded with the main purpose. The Persian line is slightly extraneous for an English AI agent, but overall efficient.

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?

Given the tool's simplicity (1 parameter, no required params, output schema exists), the description covers the purpose, endpoint, auth, and parameter. It does not describe the return value, but the output schema handles that. Completeness is adequate for the complexity.

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 has 0% description coverage, so the description must compensate. It explains the 'instance' parameter as 'Configured instance whose public base URL to use (default when omitted)', adding meaningful context beyond the schema's type and default.

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 'List the currencies supported by Ramzinex', providing a specific verb and resource. It distinguishes from sibling tools like ramzinex_get_pairs or ramzinex_get_networks by focusing on currencies generally. The inclusion of the API path adds clarity.

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 mentions 'Public, no auth', indicating when to use the tool (no authentication needed). However, it does not provide explicit guidance on when not to use it or compare to alternatives. Usage context is implied but lacks exclusions.

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

ramzinex_get_currency_depositsA

List my deposits for one currency, paginated (read-only).

Persian purpose: واریزهای کاربر برای یک ارز مشخص. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/deposits/currency/{currency_id} with limit and offset query params.

Args: currency_id: Numeric id of the currency to list deposits for. limit: Max number of deposits to return (1-1000, default 50). offset: Number of deposits to skip for pagination (default 0). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
limitNo
offsetNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. States read-only and pagination, but lacks details on authentication failures, rate limits, or error handling. Output schema exists but not described.

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?

Concise overall, but includes a Persian line and API mapping that add minor verbosity. Structure is clear: summary, args. Efficient but could trim non-essential elements.

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?

Given 4 params, 1 required, no annotations, and presence of output schema, description covers purpose, parameters, pagination, and read-only. Missing error handling details but sufficient for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, description fully explains all 4 parameters: currency_id (numeric id), limit (max, range, default), offset (skip, default), instance (configured instance). Adds meaningful context beyond 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?

Clearly states it lists deposits for one currency with pagination and read-only. Distinguishes from siblings like ramzinex_get_deposits (all currencies) and ramzinex_get_deposit (single deposit).

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?

Declares read-only nature and required credentials. No explicit when-not or alternatives, but the currency-specific purpose is clear. Minor gap: not mentioning that for all currencies use get_deposits.

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

ramzinex_get_currency_fundA

Get balance details for one currency (read-only).

Persian purpose: جزئیات دارایی کاربر برای یک ارز مشخص. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/details/currency/{currency_id}.

Args: currency_id: Numeric id of the currency (from ramzinex_get_currencies). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It identifies the tool as read-only and requires configured credentials, and maps to an HTTP GET. However, it lacks additional behavioral details such as error handling, rate limits, or data freshness.

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 short (4 sentences plus bulleted args) and front-loaded with the core purpose. The Persian line adds little for an English-speaking AI but does not detract significantly. The structure is clear and scannable.

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 simple read operation with an output schema, the description covers purpose, authorization, endpoint, and parameter details. It ties currency_id to another tool. Minor omissions exist (e.g., error cases), but overall it provides sufficient context for correct invocation.

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 0%, but the description's 'Args' section adds crucial meaning: currency_id is a numeric id from ramzinex_get_currencies, and instance is optional with a default. This goes beyond the schema's type-only 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 clearly states the tool gets balance details for one currency and is read-only. It uses a specific verb and resource, and the 'one currency' distinction differentiates it from sibling tools like ramzinex_get_funds.

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 mentions that credentials are required and that the currency_id comes from ramzinex_get_currencies, providing a prerequisite. However, it does not explicitly contrast with alternatives like ramzinex_get_funds or ramzinex_get_available_balance, leaving the agent to infer when to use this specific tool.

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

ramzinex_get_currency_withdrawsA

List my withdrawals for one currency (read-only).

Persian purpose: برداشت‌های کاربر برای یک ارز مشخص. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/withdraws/currency/{currency_id}.

Args: currency_id: Numeric id of the currency to list withdrawals for. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It correctly notes 'read-only' and the API endpoint. However, it does not describe the return format or confirm that no side effects occur beyond basic read 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?

The description is relatively concise (5 lines) and front-loaded with purpose. The inclusion of Persian text adds redundancy for English-only agents, slightly reducing conciseness. Overall good structure.

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?

Given 2 parameters (1 required), 0% schema coverage, and an output schema present, the description covers both parameters adequately, notes read-only and credentials. It is complete for a low-complexity tool.

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 0%, but the description adds meaning by explaining currency_id as 'Numeric id of the currency' and instance as 'Configured instance to use (default when omitted)', which enhances schema semantics.

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 'List my withdrawals for one currency (read-only)', specifying verb (List), resource (withdrawals), and scope (one currency). This distinctly separates it from siblings like ramzinex_get_withdraws (all currencies) and ramzinex_get_withdraw (single withdrawal).

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 mentions 'Requires configured credentials' but does not explicitly state when to use this tool over alternatives or provide exclusions. The context of listing a single currency is implied but not contrasted directly with siblings.

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

ramzinex_get_depositA

Get one deposit by id (read-only).

Persian purpose: مشخصات یک واریز مشخص. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/deposits/{deposit_id}.

Args: deposit_id: Numeric id of the deposit to fetch. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
deposit_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description clearly states the tool is read-only and maps to a GET endpoint, indicating no side effects. It also notes that the instance parameter defaults when omitted. However, it does not disclose error handling or return format details, though an output schema exists.

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 relatively concise, with a clear purpose, Persian translation, API endpoint, and parameter list. It is well-structured but includes a possibly redundant Persian line that may not be needed for English readers.

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?

Given the tool's simplicity (2 parameters, output schema exists), the description covers input semantics and read-only nature. It could mention that the deposit must exist or that it returns a single deposit object, but the output schema likely covers return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides clear explanations for both parameters: 'Numeric id of the deposit to fetch' for deposit_id and 'Configured instance to use (default when omitted)' for instance. This adds significant meaning beyond the minimal titles in 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 'Get one deposit by id (read-only)', specifying the verb, resource, and scope. It distinguishes from sibling tools like ramzinex_get_deposits which likely list deposits, and the id parameter clarifies the single-item retrieval.

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 mentions 'Requires configured credentials' as a prerequisite, but does not provide explicit guidance on when to use this tool versus siblings such as ramzinex_get_deposits or ramzinex_get_currency_deposits. The context is implied but lacks direct comparisons.

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

ramzinex_get_depositsA

List my deposits, paginated (read-only).

Persian purpose: فهرست واریزهای کاربر. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/deposits with limit and offset query params.

Args: limit: Max number of deposits to return (1-1000, default 50). offset: Number of deposits to skip for pagination (default 0). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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 full burden. It discloses read-only nature, pagination, credential requirement, and API endpoint. However, it does not mention potential errors, rate limits, or any side effects, which is acceptable for a simple read 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?

The description is well-structured with a clear purpose, a Persian translation, API mapping, and parameter docs. It is efficient and front-loaded, though slightly longer than necessary.

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?

Given the existence of an output schema, the description adequately explains the input parameters and basic behavior. It does not cover filtering or sorting, but for a paginated list tool, it is sufficiently complete.

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 0%, but the description adds clear meaning for all three parameters: limit (with range and default), offset (default), and instance (default behavior). This compensates for the schema's lack of descriptions.

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 clearly states 'List my deposits, paginated (read-only)' and includes a Persian purpose and API endpoint mapping. However, it does not differentiate from similar sibling tools like ramzinex_get_currency_deposits or ramzinex_get_deposit, so it loses one point.

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 mentions it is read-only and requires credentials, and hints at pagination usage via limit/offset. But it does not explicitly state when to use this tool versus other deposit-related tools or provide exclusion criteria.

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

ramzinex_get_fundsA

Get full balance details for all currencies (read-only).

Persian purpose: جزئیات دارایی کاربر برای همه ارزها. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/details.

Args: instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/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 clearly states 'read-only' and 'Requires configured credentials,' and maps to a specific API endpoint. This informs the agent that the tool performs a safe, authenticated query with no side effects. However, it does not detail rate limits or response format, but for a simple balance retrieval this is adequate.

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 concise, including the core purpose, a note on credentials, the API endpoint, and parameter documentation. The Persian phrase adds minor redundancy but does not harm clarity. Overall, it is efficiently structured and front-loaded with the most important 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?

The tool has an output schema (not shown), so return values are presumably documented there. The description covers the purpose, parameter, and authentication requirement. It is complete enough for a read-only balance tool, though it could mention that it returns data for all currencies in one call.

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?

With schema description coverage at 0%, the description adds value by explaining that the 'instance' parameter is a configured instance and that omitting it uses the default. This clarifies the parameter's purpose beyond the schema type definition. The single parameter is well covered.

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 verb ('Get'), the resource ('full balance details'), and the scope ('for all currencies'). It also explicitly marks the tool as read-only, which distinguishes it from siblings like ramzinex_get_available_balance or ramzinex_get_balance_summary that likely provide more limited views.

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 mentions that configured credentials are required but does not compare this tool to its many siblings (e.g., when to use get_funds vs get_available_balance). The usage context is only implied: when full balance details are needed. No explicit when-not-to-use or alternative recommendations are given.

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

ramzinex_get_in_orders_balanceA

Get the in-orders (locked) balance for one currency (read-only).

Persian purpose: موجودی درگیر در سفارش‌های کاربر برای یک ارز. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/in_orders/currency/{currency_id}.

Args: currency_id: Numeric id of the currency. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/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. It explicitly states the tool is 'read-only' and maps to a GET endpoint, which is a key behavioral trait. It also notes that configured credentials are required. However, it does not disclose potential error conditions or rate limits, though for a simple read-only balance check, these may be less critical.

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 compact and front-loaded with the core purpose. The structure includes a brief main line, a Persian translation, and a clear 'Args' section. The Persian line adds minor noise but does not significantly detract. Overall, every sentence serves a purpose, though the Persian might be unnecessary for the AI.

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 is simple (get locked balance for one currency), and an output schema exists, so the description does not need to explain return values. However, it lacks references to sibling tools or when to use this over others. It covers the basics (params, credential requirement, read-only) but could be more complete by noting differences from available balance or total balance tools.

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 0%, so the description must compensate. It explains that 'currency_id' is a 'Numeric id' and 'instance' is a 'Configured instance to use (default when omitted).' This adds basic meaning beyond the schema types but lacks details such as how to obtain these values or format constraints. The description provides adequate but not thorough parameter guidance.

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 'Get the in-orders (locked) balance for one currency (read-only).' The verb 'Get' and resource 'in-orders (locked) balance' are specific, and the read-only annotation distinguishes it from mutating tools. Among siblings like ramzinex_get_available_balance, this one is uniquely identified by 'locked balance', so differentiation is clear.

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 lacks explicit guidance on when to use this tool versus alternatives like ramzinex_get_available_balance or ramzinex_get_total_balance. It mentions it requires credentials but does not specify when not to use it or compare with other balance tools. The Persian translation does not aid in usage decisions.

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

ramzinex_get_market_buy_priceA

Estimate the price to BUY for a given quote amount.

Persian purpose: برآورد قیمت خرید برای مبلغ مشخص (ارز مظنه). Public, no auth. Maps to GET /exchange/api/{ver}/exchange/orderbooks/{pair_id}/market_buy_price with the amount2 (quote-currency) query parameter.

Args: pair_id: Numeric id of the pair. amount2: Amount in the quote currency (e.g. IRR/Toman) to spend buying. Must be greater than zero. instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
amount2Yes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It states it's public, no auth, and maps to a GET endpoint, implying read-only. However, it lacks details on rate limits, error handling, or any side effects. Given the absence of annotations, a score of 3 is adequate as basic behavior is covered.

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 well-structured with a clear purpose statement, Persian translation, API mapping, and an Args section. It front-loads the main purpose. While slightly verbose due to the API endpoint details, it remains focused and earns its length.

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?

Given that an output schema is present, return values are covered elsewhere. The description covers purpose, parameters, and public access. It lacks error conditions or prerequisites, but for a simple price estimation tool, it is sufficiently complete.

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 0%, but the description provides detailed explanations for each parameter: 'pair_id' is numeric id, 'amount2' is amount in quote currency (e.g., IRR/Toman) and must be >0, 'instance' is a configured instance. This adds significant meaning beyond the schema's types and titles.

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 it estimates the price to BUY for a given quote amount, specifying the verb 'estimate', resource 'market buy price', and the query parameter. It distinguishes from its sibling 'ramzinex_get_market_sell_price' which does the opposite, so the tool's purpose is well-defined and differentiated.

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 mentions 'Public, no auth' and maps to a GET endpoint, indicating it's a read operation open to all. It implies use when you need a buy price estimate, but does not explicitly state when not to use it or alternatives. The sibling existence provides context, but explicit guidance is lacking.

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

ramzinex_get_market_sell_priceA

Estimate the price to SELL for a given base amount.

Persian purpose: برآورد قیمت فروش برای مقدار مشخص (ارز پایه). Public, no auth. Maps to GET /exchange/api/{ver}/exchange/orderbooks/{pair_id}/market_sell_price with the amount (base-currency) query parameter.

Args: pair_id: Numeric id of the pair. amount: Amount in the base currency to sell. Must be greater than zero. instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
amountYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

Describes as estimation and public, no auth. Adds endpoint mapping but does not clarify that no order is placed or any potential limits. Adequate but could be more explicit.

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?

Well-structured with main line, Persian purpose, endpoint, and parameter details. Slightly redundant Persian purpose adds length but not harmful.

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?

Covers purpose, endpoint, parameters. Lacks explanation of output (but output schema exists) and precision of estimate. Mostly complete for a read-only tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description fully explains all three parameters (pair_id, amount with constraint, instance default), adding essential meaning beyond schema titles.

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?

Clearly states it estimates the price to SELL for a given base amount, with explicit verb+resource and distinguishes from sibling ramzinex_get_market_buy_price.

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?

Implies usage for selling but lacks explicit guidance on when to use vs alternatives (e.g., buy price) or exclusions. Mentions 'Public, no auth' but no when-not context.

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

ramzinex_get_networksA

List deposit/withdraw networks, optionally filtered.

Persian purpose: شبکه‌های موجود برای واریز و برداشت. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/networks with optional currency_id, withdraw, and deposit query filters.

Args: currency_id: Restrict to one currency's networks (numeric id). withdraw: When set, filter to networks that support withdrawals. deposit: When set, filter to networks that support deposits. instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idNo
withdrawNo
depositNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/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 discloses that the tool is public and no auth is needed, which is helpful for safe usage. However, it does not mention potential rate limits, data freshness, or any other behavioral traits beyond the basic GET request. The return behavior is partially implied by the parameter descriptions but not explicitly stated.

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 well-structured: English purpose, Persian translation, API mapping, and an argument list. Each sentence is informative and contributes value. It is slightly longer than necessary but remains efficient. The front-loading of the main purpose is good.

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?

Given that an output schema exists (though not shown), the description need not detail return values. It adequately covers the tool's purpose, parameters, authentication status, and API mapping. However, it lacks mention of potential pagination or response structure, but this is acceptable since the output schema can provide that. Overall, it is sufficiently complete for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, yet the description provides detailed explanations for all four parameters: currency_id (restrict to one currency), withdraw (filter by withdrawal support), deposit (filter by deposit support), and instance (configured instance URL). This fully compensates for the missing schema descriptions and adds significant value.

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 it lists deposit/withdraw networks with optional filtering. It distinguishes from sibling tools like ramzinex_get_currencies (currencies) and ramzinex_get_pairs (trading pairs) by specifying 'networks'. The mapping to the API endpoint and Persian purpose add further clarity.

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 explains the filtering parameters and notes that the tool is public with no authentication required. While it does not explicitly state when to use this vs alternatives, the context is clear given the tool name and sibling tools. No exclusive usage guidance is provided, but the information is sufficient for an agent to decide.

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

ramzinex_get_orderA

Get one of my orders by id (read-only).

Persian purpose: مشخصات یک سفارش مشخص. Requires a configured API token. Maps to GET /exchange/api/v1.0/exchange/users/me/orders2/{order_id}.

Args: order_id: Numeric id of the order to fetch. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description bears full burden. It declares the operation as read-only and notes the need for a configured API token, offering a clear safety profile. However, it lacks details on error responses or potential side effects, which are minimal for a read 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?

The description is concise with four sentences covering purpose, authentication, endpoint mapping, and parameter details. The inclusion of a Persian purpose line is slightly redundant but does not detract from overall conciseness.

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 simplicity (fetch one order by id with two parameters), the description adequately covers purpose, parameters, authentication, and endpoint. The presence of an output schema reduces the need to describe return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description compensates fully by explaining each parameter: 'order_id' as numeric id of the order, and 'instance' as the configured instance with default behavior. This adds significant value beyond the schema's type and title fields.

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 'Get one of my orders by id (read-only)', specifying the action, resource, and read-only nature. This distinguishes it from sibling tools like 'ramzinex_get_orders' which retrieves multiple orders.

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 mentions the API endpoint and requirement for an API token, implying authentication context. It does not explicitly state when to use versus alternatives, but the specificity of 'by id' provides implicit guidance.

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

ramzinex_get_orderbookA

Get the buy/sell orderbook for a single pair.

Persian purpose: دفتر سفارش‌های خرید و فروش یک بازار. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/orderbooks/{pair_id}/buys_sells.

Args: pair_id: Numeric id of the pair to fetch the orderbook for. instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description bears the burden. It states the operation is public and requires no auth, implying a read-only, non-destructive behavior. However, it doesn't disclose error handling, data freshness, or any limits, which would strengthen 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?

The description is extremely concise: a one-line purpose, Persian translation, endpoint mapping, and parameter list. Every sentence adds value with no fluff. Well-structured.

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?

Given the presence of an output schema (not shown), the description need not detail return values. It covers the core purpose, parameters, and public nature. It could mention that both buy and sell sides are returned, but the name already implies that. Overall, sufficiently complete for its context.

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?

Input schema had 0% description coverage, but the description adds clear meaning for both parameters: pair_id is 'Numeric id of the pair' and instance is 'Configured instance whose public base URL to use'. This compensates well for the schema gap.

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 fetches the buy/sell orderbook for a single pair. It differentiates from sibling tools like ramzinex_get_orderbook_buys, ramzinex_get_orderbook_sells, and ramzinex_get_all_orderbooks by specifying 'single pair' and including both sides.

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 notes 'Public, no auth' and provides the HTTP endpoint, but does not explicitly compare when to use this vs the separate buys/sells tools. Usage context is implied by the name and Persian text, but no explicit when/when-not guidance is given.

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

ramzinex_get_orderbook_buysA

Get only the BUY side of the orderbook for a pair.

Persian purpose: سمت خرید دفتر سفارش‌های یک بازار. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/orderbooks/{pair_id}/buys.

Args: pair_id: Numeric id of the pair to fetch buy orders for. instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 behavioral disclosure. It explicitly states the tool is public and requires no authentication, and maps to a specific HTTP GET endpoint, indicating a read-only operation. This adequately conveys the behavioral profile.

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 and well-structured. It provides the core purpose, a Persian translation (optional but not harmful), authentication note, API mapping, and parameter explanations—all in a few sentences without redundancy.

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?

Given the tool's simplicity and the presence of an output schema, the description covers essential aspects: purpose, parameters, auth, and API mapping. It is complete for a straightforward get-orderbook tool, though it could mention that returns only buy orders (already implied by name and description).

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 description adds value beyond the input schema by specifying that pair_id is a 'Numeric id' and that instance has a default when omitted. Since the schema has no descriptions for parameters (0% coverage), the description compensates well for both parameters.

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: 'Get only the BUY side of the orderbook for a pair'. It uses a specific verb ('Get') and resource ('BUY side of orderbook'), and effectively distinguishes from sibling tools like ramzinex_get_orderbook_sells and ramzinex_get_orderbook.

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 includes useful context such as 'Public, no auth' and the API mapping. While it implies when to use (for buy side), it doesn't explicitly contrast with alternatives or state when not to use. Still, the context is clear enough for an agent to decide.

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

ramzinex_get_orderbook_sellsA

Get only the SELL side of the orderbook for a pair.

Persian purpose: سمت فروش دفتر سفارش‌های یک بازار. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/orderbooks/{pair_id}/sells.

Args: pair_id: Numeric id of the pair to fetch sell orders for. instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description covers key behavioral aspects: public, no auth, and the mapping to an API endpoint. It also explains the default for the instance parameter, adding 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?

The description is concise with no wasted words, well-structured with purpose, endpoint, and args sections.

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 presence of an output schema, the description covers purpose, parameters, authentication, and endpoint mapping, making it complete for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description fully compensates by explaining pair_id as a numeric id and instance as a configured instance with a default. This adds complete meaning beyond the schema types.

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 it gets the SELL side of the orderbook for a pair, specifying it is public, no auth, and maps to a specific endpoint. This differentiates it from sibling tools like ramzinex_get_orderbook_buys and ramzinex_get_orderbook.

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 implies when to use this tool (when only sells are needed) by explicitly saying 'Get only the SELL side'. It does not explicitly mention alternatives, but sibling names provide context.

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

ramzinex_get_ordersA

List my orders, filterable and paginated (read-only).

Persian purpose: فهرست سفارش‌های کاربر. Requires a configured API token. Maps to POST /exchange/api/v1.0/exchange/users/me/orders2 with a JSON body of filters.

Args: limit: Max number of orders to return (1-1000, default 200). offset: Number of orders to skip for pagination (default 0). types: Optional list of order-type ids to filter by. pairs: Optional list of pair ids to filter by. currencies: Optional list of currency ids to filter by. states: Optional list of order-state ids to filter by (e.g. open). is_buy: When true, return only buy orders (default false). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
typesNo
pairsNo
currenciesNo
statesNo
is_buyNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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 burden. It states the tool is read-only and requires an API token, but does not disclose rate limits, authentication details beyond token, or pagination behavior (e.g., total count, result truncation). Basic transparency is present but could be more comprehensive.

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 reasonably concise, with front-loaded purpose and an organized 'Args' section. The inclusion of a Persian-purpose line adds context but slightly duplicates the English. Overall, it is well-structured and efficient, though it could be trimmed slightly without losing meaning.

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?

Given 8 parameters, no annotations, and a provided output schema (so return values need not be explained), the description is quite complete. It covers parameter details, read-only nature, and endpoint mapping. It lacks guidance on error conditions or rate limits, but for a read-only list tool, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite the context indicating 0% schema coverage, the description lists all 8 parameters with defaults, ranges (e.g., limit 1-1000), and meanings. It adds value beyond the input schema by explaining how each filter works (e.g., 'Optional list of order-state ids to filter by'). This is excellent documentation.

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 'List my orders, filterable and paginated (read-only)'. It specifies the verb (list), resource (orders), and scope (my orders, filterable, paginated, read-only). It distinguishes from sibling tools like ramzinex_cancel_order and ramzinex_place_limit_order. The HTTP endpoint mapping adds further clarity.

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 indicates that the tool is read-only and requires a configured API token, implying when to use it. However, it does not explicitly state when not to use it or provide alternatives for similar functionality, such as ramzinex_get_order for a single order. There is no exclusion guidance, which is adequate but not exemplary.

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

ramzinex_get_pairA

Get a single Ramzinex market pair by its numeric id.

Persian purpose: مشخصات یک بازار مشخص. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/pairs/{pair_id}.

Args: pair_id: Numeric id of the pair (e.g. 2 for BTC/IRR). Discover ids with ramzinex_get_pairs. instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Discloses that the tool is public and requires no authentication, and maps to a GET endpoint. With no annotations provided, the description adequately covers the read-only nature and access requirements.

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?

Extremely concise with no fluff; efficiently communicates purpose, parameter explanation, and usage note. The Persian purpose line is redundant but does not detract from overall brevity.

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?

For a simple GET tool with an output schema, the description covers the essential: what it does, how to use it (including parameter details and prerequisite discovery), and its public nature. No gaps in context.

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?

Despite 0% schema description coverage, the description explains 'pair_id' with an example (2 for BTC/IRR) and describes 'instance' as an optional base URL config. This adds meaningful context beyond the schema types.

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?

Description clearly states 'Get a single Ramzinex market pair by its numeric id', specifying the exact action and resource. It includes the API endpoint and distinguishes from the sibling tool 'ramzinex_get_pairs' which lists all pairs.

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?

Explicitly advises to use 'ramzinex_get_pairs' to discover IDs, and notes that the tool is public and requires no auth. Lacks explicit 'when not to use' but provides sufficient guidance for correct invocation.

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

ramzinex_get_pairsA

List all Ramzinex market pairs with their 24h financials.

Persian purpose: فهرست همه بازارها و آمار ۲۴ ساعته. Public, no auth. Maps to GET /exchange/api/{ver}/exchange/pairs. Returns the full set of tradeable pairs with last price, buy/sell, and 24h volume data.

Args: instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description bears full burden. It states the endpoint, auth status, and return fields (last price, buy/sell, volume). But it omits details like caching, update frequency, pagination, or rate limits, leaving gaps.

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 structured with a main sentence, a Persian phrase, endpoint mapping, and an args section. Slightly wordy with the Persian line, but overall clear and not excessive.

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?

The tool is a simple list-all-pairs function. The description covers purpose, endpoint, return data, and auth. An output schema exists. Missing context like data freshness or limits, but adequate for the tool's simplicity.

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 only parameter 'instance' is explained in the description as 'Configured instance whose public base URL to use', which adds meaning beyond the schema's type definition. Given 0% schema coverage, this explanation compensates well.

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 verb 'List' and resource 'all Ramzinex market pairs'. It distinguishes from sibling 'ramzinex_get_pair' by specifying it returns the full set, not a single pair.

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 mentions 'Public, no auth', giving context that this is an unrestricted endpoint. However, it does not explicitly state when to use this versus other tools like 'ramzinex_get_pair' or 'ramzinex_get_orderbook'.

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

ramzinex_get_pricesB

Get the simple prices feed for all markets.

Persian purpose: خوراک ساده قیمت‌ها. Public, no auth. Maps to GET /exchange/api/exchange/prices (note: this path omits the version segment).

Args: instance: Configured instance whose public base URL to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

The description mentions public access, no auth, and the HTTP method (GET), which implies read-only behavior. However, with no annotations, it does not disclose potential side effects, rate limits, or data freshness.

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 relatively concise but includes a redundant Persian translation and a note about the path omitting the version segment. It is front-loaded with the key purpose.

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?

Given the tool is a simple read operation with one optional parameter and an output schema exists, the description covers purpose, endpoint, auth, and parameter meaning adequately. It could be more thorough about response scope.

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 parameter 'instance' is explained as a configured instance whose public base URL to use, with a default when omitted. This adds meaningful context beyond the bare schema (which has 0% description coverage).

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 clearly states it retrieves a simple prices feed for all markets. However, it does not differentiate this from sibling price tools like ramzinex_get_market_buy_price or ramzinex_get_rial_equivalent, which weakens 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 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 alternatives. The description only notes it's public and no auth, but does not specify contexts or exclusions.

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

ramzinex_get_rewardsA

List reward / cashback entries (read-only).

Persian purpose: فهرست پاداش‌ها و کش‌بک‌ها. Requires configured credentials.

BEST-EFFORT PATH — confirm against the Ramzinex panel/Postman. The pasted Postman collection has a rewards/commissions section but did not include the exact URL; this tool implements GET /exchange/api/{ver}/exchange/users/me/rewards as a documented assumption.

Args: instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description fully handles behavioral disclosure. It declares the operation as read-only, notes required credentials, and transparently explains that the endpoint is a best-effort assumption based on documentation gaps. This goes beyond minimal disclosure.

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 multi-line but well-structured: clear purpose, Persian translation for locale, prerequisite note, implementation uncertainty disclosure, and parameter explanation. Each sentence adds value without being verbose.

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?

Given the tool's simplicity (one optional parameter) and the presence of an output schema (which covers return structure), the description adequately covers context: read-only nature, credential requirements, and implementation status. It is sufficient for an agent to use correctly.

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 0%, so description must compensate. The single parameter 'instance' is described as 'Configured instance to use (default when omitted)', which adds the concept of a default behavior beyond the schema. However, it does not explain what an 'instance' is or how it affects the request, leaving some ambiguity.

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 'List reward / cashback entries (read-only)', which is a specific verb+resource. Among many sibling get_* tools, this is the only one for rewards, so it distinguishes clearly.

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 mentions 'Requires configured credentials' as a prerequisite, but does not provide guidance on when to use this tool versus alternatives or when not to use it. Usage context is implied but not explicit.

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

ramzinex_get_rial_equivalentA

Get the total account value expressed in Iranian Rial (read-only).

Persian purpose: ارزش کل دارایی به ریال. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/rial_equivalent.

Args: instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided; the description labels the tool as 'read-only' and maps it to a GET endpoint, which implies safe behavior. It does not detail rate limits, authentication specifics beyond credentials, or side effects, but the basic behavioral trait is disclosed.

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 concise with three main parts: purpose, Persian translation, endpoint mapping, and parameter explanation. The Persian line adds extra content but is not verbose. Overall efficient.

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?

The tool is simple with one optional parameter. The description provides enough context: purpose, read-only nature, credential requirement, and endpoint. With an output schema present, return values need not be detailed. Minor gaps like error conditions are acceptable.

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 has 0% parameter descriptions, but the description clarifies the sole parameter 'instance' as 'Configured instance to use (default when omitted)', adding meaning beyond the schema's type definition.

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 verb 'Get', the resource 'total account value', and the specific unit 'Iranian Rial'. It also notes it's read-only, and the name distinguishes it from similar tools like ramzinex_get_usdt_equivalent.

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 mentions 'Requires configured credentials' but does not explicitly state when to use this tool versus alternatives like ramzinex_get_usdt_equivalent or ramzinex_get_total_balance. Usage is implied by the name and description.

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

ramzinex_get_total_balanceA

Get the total balance for one currency (read-only).

Persian purpose: موجودی کل کاربر برای یک ارز مشخص. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/total/currency/{currency_id}.

Args: currency_id: Numeric id of the currency (from ramzinex_get_currencies). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It mentions read-only and credential requirements, but does not disclose error handling, behavior on invalid inputs, rate limits, or other 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?

The description is concise and front-loaded with purpose. It uses a clear structure with Persian translation, credential note, API mapping, and parameter list. No unnecessary words.

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?

Given the tool's simplicity and the presence of an output schema, the description covers the essential aspects: purpose, prerequisite, parameter sources. It could mention error cases but is adequately complete.

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 0%, so the description must compensate. It provides meaningful context: currency_id is a numeric id from ramzinex_get_currencies, and instance defaults when omitted. This adds value 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?

The description clearly states 'Get the total balance for one currency (read-only)' with a Persian translation. It identifies the specific resource, but does not explicitly differentiate from sibling tools like ramzinex_get_available_balance or ramzinex_get_balance_summary.

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 notes that credentials are required and that the tool is read-only. It also indicates that currency_id comes from ramzinex_get_currencies, but it lacks explicit guidance on when to use this tool versus other balance-related tools.

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

ramzinex_get_turnoverA

Get my trading turnover over a number of days (read-only).

Persian purpose: گردش معاملاتی کاربر. Requires a configured API token. Maps to GET /exchange/api/v1.0/exchange/users/me/orders/turnover with readable=0, days, and pa=1.

Args: days: Look-back window in days (1-3650, default 30). instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

The description notes the tool is read-only and maps to a specific API endpoint. However, without annotations, it should disclose more about authentication requirements (beyond 'configured API token'), error behavior, or any constraints like rate limits. The read-only nature is clear, but additional behavioral traits are missing.

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 extremely concise, uses only 4 short lines for the English part, and front-loads the main purpose. Every sentence provides necessary information without fluff.

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 description covers the core functionality but lacks context on what the output represents (e.g., total turnover vs. per-day), how it differs from other statistical tools, or whether pagination is involved. Given the output schema exists, return values are not required, but more differentiation from siblings would help.

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 has 0% coverage, so the description fully compensates by explaining both parameters: days (range 1-3650, default 30) and instance (configured instance, default when omitted). This adds significant meaning beyond the bare 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 verb (Get), resource (my trading turnover), and constraint (over a number of days). It also notes it's read-only and provides Persian purpose and API mapping, making it well-defined and distinct from many similar get_* siblings.

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 alternatives like ramzinex_get_orders or ramzinex_get_balance_summary. The description does not mention contextual triggers or exclusions, leaving the AI agent to infer usage.

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

ramzinex_get_usdt_equivalentA

Get the total account value expressed in USDT (read-only).

Persian purpose: ارزش کل دارایی به تتر. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/usdt_equivalent.

Args: instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

The description discloses that the tool is 'read-only' and requires credentials, which are important behavioral traits. However, it does not elaborate on what happens if credentials are missing, rate limits, or the exact structure of the response (though output schema may cover that). Without annotations, the description carries the burden and is adequate but not thorough.

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: one sentence for the main purpose, followed by a Persian translation, credential requirement, endpoint mapping, and parameter explanation. No unnecessary words, and the critical information is front-loaded.

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?

Given the tool's simplicity (one optional parameter, read-only, output schema exists), the description covers the key aspects: what it does, the endpoint, and parameter usage. However, it could be more explicit about when to prefer this over similar tools, but overall it is fairly 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?

The only parameter 'instance' is described as 'Configured instance to use (default when omitted).' This adds meaning beyond the schema's type definition, which only lists string|null and default null. With schema description coverage at 0%, the description compensates minimally. Baseline 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 clearly states the tool's function: 'Get the total account value expressed in USDT (read-only).' This provides a specific verb and resource, and the 'read-only' qualifier adds precision. The sibling tool 'ramzinex_get_rial_equivalent' suggests a similar tool for IRR, so the USDT focus distinguishes them effectively.

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 mentions 'Requires configured credentials' but offers no guidance on when to use this tool versus alternatives like 'ramzinex_get_available_balance' or 'ramzinex_get_total_balance'. It does not state when not to use it or provide explicit usage context.

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

ramzinex_get_withdrawA

Get one withdrawal by id (read-only).

Persian purpose: مشخصات یک برداشت مشخص. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/withdraws/{withdraw_id}.

Args: withdraw_id: Numeric id of the withdrawal to fetch. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
withdraw_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 burden. It explicitly states 'read-only' and maps to a GET endpoint, confirming no side effects. It also notes credential requirements. However, it does not mention error handling or behavior for invalid IDs, but for a simple read, the provided details are sufficient.

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 extremely concise with three sentences plus a bullet list. It front-loads the purpose, includes essential details, and avoids unnecessary fluff. Every sentence adds value.

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 presence of an output schema (not shown), the description does not need to detail return values. It covers purpose, parameters, authentication, and read-only nature. For a simple get-by-ID tool, this is complete and leaves no major gaps.

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 0%, so description must compensate. It provides clear descriptions for both parameters: 'withdraw_id: Numeric id of the withdrawal to fetch' and 'instance: Configured instance to use (default when omitted)'. This adds meaning beyond the schema types and requiredness.

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 'Get one withdrawal by id (read-only)'. It specifies the action (get), resource (withdrawal), and read-only nature. The HTTP endpoint mapping further clarifies. This effectively distinguishes from sibling tools like ramzinex_get_withdraws (multiple) and ramzinex_submit_withdraw (create).

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 mentions 'Requires configured credentials', indicating prerequisite. It implicitly suggests usage when a single withdrawal ID is known, but does not explicitly state when not to use or compare to alternatives like ramzinex_get_withdraws. Clear context but lacks explicit exclusion or guidance.

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

ramzinex_get_withdrawsA

List my withdrawals, paginated (read-only).

Persian purpose: فهرست برداشت‌های کاربر. Requires configured credentials. Maps to GET /exchange/api/{ver}/exchange/users/me/funds/withdraws with limit, offset, and optional currency_id query params.

Args: limit: Max number of withdrawals to return (1-1000, default 50). offset: Number of withdrawals to skip for pagination (default 0). currency_id: Optional currency id to filter withdrawals by. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
currency_idNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description carries burden. Discloses read-only nature, pagination, and endpoint. Does not mention rate limits, error responses, or data scope beyond 'my'. With output schema present, return value details are not required.

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?

Front-loaded summary, followed by endpoint mapping and parameter explanations. No redundant text; every sentence adds value. Efficient structure.

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?

Tool has 4 optional params, output schema exists, and siblings are numerous. Description covers authentication, pagination, and parameter usage. Lacks potential error scenarios or conditions, but overall sufficient for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but description adds full meaning for all 4 parameters: limit range (1-1000) and default, offset default, currency_id as optional filter, instance as optional config.

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?

Clearly states 'List my withdrawals, paginated (read-only).' Distinguishes from sibling ramzinex_get_withdraw (singular) which gets one specific withdrawal. Also mentions endpoint mapping and optional currency filter.

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?

Explicitly states 'Requires configured credentials.' and implies usage for listing user's withdrawals. No explicit when-not-to-use or alternatives, but context from siblings is adequate.

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

ramzinex_place_limit_orderA

Place a LIMIT order — WARNING: this executes a REAL trade.

Persian purpose: ثبت سفارش محدود (معامله واقعی). Requires a configured API token AND enable_trading=true on the instance; otherwise it returns {"error": "trading_disabled", ...} without contacting the API. Maps to POST /exchange/api/v1.0/exchange/users/me/orders/limit.

This places a buy or sell order at a fixed price using real funds in the selected account. Double-check the pair, side, amount, and price before calling.

Args: pair_id: Numeric id of the pair to trade. amount: Order amount in the base currency (must be > 0). price: Limit price in the quote currency (must be > 0). type: Order side, buy or sell. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
amountYes
priceYes
typeYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses real trade execution, requirement for enable_trading=true, maps to specific endpoint, warns about real funds. Missing details on rate limits or success response, but sufficient for core 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?

Well-structured with warning, purpose, requirements, endpoint, and Args list. Slightly lengthy but each sentence serves a purpose. Could be trimmed slightly without losing clarity.

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?

Given complexity as a trading tool with 5 params and no annotations, description covers purpose, requirements, parameters, and caution. Output schema exists, so return value not needed. Lacks mention of order lifecycle but adequate for selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description provides a dedicated Args section explaining each parameter with constraints (e.g., amount and price must be >0, type is buy/sell). Adds significant meaning beyond bare 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?

Clearly states it places a LIMIT order, uses specific verb 'Place', identifies resource as LIMIT order with real trade warning, and the Persian purpose adds clarity. Distinguishes from sibling tools like market order and various query tools.

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?

Provides strong usage context: warning about real trade, requires API token and enable_trading=true, double-check parameters. However, lacks explicit when-not-to-use or comparison to ramzinex_place_market_order, so not a complete guide.

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

ramzinex_place_market_orderA

Place a MARKET order — WARNING: this executes a REAL trade.

Persian purpose: ثبت سفارش بازار (معامله واقعی). Requires a configured API token AND enable_trading=true on the instance; otherwise it returns {"error": "trading_disabled", ...} without contacting the API. Maps to POST /exchange/api/v1.0/exchange/users/me/orders/market.

A market order fills immediately at the best available price using real funds — the executed price is not guaranteed. Double-check the pair, side, and amount before calling.

Args: pair_id: Numeric id of the pair to trade. amount: Order amount in the base currency (must be > 0). type: Order side, buy or sell. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
pair_idYes
amountYes
typeYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

No annotations provided, so description fully covers behavioral traits: real trade, immediate fill, price not guaranteed, prerequisite checks, and error response. Additionally maps to API endpoint.

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?

Concise yet comprehensive: warning first, then prerequisite, Persian purpose, endpoint mapping, behavior, and clear Args section. No unnecessary text.

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?

With output schema present, the description covers input and behavior well. Could mention success response briefly, but not required. Overall complete for a market order tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description explicitly explains each parameter: pair_id (numeric id), amount (base currency, >0), type (buy/sell), instance (configured instance). Adds meaning beyond schema types.

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 it places a MARKET order, warns it executes a real trade, and includes a Persian purpose. It distinguishes from sibling ramzinex_place_limit_order by specifying market order characteristics.

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 prerequisites (API token, enable_trading=true) and warns about the real trade and execution behavior. It implies usage for immediate execution but does not explicitly compare with limit order.

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

ramzinex_refresh_depositsA

Ask the backend to refresh deposits for one currency (no money moved).

Persian purpose: به‌روزرسانی واریزهای یک ارز. Requires configured credentials. This re-scans for incoming deposits; it does NOT move funds. Maps to POST /exchange/api/{ver}/exchange/users/me/funds/deposits/refresh/currency/{currency_id}.

Args: currency_id: Numeric id of the currency to refresh deposits for. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description discloses key behavioral traits: it does not move funds, it re-scans for incoming deposits, and requires credentials. It does not mention rate limits or side effects, but the non-destructive nature is transparent. The API endpoint mapping adds clarity.

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 with no wasted words. Front-loaded with the main action, followed by Persian purpose, requirements, behavior, API mapping, and parameter explanations. Well-structured and efficient.

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?

Given the tool's simplicity (2 params, 1 required, output schema exists), the description covers purpose, non-destructive nature, and parameter meanings. It does not discuss error handling or output format, but the presence of output schema reduces the burden. Mostly complete.

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 0%, so the description must compensate. It explains currency_id as 'numeric id of the currency' and instance as 'configured instance to use (default when omitted)'. This adds meaning beyond the schema's type definitions. Could be enriched with constraints or examples, but adequate.

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 'refresh' and resource 'deposits for one currency'. It explicitly states 'no money moved', distinguishing it from deposit-related mutation tools. The Persian purpose adds context. Among siblings like 'get_deposits' and 'get_currency_deposits', this tool's unique action is clear.

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 indicates it requires configured credentials and that it re-scans for incoming deposits. It implies use when needing to manually trigger a deposit scan, but does not explicitly contrast with reading deposits via get tools. No when-not or alternatives stated, but context is clear enough.

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

ramzinex_refresh_fundsA

Ask the backend to refresh / recompute balances (read-only effect).

Persian purpose: به‌روزرسانی دارایی‌ها. Requires configured credentials. This does NOT move funds; it recomputes the cached balances. Maps to POST /exchange/api/{ver}/exchange/users/me/funds/refresh.

Args: instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, so description carries burden. Declares read-only effect and no fund movement, and maps to a POST endpoint. Lacks rate limit or credential failure behavior, but sufficient for basic safety.

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?

Compact description with bullet points and key details front-loaded. Includes Persian translation and endpoint path, which are relevant but not excessive.

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?

With one optional parameter, clear purpose, and output schema available, the description covers essential context. Explains effect, non-destructiveness, and credential requirement.

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?

Only one optional parameter 'instance' with 0% schema coverage. Description adds context: 'Configured instance to use (default when omitted).' This is minimal but adds value 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?

Clearly states the verb 'refresh/recompute' and resource 'balances', with explicit read-only effect. Distinguishes from siblings like ramzinex_get_funds by noting the refresh action.

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?

Explicitly says when to use (refresh cached balances) and what it does not do (move funds). Indicates requirement for configured credentials. Could better differentiate from other balance tools, but adequate.

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

ramzinex_submit_withdrawA

Submit a withdrawal request — WARNING: this moves REAL funds.

Persian purpose: ثبت درخواست برداشت (انتقال وجه واقعی). Requires configured credentials AND enable_withdrawals=true (and read_only=false) on the instance; otherwise it returns {"error": "withdrawals_disabled", ...} without contacting the API. Maps to POST /exchange/api/{ver}/exchange/users/me/funds/withdraws/currency/{currency_id} with body {amount, address, network_id, tag?, no_tag}. no_tag is derived automatically (true when no tag is provided).

Double-check the currency, network, address, and amount before calling — withdrawals are irreversible.

Args: currency_id: Numeric id of the currency to withdraw. amount: Amount to withdraw (must be > 0). address: Destination wallet address (non-empty). network_id: Numeric id of the withdrawal network (must be > 0; discover via ramzinex_get_networks). tag: Optional memo/tag/destination tag for networks that require it (e.g. XRP, TON). Omit for networks that do not. instance: Configured instance to use (default when omitted).

ParametersJSON Schema
NameRequiredDescriptionDefault
currency_idYes
amountYes
addressYes
network_idYes
tagNo
instanceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description discloses key behaviors: moves real funds, irreversible, requires specific config, and returns error if disabled. It doesn't cover all possible error states but is sufficient for safe usage.

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?

Well-structured with a clear hierarchy: warning, purpose, config, API mapping, parameter list. Slightly verbose but every sentence adds value; could be tightened slightly.

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?

Comprehensive for a withdrawal tool with output schema. Covers prerequisites, parameter semantics, and usage warnings. Lacks details on success response or additional error codes, but output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 6 parameters are described with constraints and context (e.g., tag for XRP/TON, no_tag derived, network_id discoverable via ramzinex_get_networks). Schema coverage is 0%, so this fully compensates.

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 'Submit a withdrawal request' with a warning about moving real funds. It specifies the action and resource, distinguishing it from query tools like ramzinex_get_withdraws.

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?

Includes prerequisites (enable_withdrawals=true, read_only=false) and advises to double-check details due to irreversibility. However, it doesn't explicitly mention when not to use it or suggest alternatives like ramzinex_confirm_withdraw.

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. 45 tool updatesv0.3.0
    • First observedhealthcheck
    • First observedlist_instances
    • First observedramzinex_allocate_address
    • First observedramzinex_authenticate
    • First observedramzinex_cancel_order
    • First observedramzinex_confirm_withdraw
    • First observedramzinex_docs
    • First observedramzinex_edit_general_access
    • First observedramzinex_edit_private_access
    • First observedramzinex_get_addresses
    • First observedramzinex_get_all_orderbooks
    • First observedramzinex_get_available_balance
    • First observedramzinex_get_balance_summary
    • First observedramzinex_get_commissions
    • First observedramzinex_get_currencies
    • First observedramzinex_get_currency_deposits
    • First observedramzinex_get_currency_fund
    • First observedramzinex_get_currency_withdraws
    • First observedramzinex_get_deposit
    • First observedramzinex_get_deposits
    • First observedramzinex_get_funds
    • First observedramzinex_get_in_orders_balance
    • First observedramzinex_get_market_buy_price
    • First observedramzinex_get_market_sell_price
    • First observedramzinex_get_networks
    • First observedramzinex_get_order
    • First observedramzinex_get_orderbook
    • First observedramzinex_get_orderbook_buys
    • First observedramzinex_get_orderbook_sells
    • First observedramzinex_get_orders
    • First observedramzinex_get_pair
    • First observedramzinex_get_pairs
    • First observedramzinex_get_prices
    • First observedramzinex_get_rewards
    • First observedramzinex_get_rial_equivalent
    • First observedramzinex_get_total_balance
    • First observedramzinex_get_turnover
    • First observedramzinex_get_usdt_equivalent
    • First observedramzinex_get_withdraw
    • First observedramzinex_get_withdraws
    • First observedramzinex_place_limit_order
    • First observedramzinex_place_market_order
    • First observedramzinex_refresh_deposits
    • First observedramzinex_refresh_funds
    • First observedramzinex_submit_withdraw

TDQS

A4/5.0

Scored across 45 tools

Disambiguation5/5

Every tool has a clearly distinct purpose, targeting different resources or actions. Even similar verbs like 'get_deposits' vs 'get_currency_deposits' vs 'get_deposit' are differentiated by scope and granularity. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow the 'ramzinex_[verb]_[noun(s)]' pattern with consistent snake_case. Verbs are uniformly lowercase and descriptive (get, list, place, cancel, submit, confirm, edit, allocate). No mixing of conventions or inconsistent naming styles.

Tool Count4/5

45 tools is high but justified given the comprehensive exchange API surface. The count slightly exceeds the typical 'well-scoped' range, yet each tool corresponds to a meaningful endpoint. A few get tools could potentially be merged, but overall the count is reasonable for a full-featured exchange MCP.

Completeness5/5

The tool set covers the full lifecycle: public market data, account balances (summary, individual, locked), deposits and withdrawals (list, get, refresh, submit, confirm), orders (list, get, place limit/market, cancel), API key management, and account control. No obvious gaps for core trading and wallet operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for the Crypto.com Exchange API, providing 86 dynamically generated tools for market data, trading, account management, and more with real-time WebSocket streaming and safety enforcement.
    40 npm
    25
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Python-based MCP server that provides real-time and historical cryptocurrency data from 100+ exchanges via CCXT, with tools for tickers, OHLCV, markets, and order books.
    1
    -