# COTI MCP Server [![smithery badge](https://smithery.ai/badge/@davibauer/coti-mcp)](https://smithery.ai/server/@davibauer/coti-mcp) [![FAQ](https://img.shields.io/badge/docs-FAQ-blue?style=flat&logo=readme)](./FAQ.md) 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. ## Available Tools **Account Management (8 tools)** - `create_account` - Create new COTI account - `decrypt_value` - Decrypt values with COTI AES key - `encrypt_value` - Encrypt values with COTI AES key - `generate_aes_key` - Generate new AES encryption key - `get_current_network` - Get currently configured network - `sign_message` - Sign messages with account private key - `switch_network` - Switch between COTI networks - `verify_signature` - Verify message signatures **Private ERC20 Operations (8 tools)** - `approve_erc20_spender` - Approve spender for ERC20 tokens - `deploy_private_erc20_contract` - Deploy new private ERC20 contract - `get_private_erc20_allowance` - Get ERC20 token allowance - `get_private_erc20_balance` - Get private token balance - `get_private_erc20_decimals` - Get token decimals - `get_private_erc20_total_supply` - Get token total supply - `mint_private_erc20_token` - Mint private ERC20 tokens - `transfer_private_erc20` - Transfer private ERC20 tokens **Private ERC721 Operations (11 tools)** - `approve_private_erc721` - Approve spender for specific NFT - `deploy_private_erc721_contract` - Deploy new private NFT contract - `get_private_erc721_approved` - Get approved spender for NFT - `get_private_erc721_balance` - Get NFT balance for account - `get_private_erc721_is_approved_for_all` - Check operator approval status - `get_private_erc721_token_owner` - Get NFT token owner - `get_private_erc721_token_uri` - Get NFT token URI - `get_private_erc721_total_supply` - Get NFT collection total supply - `mint_private_erc721_token` - Mint new private NFT - `set_private_erc721_approval_for_all` - Set operator approval for all NFTs - `transfer_private_erc721` - Transfer private NFTs **Transaction Management (4 tools)** - `call_contract_function` - Call smart contract functions - `decode_event_data` - Decode transaction event data - `get_transaction_logs` - Get transaction event logs - `get_transaction_status` - Get transaction status and details **Native Token Operations (2 tools)** - `get_native_balance` - Get native COTI token balance - `transfer_native` - Transfer native COTI tokens ## Requirements - 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 ## Setup ### Installation ```bash git clone https://github.com/davibauer/coti-mcp.git cd coti-mcp npm install npm run dev ``` ### Distribution **Smithery** ```bash npx -y @smithery/cli install @davibauer/coti-mcp --client claude ``` **Local Configuration** Add to your Claude desktop configuration: ```json { "mcpServers": { "coti-mcp": { "command": "node", "args": ["path/to/build/index.js"] } } } ``` After connecting, use the account management tools to create accounts: - `create_account` - Create a new account ## Resources | Resource | Description | |----------|-------------| | [FAQ](./FAQ.md) | Frequently asked questions & usage examples | | [COTI Documentation](https://docs.coti.io) | Official COTI blockchain docs | | [Smithery Server](https://smithery.ai/server/@davibauer/coti-mcp) | MCP server installation & details | ## License MIT License - see LICENSE file for details.