mcp-server-usdd
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BSC_RPC_URL | No | Dedicated BSC RPC URL | |
| ETH_RPC_URL | No | Dedicated Ethereum RPC URL | |
| TRONGRID_API_KEY | No | API key for TRONGRID to improve TRON access reliability | |
| AGENT_WALLET_PASSWORD | No | Password for agent wallet (for automation/CI environments) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_supported_networksB | List supported USDD networks. |
| get_protocol_metricsB | Get aggregated protocol metrics from website data (mainnet). |
| get_chain_metricsC | Get chain-level core metrics from website data (mainnet). |
| get_collateral_pricesA | Get latest collateral highest-price data from website API (mainnet). |
| connect_browser_walletB | Connect a browser wallet (TronLink-compatible) and switch to browser mode. |
| set_wallet_modeB | Switch signing mode between browser and agent. |
| get_wallet_modeB | Get current signing mode ( |
| set_networkA | Set default network for one family. Supports aliases (tron_mainnet, tron_nile, eth_mainnet, eth_sepolia, bsc_mainnet, bsc_testnet) or explicit network keys. |
| get_networkB | Get per-family default networks. |
| get_wallet_addressC | Get wallet status and active address for a network. |
| list_walletsA | List encrypted wallets stored in ~/.agent-wallet and show which ones are active. |
| import_walletA | Import a private key or mnemonic into the encrypted local wallet store. |
| set_active_walletA | Set the active encrypted wallet by ID. Active wallet selection is tracked separately for tron and evm. |
| get_protocol_overviewB | Get protocol addresses, ceilings, configured ilks, and PSM markets for USDD. |
| get_supported_ilksB | List configured collateral types and PSM joins for a network. |
| get_oracle_statusB | Inspect liquidation ratio, penalty, and oracle status for a collateral type. |
| get_psm_statusC | Inspect PSM fees and enablement state. |
| get_psm_metricsA | Get PSM swap metrics by route, including fromToken/toToken/available/fee. |
| get_user_vaultsA | List all vault IDs for the configured wallet or a given address. |
| get_vault_summaryB | Get collateral, debt, and liquidation metrics for one vault. |
| analyze_vault_riskB | Get risk analysis for one vault with warnings. |
| get_savings_statusB | Inspect USDD Savings metrics where supported. |
| open_vaultA | Open a vault/CDP via DSProxy. Idempotent: if a vault for the given ilk already exists, returns the existing CDP id without submitting a transaction. |
| get_native_balanceA | Get native token balance (TRX/ETH/BNB) for the configured wallet or a specified owner. |
| get_token_balanceA | Get ERC20/TRC20 token balance for the configured wallet or a specified owner. |
| check_allowanceA | Check ERC20/TRC20 allowance for a spender, optionally against a required amount. |
| prepare_token_transferA | Prepare a native/token transfer and return a preview for user review. After calling this tool, you MUST present the transfer details to the user and wait for their explicit confirmation before calling confirm_token_transfer. Do NOT proceed automatically. |
| confirm_token_transferA | Execute a previously prepared transfer. IMPORTANT: MUST ONLY be called after the human user has explicitly reviewed the prepare_token_transfer output and verbally confirmed they want to proceed (e.g. 'yes', 'confirm', 'go ahead'). Never call this automatically right after prepare_token_transfer — always wait for the user's explicit approval first. |
| approve_tokenA | Approve an ERC20/TRC20 token spender. Use before ERC20 collateral or PSM writes when needed. |
| deposit_and_mintA | Deposit collateral and mint USDD. If cdpId is omitted, reuses an existing vault for the ilk if one exists; otherwise opens a new vault and funds it in one transaction. |
| mint_usddC | Draw additional USDD debt from an existing vault. |
| repay_usddC | Repay USDD debt for an existing vault. |
| withdraw_collateralC | Withdraw collateral from an existing vault. |
| close_vaultC | Repay all debt and free collateral using wipeAllAndFree* proxy actions. |
| psm_swap_to_usddC | Swap gem collateral into USDD through the PSM. |
| psm_swap_from_usddC | Swap USDD into the PSM gem asset. |
| deposit_savingsC | Deposit USDD into sUSDD where supported. |
| withdraw_savingsC | Withdraw USDD from sUSDD where supported. |
| get_treasury_summaryA | Get latest USDD treasury report summary (mainnet data). |
| get_jst_buyback_statsA | Get JST buyback/burn statistics from treasury report data (mainnet data). |
| get_smart_allocator_overviewA | Get Smart Allocator overview (debt, invested amount, earnings, APY). |
| get_assets_breakdownA | Get Smart Allocator invested-asset breakdown by protocol, network, or asset. |
| get_proof_of_reserveB | Get Smart Allocator proof-of-reserve style platform investment details. |
| get_debt_overviewA | Get Smart Allocator debt overview grouped by network vault. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| open_usdd_vault | Safely open a USDD vault, deposit collateral, mint USDD, and verify risk. |
| manage_vault_lifecycle | Guide the full USDD vault lifecycle: approval, open/add collateral, draw, repay, withdraw, close. |
| use_psm | Swap through the PSM with a fee check before execution. |
| use_savings | Inspect and use USDD Savings on supported networks. |
| review_vault_risk | Audit a vault and explain liquidation risk in plain language. |
| repay_and_close_vault | Safely repay USDD and close a vault with post-close verification. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| usdd://protocol-info | Static USDD protocol deployment information across supported networks. |
TDQS
Scored across 44 tools
Most write/management tools are distinct, but the read-only side has several clusters with fuzzy boundaries: get_protocol_overview duplicates much of get_supported_ilks/get_psm_status, get_chain_metrics vs get_protocol_metrics are hard to distinguish, and the Smart Allocator tools (overview, proof_of_reserve, debt_overview, assets_breakdown) overlap heavily. Wallet status is also split across get_wallet_mode, get_wallet_address, and list_wallets, so misselection is plausible.
Names are consistently snake_case and almost always begin with a verb such as get, set, list, import, check, prepare, confirm, approve, open, mint, repay, withdraw, or close. A few compound names like deposit_and_mint and psm_swap_to_usdd are minor deviations, but the overall convention is predictable.
At 44 tools, the surface exceeds the comfortable range for a single MCP server. Even though the domain spans wallets, vaults, PSM, savings, and analytics, many tools are read-only report variants that add bulk and could be consolidated.
The vault lifecycle is covered end-to-end with open, mint, repay, withdraw, and close, and PSM swaps, savings, approvals, transfers, and wallet management are all represented. No obvious dead-end prevents core operations, though a few reporting endpoints feel redundant and there is no transaction-status/receipt tool, so minor gaps exist.