Server Details
Manage COTI accounts, deploy private ERC20 and ERC721 contracts, and transfer tokens and NFTs with…
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- cuongpo/coti-mcp
- GitHub Stars
- 0
- Server Listing
- COTI MCP Server
Available Tools
37 toolsapprove_erc20_spenderTry in Inspector
Approve another address to spend tokens on behalf of the owner. This is used for allowing another address (like a contract) to transfer your tokens. Requires token contract address, spender address, and amount as input. Returns the transaction hash upon successful approval.
| Name | Required | Description | Default |
|---|---|---|---|
| gas_limit | No | Optional gas limit for the transaction | |
| amount_wei | Yes | Amount of tokens to approve (in Wei) | |
| token_address | Yes | ERC20 token contract address on COTI blockchain | |
| spender_address | Yes | Address to approve as spender, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
approve_private_erc721Try in Inspector
Approve an address to transfer a specific private ERC721 NFT token on the COTI blockchain. This allows the approved address to transfer the specified NFT on behalf of the owner. Requires token contract address, token ID, and spender address as input. Returns the transaction hash upon successful approval.
| Name | Required | Description | Default |
|---|---|---|---|
| token_id | Yes | ID of the NFT token to approve for transfer | |
| gas_limit | No | Optional gas limit for the transaction | |
| token_address | Yes | ERC721 token contract address on COTI blockchain | |
| spender_address | Yes | Address to approve as spender, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
call_contract_functionTry in Inspector
Call a read-only function on any smart contract on the COTI blockchain. This allows retrieving data from any contract by specifying the contract address, function name, and parameters. Returns the function result in a human-readable format.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Optional JSON string representation of the contract ABI. If not provided, will attempt to use standard ERC20/ERC721 ABIs. | |
| function_args | Yes | Array of arguments to pass to the function (can be empty if function takes no arguments) | |
| function_name | Yes | Name of the function to call on the contract | |
| contract_address | Yes | Address of the smart contract to call |
change_default_accountTry in Inspector
Change the default account used for COTI blockchain operations. This allows switching between different accounts configured in the environment. The account must be configured in the environment variables with corresponding private and AES keys. Returns the new default account address upon successful change.
| Name | Required | Description | Default |
|---|---|---|---|
| account_address | Yes | COTI account address to set as default, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
create_accountTry in Inspector
Create a new COTI account with a randomly generated private key and AES key. Returns the new account address, private key, and AES key.
| Name | Required | Description | Default |
|---|---|---|---|
| set_as_default | No | Optional, whether to set the new account as the default account. Default is false. |
decode_event_dataTry in Inspector
Decode event data from a transaction log based on the event signature. This helps interpret the raw data in transaction logs by matching the event signature to known event types and decoding the parameters. Requires event signature, topics, and data from a transaction log.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Optional JSON string representation of the contract ABI. If not provided, will attempt to use standard ERC20/ERC721 ABIs. | |
| data | Yes | Data field from the transaction log | |
| topics | Yes | Array of topics from the transaction log |
decrypt_valueTry in Inspector
Decrypt a value using the COTI AES key. Requires a ciphertext as input. Returns the decrypted value.
| Name | Required | Description | Default |
|---|---|---|---|
| ciphertext | Yes | Ciphertext to decrypt |
deploy_private_erc20_contractTry in Inspector
Deploy a new standard private ERC20 token contract on the COTI blockchain. This creates a new private token with the specified name, symbol, and decimals. Returns the deployed contract address upon successful deployment.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the token | |
| symbol | Yes | Symbol of the token (typically 3-5 characters) | |
| decimals | Yes | Number of decimals for the token | |
| gas_limit | No | Optional gas limit for the deployment transaction |
deploy_private_erc721_contractTry in Inspector
Deploy a new standard private ERC721 NFT contract on the COTI blockchain. This creates a new private NFT collection with the specified name and symbol. Returns the deployed contract address upon successful deployment.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the NFT collection | |
| symbol | Yes | Symbol of the NFT collection (typically 3-5 characters) | |
| gas_limit | No | Optional gas limit for the deployment transaction |
encrypt_valueTry in Inspector
Encrypt a value using the COTI AES key. This is used for encrypting values to be sent to another address. Requires a value, contract address, and function selector as input. Returns the signature.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Message to encrypt | |
| contract_address | Yes | Contract address | |
| function_selector | Yes | Function selector. To get the function selector, use the keccak256 hash of the function signature. For instance, for the transfer function of an ERC20 token, the function selector is '0xa9059cbb'. |
export_accountsTry in Inspector
Backup all available COTI accounts and export them as a JSON string for future import. Returns a JSON string that can be copied and used for importing later.
| Name | Required | Description | Default |
|---|---|---|---|
| account_addresses | No | Optional list of account addresses to export. If not provided, all accounts will be exported. | |
| include_sensitive_data | No | Optional, whether to include sensitive data (private keys and AES keys) in the output. Default is true. |
generate_aes_keyTry in Inspector
Generate a new AES key for the current account. Returns the AES key.
| Name | Required | Description | Default |
|---|---|---|---|
| account_address | Yes | The address of the account to generate the AES key for. |
get_current_networkTry in Inspector
Get the currently configured COTI network (testnet or mainnet). Returns the network that all blockchain operations will use.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_native_balanceTry in Inspector
Get the native COTI token balance of a COTI blockchain account. This is used for checking the current balance of a COTI account. Requires a COTI account address as input. Returns the account balance in COTI tokens.
| Name | Required | Description | Default |
|---|---|---|---|
| account_address | Yes | COTI account address, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
get_private_erc20_allowanceTry in Inspector
Check how many tokens a spender is allowed to use. This is used for checking the current allowance a spender has for an owner's tokens. Requires token contract address, owner address, and spender address as input. Returns the allowance amount.
| Name | Required | Description | Default |
|---|---|---|---|
| owner_address | Yes | Address of the token owner | |
| token_address | Yes | ERC20 token contract address on COTI blockchain | |
| spender_address | Yes | Address of the spender to check allowance for |
get_private_erc20_balanceTry in Inspector
Get the balance of a private ERC20 token on the COTI blockchain. This is used for checking the current balance of a private token for a COTI account. Requires a COTI account address and token contract address as input. Returns the decrypted token balance.
| Name | Required | Description | Default |
|---|---|---|---|
| token_address | Yes | ERC20 token contract address on COTI blockchain | |
| account_address | Yes | COTI account address, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
get_private_erc20_decimalsTry in Inspector
Get the number of decimals for a private ERC20 token on the COTI blockchain. This is used for checking the number of decimals in this token. Requires token contract address as input. Returns the number of decimals in this contract.
| Name | Required | Description | Default |
|---|---|---|---|
| token_address | Yes | ERC20 token contract address on COTI blockchain |
get_private_erc20_total_supplyTry in Inspector
Get the total supply of tokens for a private ERC20 token on the COTI blockchain. This is used for checking how many tokens have been minted in this token. Requires token contract address as input. Returns the total number of tokens in this contract.
| Name | Required | Description | Default |
|---|---|---|---|
| token_address | Yes | ERC20 token contract address on COTI blockchain |
get_private_erc721_approvedTry in Inspector
Get the approved address for a private ERC721 NFT token on the COTI blockchain. This is used for checking which address is currently approved to transfer a specific NFT. Requires token contract address and token ID as input. Returns the address that is approved to transfer the specified NFT.
| Name | Required | Description | Default |
|---|---|---|---|
| token_id | Yes | ID of the NFT token to check approval for | |
| token_address | Yes | ERC721 token contract address on COTI blockchain |
get_private_erc721_balanceTry in Inspector
Get the balance of a private ERC721 NFT collection on the COTI blockchain. This is used for checking how many NFTs an address owns in a collection. Requires token contract address and account address as input. Returns the number of NFTs owned by the specified address.
| Name | Required | Description | Default |
|---|---|---|---|
| token_address | Yes | ERC721 token contract address on COTI blockchain | |
| account_address | Yes | COTI account address, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
get_private_erc721_is_approved_for_allTry in Inspector
Check if an operator is approved to transfer all private ERC721 NFT tokens on the COTI blockchain. This is used for checking if an operator has been granted approval to manage all NFTs owned by an address. Requires token contract address, owner address, and operator address as input. Returns whether the operator is approved for all NFTs.
| Name | Required | Description | Default |
|---|---|---|---|
| owner_address | Yes | Address of the token owner | |
| token_address | Yes | ERC721 token contract address on COTI blockchain | |
| operator_address | Yes | Address of the operator to check approval for |
get_private_erc721_token_ownerTry in Inspector
Get the owner address of a private ERC721 NFT token on the COTI blockchain. This is used for checking who currently owns a specific NFT. Requires token contract address and token ID as input. Returns the owner's address of the specified NFT.
| Name | Required | Description | Default |
|---|---|---|---|
| token_id | Yes | ID of the NFT token to check ownership for | |
| token_address | Yes | ERC721 token contract address on COTI blockchain |
get_private_erc721_token_uriTry in Inspector
Get the tokenURI for a private ERC721 NFT token on the COTI blockchain. This is used for retrieving the metadata URI of a private NFT. Requires token contract address and token ID as input. Returns the decrypted tokenURI.
| Name | Required | Description | Default |
|---|---|---|---|
| token_id | Yes | ID of the NFT token to get the URI for | |
| token_address | Yes | ERC721 token contract address on COTI blockchain |
get_private_erc721_total_supplyTry in Inspector
Get the total supply of tokens for a private ERC721 NFT collection on the COTI blockchain. This is used for checking how many NFTs have been minted in a collection. Requires token contract address as input. Returns the total number of tokens in the collection.
| Name | Required | Description | Default |
|---|---|---|---|
| token_address | Yes | ERC721 token contract address on COTI blockchain |
get_transaction_logsTry in Inspector
Get the logs from a transaction on the COTI blockchain. This is used for retrieving event logs emitted during transaction execution. Requires a transaction hash as input. Returns detailed information about the transaction logs including event names, topics, and data.
| Name | Required | Description | Default |
|---|---|---|---|
| transaction_hash | Yes | Transaction hash to get logs for |
get_transaction_statusTry in Inspector
Get the status of a transaction on the COTI blockchain. This is used for checking if a transaction has been confirmed, pending, or failed. Requires a transaction hash as input. Returns detailed information about the transaction status.
| Name | Required | Description | Default |
|---|---|---|---|
| transaction_hash | Yes | Transaction hash to check status for |
import_accountsTry in Inspector
Import COTI accounts from a JSON backup string previously created with the export_accounts tool.
| Name | Required | Description | Default |
|---|---|---|---|
| backup_data | Yes | The JSON backup string containing the accounts to import. Example: { "timestamp": "2025-06-03T17:18:55.123Z", "accounts": [ { "address": "0x123...", "private_key": "0x456...", "aes_key": "0x789...", "is_default": true }, ... ] } | |
| merge_with_existing | Yes | Whether to merge with existing accounts or replace them. Default is true (merge). | |
| set_default_account | Yes | Optional address to set as the default account after import. If not provided, will use the default from the backup. |
list_accountsTry in Inspector
List all available COTI accounts configured in the environment. Returns the account addresses, current default account, and masked versions of the private and AES keys.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
mint_private_erc20_tokenTry in Inspector
Mint additional private ERC20 tokens on the COTI blockchain. This adds new tokens to the specified recipient address. Returns the transaction hash upon successful minting.
| Name | Required | Description | Default |
|---|---|---|---|
| gas_limit | No | Optional gas limit for the minting transaction | |
| amount_wei | Yes | Amount of tokens to mint in wei (smallest unit) | |
| token_address | Yes | ERC20 token contract address on COTI blockchain | |
| recipient_address | Yes | Address to receive the minted tokens |
mint_private_erc721_tokenTry in Inspector
Mint a new private ERC721 NFT token on the COTI blockchain. This creates a new NFT in the specified collection with the provided token URI. Returns the transaction hash and token ID upon successful minting.
| Name | Required | Description | Default |
|---|---|---|---|
| gas_limit | No | Optional gas limit for the minting transaction | |
| token_uri | Yes | URI for the token metadata (can be IPFS URI or any other URI), Example: "https://example.com/token/0" | |
| to_address | Yes | Address to receive the minted NFT | |
| token_address | Yes | ERC721 token contract address on COTI blockchain |
set_private_erc721_approval_for_allTry in Inspector
Approve or revoke an operator to transfer all private ERC721 NFT tokens on the COTI blockchain. This allows the operator to transfer any NFT owned by the caller in this collection. Requires token contract address, operator address, and approval status as input. Returns the transaction hash upon successful approval setting.
| Name | Required | Description | Default |
|---|---|---|---|
| approved | Yes | Whether to approve (true) or revoke (false) the operator | |
| gas_limit | No | Optional gas limit for the transaction | |
| token_address | Yes | ERC721 token contract address on COTI blockchain | |
| operator_address | Yes | Address to approve as operator, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
sign_messageTry in Inspector
Sign a message using the COTI private key. This creates a cryptographic signature that proves the message was signed by the owner of the private key. Requires a message to sign as input. Returns the signature.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Message to sign |
switch_networkTry in Inspector
Switch between COTI testnet and mainnet networks. This changes the network for all subsequent blockchain operations. Valid networks are 'testnet' and 'mainnet'. Returns confirmation of the network switch.
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network to switch to - either 'testnet' or 'mainnet' |
transfer_nativeTry in Inspector
Transfer native COTI tokens to another wallet. This is used for sending COTI tokens from your wallet to another address. Requires recipient address and amount in Wei as input. Returns the transaction hash upon successful transfer.
| Name | Required | Description | Default |
|---|---|---|---|
| gas_limit | No | Optional gas limit for the transaction | |
| amount_wei | Yes | Amount of COTI to transfer (in Wei) | |
| recipient_address | Yes | Recipient COTI address, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
transfer_private_erc20Try in Inspector
Transfer private ERC20 tokens on the COTI blockchain. This is used for sending private tokens from your wallet to another address. Requires token contract address, recipient address, and amount as input. Returns the transaction hash upon successful transfer.
| Name | Required | Description | Default |
|---|---|---|---|
| gas_limit | No | Optional gas limit for the transaction | |
| amount_wei | Yes | Amount of tokens to transfer (in Wei) | |
| token_address | Yes | ERC20 token contract address on COTI blockchain | |
| recipient_address | Yes | Recipient COTI address, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 |
transfer_private_erc721Try in Inspector
Transfer a private ERC721 NFT token on the COTI blockchain. This is used for sending a private NFT from your wallet to another address. Requires token contract address, recipient address, and token ID as input. Returns the transaction hash upon successful transfer.
| Name | Required | Description | Default |
|---|---|---|---|
| token_id | Yes | ID of the NFT token to transfer | |
| gas_limit | No | Optional gas limit for the transaction | |
| from_address | No | Optional, address to transfer from. If not provided, the current account will be used. | |
| token_address | Yes | ERC721 token contract address on COTI blockchain | |
| recipient_address | Yes | Recipient COTI address, e.g., 0x0D7C5C1DA069fd7C1fAFBeb922482B2C7B15D273 | |
| use_safe_transfer | No | Optional, whether to use safeTransferFrom instead of transferFrom. Default is false. |
verify_signatureTry in Inspector
Verify a message signature and recover the address that signed it. This is used to determine who signed a specific message. Requires the original message and the signature as input. Returns the address that created the signature.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Original message that was signed | |
| signature | Yes | Signature to verify (hexadecimal string) |
FAQ
How do I claim this server?
To claim this server, publish a /.well-known/glama.json file on your server's domain with the following structure:
The email address must match the email associated with your Glama account. Once verified, the server will appear as claimed by you.
What are the benefits of claiming a server?
- Control your server's listing on Glama, including description and metadata
- Receive usage reports showing how your server is being used
- Get monitoring and health status updates for your server
Your Connectors
Sign in to create a connector for this server.