# Toolings

The server provides the following MCP tools for agents. **All tools that accept address parameters support both Ethereum addresses and ENS names.**

**Token services**

| Tool Name                | Description               | Key Parameters                                                                                        |
| ------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------- |
| `get-token-info`         | Get ERC20 token metadata  | `tokenAddress` (address/ENS), `network`                                                               |
| `get-token-balance`      | Check ERC20 token balance | `tokenAddress` (address/ENS), `ownerAddress` (address/ENS), `network`                                 |
| `transfer-token`         | Transfer ERC20 tokens     | `privateKey`, `tokenAddress` (address/ENS), `toAddress` (address/ENS), `amount`, `network`            |
| `approve-token-spending` | Approve token allowances  | `privateKey`, `tokenAddress` (address/ENS), `spenderAddress` (address/ENS), `amount`, `network`       |
| `get-nft-info`           | Get NFT metadata          | `tokenAddress` (address/ENS), `tokenId`, `network`                                                    |
| `check-nft-ownership`    | Verify NFT ownership      | `tokenAddress` (address/ENS), `tokenId`, `ownerAddress` (address/ENS), `network`                      |
| `transfer-nft`           | Transfer an NFT           | `privateKey`, `tokenAddress` (address/ENS), `tokenId`, `toAddress` (address/ENS), `network`           |
| `get-nft-balance`        | Count NFTs owned          | `tokenAddress` (address/ENS), `ownerAddress` (address/ENS), `network`                                 |
| `get-erc1155-token-uri`  | Get ERC1155 metadata      | `tokenAddress` (address/ENS), `tokenId`, `network`                                                    |
| `get-erc1155-balance`    | Check ERC1155 balance     | `tokenAddress` (address/ENS), `tokenId`, `ownerAddress` (address/ENS), `network`                      |
| `transfer-erc1155`       | Transfer ERC1155 tokens   | `privateKey`, `tokenAddress` (address/ENS), `tokenId`, `amount`, `toAddress` (address/ENS), `network` |

**Blockchain services**

| Tool Name         | Description                    | Key Parameters                                                                          |
| ----------------- | ------------------------------ | --------------------------------------------------------------------------------------- |
| `get-chain-info`  | Get network information        | `network`                                                                               |
| `get-balance`     | Get native token balance       | `address` (address/ENS), `network`                                                      |
| `transfer-eth`    | Send native tokens             | `privateKey`, `to` (address/ENS), `amount`, `network`                                   |
| `get-transaction` | Get transaction details        | `txHash`, `network`                                                                     |
| `read-contract`   | Read smart contract state      | `contractAddress` (address/ENS), `abi`, `functionName`, `args`, `network`               |
| `write-contract`  | Write to smart contract        | `contractAddress` (address/ENS), `abi`, `functionName`, `args`, `privateKey`, `network` |
| `is-contract`     | Check if address is a contract | `address` (address/ENS), `network`                                                      |
| `resolve-ens`     | Resolve ENS name to address    | `ensName`, `network`                                                                    |
