Skip to main content
Glama

update_copy_trade

Destructive

Rewrite a Solana copy trade's full configuration to update settings, toggle active/paused, or permanently delete it.

Instructions

Low-level Solana copy trade update (prefer update_copy_trade_settings / pause_copy_trade / resume_copy_trade / delete_copy_trade). Every field is rewritten from this payload, so pass the full current config. isDelete=true permanently deletes the configuration; positions it opened are NOT sold and their TP/SL limit orders are NOT cancelled. isChangeStatus=true TOGGLES active/paused relative to the stored state (sending it twice resumes). isDelete and isChangeStatus cannot both be true.

Input Schema

NameRequiredDescriptionDefault
apiKeyNoAPI key
userIdNoControl wallet address
buyModeYes1 = fixed SOL amount, 2 = percentage of trader amount
chainIdYesMust be 622112261 (Solana)
copySellNoAlso copy sells
gasPriceNoPriority fee setting (default "0")
isDeleteNoPermanently delete the configuration (positions stay open)
accountRefNoConnected account from gdex_connect. Supplies session key, wallet address, API key and session data so no secret is passed in chat
copyTradeIdYesCopy trade ID to modify
lossPercentYesStop-loss % (> 0, < 100)
traderWalletYesTrader wallet address
copyBuyAmountYesSOL amount (mode 1) or percentage 0-100 (mode 2)
copyTradeNameNoLabel
profitPercentYesTake-profit % (> 0)
isChangeStatusNoToggle active/paused relative to the stored state
sessionPrivateKeyNoSession private key
excludedDexNumbersNoDEX numbers to exclude
isBuyExistingTokenNoBuy tokens the trader already holds

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv5.1.0
    • changedInput schema / properties / buyMode / description
      Previous value: -"1 = fixed, 2 = percentage"New value: +"1 = fixed SOL amount, 2 = percentage of trader amount"
    • changedInput schema / properties / copyBuyAmount / description
      Previous value: -"Amount or percentage"New value: +"SOL amount (mode 1) or percentage 0-100 (mode 2)"
    • addedInput schema / properties / copySell
      Added value: +{
      +  "default": false,
      +  "description": "Also copy sells",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / copyTradeName / description
      Previous value: -"Updated label"New value: +"Label"
    • addedInput schema / properties / excludedDexNumbers
      Added value: +{
      +  "description": "DEX numbers to exclude",
      +  "items": {
      +    "type": "number"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / properties / excludedProgramIds
      Removed value: -{
      -  "description": "Program IDs to exclude",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / gasPrice
      Added value: +{
      +  "description": "Priority fee setting (default \"0\")",
      +  "type": "string"
      +}
    • addedInput schema / properties / isBuyExistingToken
      Added value: +{
      +  "default": false,
      +  "description": "Buy tokens the trader already holds",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / isChangeStatus / description
      Previous value: -"WARNING: Also permanently deletes"New value: +"Toggle active/paused relative to the stored state"
    • changedInput schema / properties / isDelete / description
      Previous value: -"Permanently delete the copy trade"New value: +"Permanently delete the configuration (positions stay open)"
    • changedInput schema / properties / lossPercent / description
      Previous value: -"Stop-loss %"New value: +"Stop-loss % (> 0, < 100)"
    • changedInput schema / properties / profitPercent / description
      Previous value: -"Take-profit %"New value: +"Take-profit % (> 0)"
  2. Changed2 schema fields changedv4.12.0
    • addedInput schema / properties / accountRef
      Added value: +{
      +  "description": "Connected account from gdex_connect. Supplies session key, wallet address, API key and session data so no secret is passed in chat",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "apiKey",
      -  "userId",
      -  "sessionPrivateKey",
      -  "copyTradeId",
      -  "traderWallet",
      -  "chainId",
      -  "buyMode",
      -  "copyBuyAmount",
      -  "lossPercent",
      -  "profitPercent"
      -]New value: +[
      +  "copyTradeId",
      +  "traderWallet",
      +  "chainId",
      +  "buyMode",
      +  "copyBuyAmount",
      +  "lossPercent",
      +  "profitPercent"
      +]
  3. First observedv4.11.3

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare destructiveHint=true, and the description adds genuinely non-obvious behavior: every field is rewritten so the full config must be passed, isDelete leaves positions open and does NOT cancel their TP/SL orders, isChangeStatus is a relative toggle (double-send resumes), and the two flags are mutually exclusive. This is exactly the extra context annotations cannot carry.

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?

Front-loaded with the routing guidance and constraints, and every sentence carries weight. The parenthetical sibling list and dense constraint clauses make it somewhat run-on, but nothing is wasted.

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 an 18-parameter mutation tool with no output schema, the description covers the high-risk behaviors and mutual-exclusion rules thoroughly. Auth/session handling is left to the 100%-covered schema, and return behavior is not described, but nothing critical to correct invocation is missing.

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 100%, so the baseline would be 3; but the description adds semantics beyond the schema for the risky parameters (isDelete effect on open positions, isChangeStatus toggle direction, incompatibility of the two flags, full-payload rewrite requirement). It does not, however, clarify the apiKey/userId/accountRef auth interaction that a low-level call requires.

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?

States a specific verb+resource ('Solana copy trade update') and immediately scopes it as 'low-level' relative to named siblings (update_copy_trade_settings / pause_copy_trade / resume_copy_trade / delete_copy_trade). An agent can distinguish it from those alternatives without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells the agent to prefer the higher-level siblings and implicitly reserves this tool for low-level payload rewrites. Both the when-to-use (full config rewrite) and when-not-to-use (use the dedicated settings/pause/resume/delete tools) conditions are stated.

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

Deploy Server

Other Tools