Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
readMeFirst | Get information about how this tool is supposed to be used. Use this tool first before any other tool from this MCP server |
getSupportedChains | Get a list of supported chain IDs |
listFeatures | Get chain details including supported features (read, write, token, validators) and native currency information (ticker, decimals, chain name) |
getTokenDetails | Fetches information about a non-native token (ERC-20, TRC-20, SPL, etc.) - not the chain's native currency. CRITICAL: This provides the 'decimals' field needed to convert raw token amounts from getAccountState() to human-readable values. Always call this for each token when displaying balances: human_readable = raw_amount ÷ 10^token_decimals |
deriveAddress | Derive a blockchain address for a given chain from a public key |
getAccountState | Get the state of an account (balances and staking positions). CRITICAL: Balance amounts are returned in SMALLEST UNITS (wei for ETH, satoshis for BTC, µATOM for ATOM, etc.). NEVER show raw amounts to users! Always convert first! MANDATORY CONVERSION STEPS - ALWAYS CALL THESE ENDPOINTS: 1. For NATIVE currency: MUST call listFeatures(chainId) first to get the exact decimal places - NEVER assume! 2. For TOKENS: MUST call getTokenDetails(chainId, tokenId) for each token to get its exact decimals - NEVER assume! 3. Convert ALL amounts: human_readable = raw_amount ÷ 10^decimals (using the decimals from the API calls above) 4. Present in human-readable format to users COMMON ERRORS TO AVOID: • ATOM: Raw '4191769000' with 6 decimals = 4.191769 ATOM (NOT 4,191.769 ATOM!) • ETH: Raw '5354656887913579' with 18 decimals = 0.005354656887913579 ETH (NOT 5.35 ETH!) • Always divide by 10^decimals, check your decimal point placement! |
getAccountHistory | Get the transaction history for an account |
getChainValidators | Gets the list of known validators for a given chain. This is only useful when asking the user to select a validator to delegate to |
getTransactionDetails | Gets info about a transaction |
encodeTransaction | Turns a transaction intent in Adamik JSON format into an encoded transaction for the given chain (ready to sign). Supports all transaction types: transfer, transferToken, stake, unstake, claimRewards, withdraw, registerStake, convertAsset, and deployAccount. For convertAsset transactions: allows swapping/bridging between different assets, potentially across chains. IMPORTANT: If you receive an error with contact information (like https://adamik.io/contact), you MUST include that exact contact link in your response to the user and do NOT suggest alternative solutions. For staking transaction on babylon chain, stakeId is mandatory and amount is optional. Otherwise, amount is mandatory and stakeId is to be omitted. |
broadcastTransaction | Broadcast a signed transaction. You will probably need another MCP server dedicated in key management and signing before using this. |
getApiSpecification | Get the comprehensive OpenAPI specification for the Adamik API covering 80+ blockchain networks. This provides authoritative reference for: • Exact request/response schemas for all transaction types (transfer, stake, unstake, claimRewards, convertAsset, etc.) • Complete chain family details (EVM, Cosmos, Bitcoin, Solana, Starknet, etc.) with supported features • Precise parameter formats (amounts in smallest units, address formats, token IDs, validator addresses) • Transaction encoding formats (RLP, PSBT, BOC, BCS, etc.) and signature requirements • Account state schemas (native/token balances, staking positions, rewards) • Error handling patterns and validation rules • Pagination support for large datasets Use this when you need exact API contract details for blockchain operations. |