# Vurto Swap (io.github.cryptoconspiracy/vurto-swap): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.cryptoconspiracy%2Fvurto-swap/versions/latest)
- Connected to: https://swap.vurto.cc/mcp
- Homepage: https://swap.vurto.cc/agent-api.md
- Scoring rules: v2
- Tools: 20
- Average: 65.8 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how Vurto Swap (io.github.cryptoconspiracy/vurto-swap)'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

- Minor: The server's instructions are 6189 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `destination_authorize`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: wallet, receiver, chainId.
  - Minor: String arguments with no constraint or example: wallet, receiver, nonce, message.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: chainId. Name the tool or the place that returns it, or models look it up first.
- `report_execution`: 52 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `swap_status`: 54 / 100
  - Minor: Says nothing about what it returns.
- `payout_batch`: 56 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: chainId, recipients.
  - Minor: Required identifiers whose description does not say where the value comes from: chainId. Name the tool or the place that returns it, or models look it up first.
- `invoice_get`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `payout_report_payment`: 57 / 100
  - Minor: String arguments with no constraint or example: txHash.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: invoiceIds. Name the tool or the place that returns it, or models look it up first.
- `nn_quote`: 63 / 100
  - Minor: Arguments without a description: inputLegs, outputLegs.
  - Minor: Required identifiers whose description does not say where the value comes from: chainId. Name the tool or the place that returns it, or models look it up first.
- `double_build`: 64 / 100
  - Minor: Arguments without a description: legA, legB, legB.quoteId.
  - Minor: String arguments with no constraint or example: legB.quoteId.
  - Minor: Required identifiers whose description does not say where the value comes from: chainId. Name the tool or the place that returns it, or models look it up first.
- `invoice_report_analysis_payment`: 64 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `double_quote`: 68 / 100
  - Minor: Arguments without a description: legA, legB.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: chainId. Name the tool or the place that returns it, or models look it up first.
- `destination_challenge`: 69 / 100
- `prepare_signing`: 69 / 100
  - Minor: Arguments without a description: step.humanSummary, step.tx.to, step.tx.data, step.tx.value, step.typedData.domain, step.typedData.primaryType, step.typedData.types, step.typedData.message.
  - Minor: String arguments with no constraint or example: step.humanSummary, step.tx.to, step.tx.data, step.tx.value, step.typedData.primaryType.
  - Minor: Required identifiers whose description does not say where the value comes from: buildId, chainId. Name the tool or the place that returns it, or models look it up first.
- `wallet_check`: 69 / 100
- `invoice_report_payment`: 70 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `invoice_analysis_pay`: 74 / 100
- `swap_quote`: 74 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: chainId. Name the tool or the place that returns it, or models look it up first.
- `nn_build`: 76 / 100
  - Minor: Arguments without a description: inputLegs, outputLegs.
- `invoice_pay`: 77 / 100
  - Minor: The description is long (590 words). It helps selection but costs steps and tokens.
- `invoice_create`: 79 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: chainId. Name the tool or the place that returns it, or models look it up first.
- `swap_build`: 80 / 100
  - Minor: Says nothing about what it returns.

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)
