Poobah MCP
Tool Reference
AMP Operations

AMP Operations

Tools for the Andromeda Messaging Protocol - enabling cross-chain communication and advanced ADO creation.

Note: All AMP tools support the optional userId parameter for session persistence. Include it in every call to maintain wallet and chain state across reconnections.

send_amp_message

Send a message through AMP to another ADO. Supports local and cross-chain messaging.

Parameters

ParameterTypeRequiredDescription
recipientstringYesRecipient address, VFS path, or IBC path
messageobjectYesThe message to send to the recipient ADO
fundsarrayNoCoins to send with the message
replyOnstringNoWhen to receive a reply: always, error, success, or never (default: never)
gasLimitnumberNoGas limit for message execution
directTransmissionbooleanNoSend directly or route through kernel (default: false)
exitAtErrorbooleanNoExit on error (default: false)
ibcRecoveryAddrstringNoRecovery address for IBC messages
simulatebooleanNoSimulate without sending (default: false)

Recipient Formats

  • Raw address: andr1contractaddress...
  • VFS path: /home/username/my-contract
  • IBC path: ibc://galileo-4/andr1contractaddress...

Example - Local Message

{
  "recipient": "andr1contractaddress...",
  "message": {
    "transfer_nft": {
      "recipient": "andr1recipient...",
      "token_id": "token123"
    }
  }
}

Example - Cross-Chain Message

{
  "recipient": "ibc://galileo-4/andr1contractaddress...",
  "message": {
    "execute_operation": {
      "data": "value"
    }
  },
  "ibcRecoveryAddr": "andr1myaddress..."
}

Example - With Funds and Reply

{
  "recipient": "andr1contractaddress...",
  "message": {
    "purchase": { "token_id": "token123" }
  },
  "funds": [
    { "denom": "uandr", "amount": "1000000" }
  ],
  "replyOn": "error"
}

create_ado_through_amp

Create an ADO through the kernel. This enables special kernel features like auto-registration in the VFS.

Parameters

ParameterTypeRequiredDescription
adoTypestringYesADO type (e.g., "cw721"). Can include version: "[email protected]"
msgobjectYesThe instantiation message for the ADO
labelstringYesA human-readable label for the contract
versionstringNoADO version (if not specified in adoType)
ownerstringNoOwner address (defaults to sender)
fundsarrayNoFunds to send with instantiation
simulationbooleanNoSimulate without creating (default: false)

Example

{
  "adoType": "cw721",
  "version": "2.2.0-b.12",
  "msg": {
    "name": "My NFT Collection",
    "symbol": "MNFT",
    "minter": "andr1..."
  },
  "label": "my-nft-collection"
}

With Version in Type

{
  "adoType": "[email protected]",
  "msg": {
    "name": "My NFT Collection",
    "symbol": "MNFT",
    "minter": "andr1..."
  },
  "label": "my-nft-collection"
}

Difference from instantiate_ado

create_ado_through_amp routes through the kernel which provides:

  • Automatic registration in kernel's ADO registry
  • VFS path creation capabilities
  • Cross-chain instantiation support

Use instantiate_ado for direct deployment, create_ado_through_amp for kernel-managed deployment.


send_amp_batch

CURRENTLY UNAVAILABLE - Awaiting kernel support for batch messaging.

This tool will send multiple AMP messages in a single transaction when the kernel adds support.

Parameters

ParameterTypeRequiredDescription
messagesarrayYesArray of AMP messages to send

Each message in the array follows the same format as send_amp_message.

Future Example

{
  "messages": [
    {
      "recipient": "andr1contract1...",
      "message": { "action1": {} }
    },
    {
      "recipient": "andr1contract2...",
      "message": { "action2": {} }
    }
  ]
}