# LogicNodes (io.logicnodes/tools): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.logicnodes%2Ftools/versions/latest)
- Connected to: https://logicnodes.io/mcp/v2
- Homepage: https://logicnodes.io/
- Scoring rules: v2
- Tools: 83
- Average: 50.3 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how LogicNodes (io.logicnodes/tools)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 83 tools. Above 40, models choose less accurately.

## Tools

- `business_days`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: op, from, to, days, weekend, holidays.
  - Minor: String arguments with no constraint or example: from, to.
  - Minor: Says nothing about what it returns.
- `wallet_watch_cancel`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: watchId, secret.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: watchId. Name the tool or the place that returns it, or models look it up first.
- `x402_monitor_cancel`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: monitorId, secret.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: monitorId. Name the tool or the place that returns it, or models look it up first.
- `id_check`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ids, ids[].value, ids[].type.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: ids. Name the tool or the place that returns it, or models look it up first.
- `loan_calc`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: principal, annualRatePercent, termMonths, scale.
  - Minor: String arguments with no constraint or example: principal, annualRatePercent.
  - Minor: Says nothing about what it returns.
- `operator_verify_check`: 34 / 100
  - Major: Arguments without a description: address, domain.
  - Minor: String arguments with no constraint or example: address, domain.
  - Minor: Says nothing about what it returns.
- `table_profile`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: rows, csv, delimiter.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `wallet_watch_status`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: watchId, secret.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: watchId. Name the tool or the place that returns it, or models look it up first.
- `list_supported_chains`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `x402_monitor_status`: 36 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: monitorId, secret.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: monitorId. Name the tool or the place that returns it, or models look it up first.
- `aptos_fee_estimate`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: txTypes.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `slippage_bounds`: 39 / 100
  - Major: Arguments without a description: amount, slippageBps, direction.
  - Minor: String arguments with no constraint or example: amount.
  - Minor: Says nothing about what it returns.
- `swap_price_impact`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: reserveIn, reserveOut, amountIn, feeBps.
  - Minor: String arguments with no constraint or example: reserveIn, reserveOut, amountIn.
  - Minor: The description mentions none of its 3 or more arguments.
- `evm_spend_report`: 40 / 100
  - Major: Arguments without a description: chain, wallet, token, fromBlock, toBlock, direction.
  - Minor: String arguments with no constraint or example: chain, wallet, token, fromBlock, toBlock.
  - Minor: Says nothing about what it returns.
- `address_format_check`: 41 / 100
  - Major: Arguments without a description: address, family.
  - Minor: String arguments with no constraint or example: address.
  - Minor: Says nothing about what it returns.
- `aptos_name_resolve`: 41 / 100
  - Major: Arguments without a description: name, address.
  - Minor: String arguments with no constraint or example: name, address.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_gas_prices`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `time_convert`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: time, fromZone, toZone.
  - Minor: String arguments with no constraint or example: time, fromZone, toZone.
- `aptos_balance_get`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: address, assets.
  - Minor: String arguments with no constraint or example: address.
  - Minor: Says nothing about what it returns.
- `aptos_tx_status`: 42 / 100
  - Minor: Arguments without a description: hash.
  - Minor: String arguments with no constraint or example: hash.
  - Minor: Says nothing about what it returns.
- `x402_provider_claim`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: host, signature.
  - Minor: Says nothing about what it returns.
- `aptos_tx_decode`: 43 / 100
  - Major: Arguments without a description: function, typeArguments, arguments.
  - Minor: String arguments with no constraint or example: function.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `money_calc`: 43 / 100
  - Major: Arguments without a description: currency, op, amount, other, factor, parts, ratios.
  - Minor: String arguments with no constraint or example: currency, amount, other, factor.
  - Minor: Says nothing about what it returns.
- `decimal_calc`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: op, a, b, scale.
  - Minor: String arguments with no constraint or example: a, b.
- `erc8004_agent`: 44 / 100
  - Minor: Arguments without a description: block.
  - Minor: String arguments with no constraint or example: block.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: agentId. Name the tool or the place that returns it, or models look it up first.
- `erc8004_reputation`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: block.
  - Minor: String arguments with no constraint or example: block.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: agentId. Name the tool or the place that returns it, or models look it up first.
- `interest_calc`: 45 / 100
  - Major: Arguments without a description: principal, ratePercent, years, compounding, scale.
  - Minor: String arguments with no constraint or example: principal, ratePercent, years.
- `agent_register_prepare`: 46 / 100
  - Minor: Arguments without a description: name, description, mcpUrl, imageUrl.
  - Minor: Says nothing about what it returns.
- `aptos_amount_convert`: 46 / 100
  - Major: Arguments without a description: amount, direction, asset.
  - Minor: String arguments with no constraint or example: amount, asset.
- `aptos_asset_resolve`: 46 / 100
  - Major: Arguments without a description: query, caseSensitive.
  - Minor: String arguments with no constraint or example: query.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument caseSensitive is unclear.
- `audit_log_append`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: logId, writeKey, entry.
  - Minor: Required identifiers whose description does not say where the value comes from: logId. Name the tool or the place that returns it, or models look it up first.
- `audit_log_export`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: logId, readKey, fromSeq, limit.
  - Minor: Required identifiers whose description does not say where the value comes from: logId. Name the tool or the place that returns it, or models look it up first.
- `contact_normalize`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: emails, phones.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `deal_dispute_review`: 46 / 100
  - Major: Arguments without a description: dealId.
  - Minor: Required identifiers whose description does not say where the value comes from: dealId. Name the tool or the place that returns it, or models look it up first.
- `aptos_address_validate`: 47 / 100
  - Major: Arguments without a description: address, mode, lookup.
  - Minor: String arguments with no constraint or example: address.
  - Minor: The meaning of the boolean argument lookup is unclear.
- `aptos_tx_simulate`: 48 / 100
  - Major: Arguments without a description: sender, function, typeArguments, arguments, maxGasAmount, gasUnitPrice, sequenceNumber.
  - Minor: String arguments with no constraint or example: sender, function.
- `evm_calldata_decode`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: data.
  - Minor: String arguments with no constraint or example: data.
- `evm_contract_type`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `evm_nonce`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `invoice_check`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: lines, lines[].description, shipping, claimed.subtotal, claimed.discount, claimed.tax, claimed.shipping, claimed.total.
  - Minor: The meaning of the boolean argument lines[].taxable is unclear.
  - Minor: The meaning of the boolean argument shippingTaxable is unclear.
  - Minor: Says nothing about what it returns.
- `ens_resolve`: 50 / 100
  - Major: Arguments without a description: name, address.
  - Minor: String arguments with no constraint or example: address.
  - Minor: No `required` list, so every argument is optional.
- `unit_convert`: 50 / 100
  - Major: Arguments without a description: value, from, to, scale.
  - Minor: String arguments with no constraint or example: value, from, to.
  - Minor: The description mentions none of its 3 or more arguments.
- `evm_log_decode`: 51 / 100
  - Major: Arguments without a description: topics, data.
  - Minor: String arguments with no constraint or example: data.
- `agent_register_publish`: 52 / 100
  - Major: Arguments without a description: name, description, mcpUrl, imageUrl, signature.
- `evm_tx_receipt`: 52 / 100
  - Minor: Arguments without a description: hash.
  - Minor: String arguments with no constraint or example: hash.
  - Minor: Says nothing about what it returns.
- `payment_verify`: 52 / 100
  - Minor: Arguments without a description: hash.
  - Minor: String arguments with no constraint or example: hash.
  - Minor: Says nothing about what it returns.
- `tx_status`: 52 / 100
  - Minor: Arguments without a description: hash.
  - Minor: String arguments with no constraint or example: hash.
  - Minor: Says nothing about what it returns.
- `x402_settlement_verify`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `address_validate`: 54 / 100
  - Minor: Arguments without a description: address.
  - Minor: String arguments with no constraint or example: address.
- `evm_allowance`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `evm_balance`: 54 / 100
  - Minor: Says nothing about what it returns.
- `evm_token_metadata`: 54 / 100
  - Minor: Says nothing about what it returns.
- `quote_check`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: quotes, quotes[].label.
- `random_from_block`: 54 / 100
  - Major: Arguments without a description: block, salt, count, max.
  - Minor: String arguments with no constraint or example: block.
  - Minor: Says nothing about what it returns.
- `date_series`: 55 / 100
  - Minor: Arguments without a description: freq, weekend, holidays.
  - Minor: Says nothing about what it returns.
- `evm_logs`: 55 / 100
  - Major: Arguments without a description: fromBlock, toBlock, topics.
  - Minor: String arguments with no constraint or example: fromBlock, toBlock.
  - Minor: Says nothing about what it returns.
- `audit_log_create`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `chain_info`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `operator_verify_start`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
- `text_facts`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: text, count[].term, limits, limits.maxCharacters, limits.maxWords, limits.maxSmsSegments.
  - Minor: The meaning of the boolean argument count[].caseSensitive is unclear.
- `token_amount_convert`: 56 / 100
  - Major: Arguments without a description: amount, direction, decimals, asset.
  - Minor: String arguments with no constraint or example: amount, asset.
- `evm_block`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `aptos_view`: 58 / 100
  - Major: Arguments without a description: function, typeArguments, arguments.
  - Minor: String arguments with no constraint or example: function.
  - Minor: Says nothing about what it returns.
- `counterparty_check`: 59 / 100
- `list_ops`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: op.
  - Major: It may be destructive, but destructiveHint is not set.
- `wallet_watch_create`: 59 / 100
  - Minor: Arguments without a description: address.
  - Minor: String arguments with no constraint or example: address.
- `x402_provider_report`: 59 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `tx_safety_check`: 60 / 100
  - Minor: Says nothing about what it returns.
- `verify_answer`: 60 / 100
  - Minor: Arguments without a description: where[].column, where[].op, claims, claims[].where[].column, claims[].where[].op.
  - Minor: Says nothing about what it returns.
- `fx_rate`: 61 / 100
  - Major: Says nothing about when to use it, or when not to.
- `pii_redact`: 61 / 100
  - Minor: Arguments without a description: text.
  - Major: It may be destructive, but destructiveHint is not set.
- `timesheet_calc`: 61 / 100
  - Minor: Arguments without a description: entries, entries[].worker, overtime.
  - Minor: Says nothing about what it returns.
- `x402_monitor_create`: 61 / 100
- `find_free_slots`: 62 / 100
  - Minor: Arguments without a description: participants, participants[].name, participants[].busy[].start, participants[].busy[].end, durationMinutes.
- `gas_estimate`: 62 / 100
  - Minor: Says nothing about what it returns.
- `table_join`: 63 / 100
  - Major: Arguments without a description: left.rows, left.csv, left.delimiter, right.rows, right.csv, right.delimiter, on[].left, on[].right.
- `sanctions_check`: 64 / 100
  - Minor: Arguments without a description: address.
- `json_check`: 66 / 100
  - Minor: No `required` list, so every argument is optional.
- `x402_service_search`: 69 / 100
  - Major: Says nothing about when to use it, or when not to.
- `holiday_calendar`: 71 / 100
  - Minor: Arguments without a description: fromYear.
  - Minor: The description mentions none of its 3 or more arguments.
- `token_price`: 74 / 100
  - Minor: Says nothing about what it returns.
- `reconcile`: 75 / 100
  - Minor: Arguments without a description: left.delimiter, right.delimiter.
- `table_calc`: 75 / 100
  - Minor: Arguments without a description: where[].column, where[].op, metrics, sort, sort.dir.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
