A Model Context Protocol (MCP) server that enables AI applications to interact with the COTI blockchain, specializing in private token operations using COTI's Multi-Party Computation (MPC) technology.
Complete Account Management
- Create, import, and export COTI accounts
- Switch between networks (testnet/devnet/mainnet)
- Generate AES keys and manage account credentials
- Sign messages and verify signatures
- Multi-account support with seamless switching
Private ERC20 Token Operations
- Deploy new private ERC20 contracts
- Comprehensive token information and allowance management
- Secure minting, transfer, and approval operations
- Balance, decimals, and supply tracking
Private ERC721 NFT Operations
- Deploy new private NFT collections
- Complete approval and ownership management
- Safe minting and transfer operations
- Token URI, balance, and collection supply tracking
Transaction Management
- Call arbitrary smart contract functions
- Monitor transaction status and retrieve logs
- Decode event data from transaction logs
- Full transaction lifecycle management
Privacy & Encryption
- Value encryption and decryption using COTI AES keys
- Full privacy support through MPC technology
- Secure transaction processing and message signing
Account Management (12 tools)
change_default_account- Switch between configured accountscreate_account- Create new COTI accountdecrypt_value- Decrypt values with COTI AES keyencrypt_value- Encrypt values with COTI AES keyexport_accounts- Export account configurationsgenerate_aes_key- Generate new AES encryption keyget_current_network- Get currently configured networkimport_accounts- Import account configurationslist_accounts- List all configured accountssign_message- Sign messages with account private keyswitch_network- Switch between COTI networksverify_signature- Verify message signatures
Private ERC20 Operations (8 tools)
approve_erc20_spender- Approve spender for ERC20 tokensdeploy_private_erc20_contract- Deploy new private ERC20 contractget_private_erc20_allowance- Get ERC20 token allowanceget_private_erc20_balance- Get private token balanceget_private_erc20_decimals- Get token decimalsget_private_erc20_total_supply- Get token total supplymint_private_erc20_token- Mint private ERC20 tokenstransfer_private_erc20- Transfer private ERC20 tokens
Private ERC721 Operations (11 tools)
approve_private_erc721- Approve spender for specific NFTdeploy_private_erc721_contract- Deploy new private NFT contractget_private_erc721_approved- Get approved spender for NFTget_private_erc721_balance- Get NFT balance for accountget_private_erc721_is_approved_for_all- Check operator approval statusget_private_erc721_token_owner- Get NFT token ownerget_private_erc721_token_uri- Get NFT token URIget_private_erc721_total_supply- Get NFT collection total supplymint_private_erc721_token- Mint new private NFTset_private_erc721_approval_for_all- Set operator approval for all NFTstransfer_private_erc721- Transfer private NFTs
Transaction Management (4 tools)
call_contract_function- Call smart contract functionsdecode_event_data- Decode transaction event dataget_transaction_logs- Get transaction event logsget_transaction_status- Get transaction status and details
Native Token Operations (2 tools)
get_native_balance- Get native COTI token balancetransfer_native- Transfer native COTI tokens
- Node.js v18 or higher
- COTI AES Key for API authentication
- COTI Private Key for signing transactions
- COTI Public Key corresponding to the private key
git clone https://github.com/davibauer/coti-mcp.git
cd coti-mcp
npm install
npm run buildSmithery
npx -y @smithery/cli install @davibauer/coti-mcp --client claudeLocal Configuration
Add to your Claude desktop configuration:
{
"mcpServers": {
"coti-mcp": {
"command": "node",
"args": ["path/to/build/index.js"],
"env": {
"COTI_MCP_AES_KEY": "your_aes_key_here",
"COTI_MCP_PUBLIC_KEY": "your_public_key_here",
"COTI_MCP_PRIVATE_KEY": "your_private_key_here",
"COTI_MCP_CURRENT_PUBLIC_KEY": "current_account_public_key"
}
}
}
}Multi-Account Support
Configure multiple accounts using comma-separated values:
"env": {
"COTI_MCP_AES_KEY": "key1,key2,key3",
"COTI_MCP_PUBLIC_KEY": "pub1,pub2,pub3",
"COTI_MCP_PRIVATE_KEY": "priv1,priv2,priv3",
"COTI_MCP_CURRENT_PUBLIC_KEY": "pub1"
}MIT License - see LICENSE file for details.