Wagyu

Swap crypto across chains, including Monero (XMR): quote, create and track swaps.

Should I use this

Quality & Safety

A
Description quality
82%
Schema completeness
83%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'list_chains' description lacks action verbin list_chains
  • LOWTool 'get_quote' description lacks action verbin get_quote
  • LOWTool 'get_swap' description lacks action verbin get_swap

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,221Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (0.95% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "wagyu": {
      "url": "https://mcp.wagyu.xyz"
    }
  }
}

Remote endpoints

https://mcp.wagyu.xyzstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_chains

Chains available right now, which ids can be a source or a destination, and featured tokens.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_tokens(direction, chainId, query, limit, offset)

Find a token address and decimals by symbol, name or address.

Input Schema

{
  "type": "object",
  "properties": {
    "direction": {
      "type": "string",
      "enum": [
        "from",
        "to"
      ],
      "description": "\"from\" = you send it, \"to\" = you receive it."
    },
    "chainId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Chain id from list_chains."
    },
    "query": {
      "description": "Symbol, name or address, e.g. \"USDC\".",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "direction"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_quote(fromChainId, fromToken, toChainId, toToken, amount, ...)

Estimate a swap. side "from" (default) quotes spending `amount`; side "to" quotes receiving `amount`. A quote is an estimate, not a funding instruction.

Input Schema

{
  "type": "object",
  "properties": {
    "fromChainId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Chain id from list_chains."
    },
    "fromToken": {
      "type": "string",
      "minLength": 1,
      "description": "Token address from search_tokens, or \"native\" for the chain coin."
    },
    "toChainId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Chain id from list_chains."
    },
    "toToken": {
      "type": "string",
      "minLength": 1,
      "description": "Token address from search_tokens, or \"native\" for the chain coin."
    },
    "amount": {
      "type": "string",
      "pattern": "^\\d+(\\.\\d+)?$",
      "description": "Human decimal amount, e.g. \"0.5\". Not atomic units."
    },
    "side": {
      "type": "string",
      "enum": [
        "from",
        "to"
      ]
    },
    "toAddress": {
      "description": "Recipient address; improves the estimate.",
      "type": "string"
    }
  },
  "required": [
    "fromChainId",
    "fromToken",
    "toChainId",
    "toToken",
    "amount"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_swap(fromChainId, fromToken, toChainId, toToken, amount, ...)

Create a durable order that spends `amount` of fromToken. Returns the deposit address and exact amount to send. Confirm with the user first. Never retry after a timeout or error: another call creates another order.

Input Schema

{
  "type": "object",
  "properties": {
    "fromChainId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Chain id from list_chains."
    },
    "fromToken": {
      "type": "string",
      "minLength": 1,
      "description": "Token address from search_tokens, or \"native\" for the chain coin."
    },
    "toChainId": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Chain id from list_chains."
    },
    "toToken": {
      "type": "string",
      "minLength": 1,
      "description": "Token address from search_tokens, or \"native\" for the chain coin."
    },
    "amount": {
      "type": "string",
      "pattern": "^\\d+(\\.\\d+)?$",
      "description": "Human decimal amount, e.g. \"0.5\". Not atomic units."
    },
    "toAddress": {
      "type": "string",
      "minLength": 1,
      "description": "Recipient address on toChainId."
    },
    "refundAddress": {
      "description": "Only for a native-coin source such as XMR or TRX; token sources refund to the sender.",
      "type": "string"
    }
  },
  "required": [
    "fromChainId",
    "fromToken",
    "toChainId",
    "toToken",
    "amount",
    "toAddress"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_swap(orderId, sessionId)

Current status and customerState of an order. Amounts are atomic; *Decimals fields give scale.

Input Schema

{
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "minLength": 1
    },
    "sessionId": {
      "type": "string",
      "minLength": 1,
      "description": "The sessionId create_swap returned."
    }
  },
  "required": [
    "orderId",
    "sessionId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡set_refund_address(orderId, sessionId, refundAddress)

Only when get_swap shows customerState { kind: "action_required", action: "refund_address" }. Saves one immutable destination; it does not start a transfer by itself.

Input Schema

{
  "type": "object",
  "properties": {
    "orderId": {
      "type": "string",
      "minLength": 1
    },
    "sessionId": {
      "type": "string",
      "minLength": 1,
      "description": "The sessionId create_swap returned."
    },
    "refundAddress": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    }
  },
  "required": [
    "orderId",
    "sessionId",
    "refundAddress"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools