Skip to main content
Glama
ibc.ts7.12 kB
// IBC Execution Tools - Cross-chain transfers and operations import { Tool } from '@modelcontextprotocol/sdk/types.js'; export const ibcExecutionTools: Tool[] = [ { name: "ibc-transfer", description: "Transfer tokens across chains using IBC", inputSchema: { type: "object", properties: { mnemonic: { type: "string", description: "BIP-39 mnemonic phrase for signing the transaction" }, sourcePort: { type: "string", description: "Source port (usually 'transfer')", default: "transfer" }, sourceChannel: { type: "string", description: "Source channel ID (e.g., 'channel-0' for Cosmos Hub)" }, token: { type: "object", description: "Token to transfer", properties: { denom: { type: "string" }, amount: { type: "string" } }, required: ["denom", "amount"] }, receiver: { type: "string", description: "Recipient address on destination chain" }, timeoutHeight: { type: "object", description: "Timeout height for the transfer", properties: { revisionNumber: { type: "string" }, revisionHeight: { type: "string" } } }, timeoutTimestamp: { type: "string", description: "Timeout timestamp in nanoseconds (0 to disable)" }, memo: { type: "string", description: "Transfer memo" }, gas: { type: "string", description: "Gas limit (default: auto-estimate)" }, gasPrice: { type: "string", description: "Gas price (default: 0.025uosmo)" } }, required: ["mnemonic", "sourceChannel", "token", "receiver"] } }, { name: "timeout-packet", description: "Timeout an IBC packet that failed to be delivered", inputSchema: { type: "object", properties: { mnemonic: { type: "string", description: "BIP-39 mnemonic phrase for signing the transaction" }, packet: { type: "object", description: "IBC packet to timeout", properties: { sequence: { type: "string" }, sourcePort: { type: "string" }, sourceChannel: { type: "string" }, destinationPort: { type: "string" }, destinationChannel: { type: "string" }, data: { type: "string" }, timeoutHeight: { type: "object", properties: { revisionNumber: { type: "string" }, revisionHeight: { type: "string" } } }, timeoutTimestamp: { type: "string" } }, required: ["sequence", "sourcePort", "sourceChannel", "destinationPort", "destinationChannel", "data"] }, proofUnreceived: { type: "string", description: "Proof that packet was not received" }, proofHeight: { type: "object", description: "Height at which proof was generated", properties: { revisionNumber: { type: "string" }, revisionHeight: { type: "string" } }, required: ["revisionNumber", "revisionHeight"] }, nextSequenceRecv: { type: "string", description: "Next sequence receive number" }, gas: { type: "string", description: "Gas limit (default: auto-estimate)" }, gasPrice: { type: "string", description: "Gas price (default: 0.025uosmo)" }, memo: { type: "string", description: "Transaction memo" } }, required: ["mnemonic", "packet", "proofUnreceived", "proofHeight", "nextSequenceRecv"] } }, { name: "acknowledge-packet", description: "Acknowledge receipt of an IBC packet", inputSchema: { type: "object", properties: { mnemonic: { type: "string", description: "BIP-39 mnemonic phrase for signing the transaction" }, packet: { type: "object", description: "IBC packet to acknowledge", properties: { sequence: { type: "string" }, sourcePort: { type: "string" }, sourceChannel: { type: "string" }, destinationPort: { type: "string" }, destinationChannel: { type: "string" }, data: { type: "string" }, timeoutHeight: { type: "object", properties: { revisionNumber: { type: "string" }, revisionHeight: { type: "string" } } }, timeoutTimestamp: { type: "string" } }, required: ["sequence", "sourcePort", "sourceChannel", "destinationPort", "destinationChannel", "data"] }, acknowledgement: { type: "string", description: "Acknowledgement data" }, proofAcked: { type: "string", description: "Proof that packet was acknowledged" }, proofHeight: { type: "object", description: "Height at which proof was generated", properties: { revisionNumber: { type: "string" }, revisionHeight: { type: "string" } }, required: ["revisionNumber", "revisionHeight"] }, gas: { type: "string", description: "Gas limit (default: auto-estimate)" }, gasPrice: { type: "string", description: "Gas price (default: 0.025uosmo)" }, memo: { type: "string", description: "Transaction memo" } }, required: ["mnemonic", "packet", "acknowledgement", "proofAcked", "proofHeight"] } }, { name: "update-client", description: "Update an IBC light client with new header", inputSchema: { type: "object", properties: { mnemonic: { type: "string", description: "BIP-39 mnemonic phrase for signing the transaction" }, clientId: { type: "string", description: "Client identifier" }, clientMessage: { type: "object", description: "Client message containing header or misbehaviour", properties: { typeUrl: { type: "string" }, value: { type: "string" } }, required: ["typeUrl", "value"] }, gas: { type: "string", description: "Gas limit (default: auto-estimate)" }, gasPrice: { type: "string", description: "Gas price (default: 0.025uosmo)" }, memo: { type: "string", description: "Transaction memo" } }, required: ["mnemonic", "clientId", "clientMessage"] } } ];

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MyronKoch-dev/osmosis-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server