Alchemy MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ALCHEMY_API_KEY | Yes | Your Alchemy API key (required for all blockchain data queries) | |
| AGENT_WALLET_SERVER | No | URL of a configured wallet agent server that handles Smart Contract Account operations (required for transaction and swap functionality) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| listSupportedNetworksA | List all blockchain networks supported by Alchemy, including EVM and Solana chains |
| fetchTokenPriceBySymbolA | Get current USD prices for tokens by their ticker symbol (e.g. BTC, ETH) |
| fetchTokenPriceByAddressA | Get current USD prices for tokens by their contract address and network |
| fetchTokenPriceHistoryBySymbolB | Get historical token price data over a date range with configurable interval |
| fetchTokenPriceHistoryByTimeFrameC | Get historical token prices using natural language time frames like "last week" or "past 7 days" |
| fetchTokensOwnedByMultichainAddressesB | Get all ERC-20 tokens owned by wallet addresses across multiple chains |
| fetchAddressTransactionHistoryB | Get transaction history for wallet addresses across multiple chains, with human-readable dates and ETH values |
| fetchTransfersB | Get token and ETH transfers filtered by address, block range, or contract |
| fetchNftsOwnedByMultichainAddressesB | Get NFTs owned by wallet addresses across multiple chains, with spam filtering |
| fetchNftContractDataByMultichainAddressB | Get NFT contract data for wallet addresses across multiple chains |
| sendTransactionC | Send a transaction from a smart contract account (SCA) via the Alchemy wallet API. Requires AGENT_WALLET_SERVER |
| swapC | Initiate a token swap from a smart contract account (SCA) via the Alchemy wallet API. Requires AGENT_WALLET_SERVER |
| getNFTsForOwnerA | Get all NFTs owned by an address on a single network, with metadata and spam filtering options |
| getNFTsForContractB | Get all NFTs in a specific contract or collection with optional metadata |
| getNFTsForCollectionA | Get all NFTs in a collection by contract address or OpenSea slug |
| getNFTMetadataB | Get metadata for a specific NFT by contract address and token ID |
| getContractMetadataC | Get metadata for an NFT contract (name, symbol, total supply, etc.) |
| getCollectionMetadataA | Get metadata for an NFT collection by its OpenSea slug |
| invalidateNFTContractCacheB | Invalidate cached metadata for an NFT contract to force a refresh on next query |
| getOwnersForNFTB | Get all owner addresses for a specific NFT token |
| getOwnersForContractA | Get all owner addresses for an NFT contract, optionally with token balances |
| getSpamContractsB | Get a list of all known spam NFT contract addresses on a network |
| isSpamContractB | Check if a specific contract address is flagged as spam |
| isAirdropNFTB | Check if a specific NFT is flagged as an airdrop |
| summarizeNFTAttributesC | Get a summary of trait/attribute distribution for an NFT collection |
| getFloorPriceB | Get the marketplace floor price for an NFT collection |
| searchContractMetadataB | Search for NFT contracts by keyword in their metadata |
| isHolderOfContractA | Check if a wallet address owns any NFTs from a specific contract |
| computeRarityB | Compute the rarity score for a specific NFT within its collection |
| getNFTSalesB | Get historical NFT sales data, filterable by marketplace, contract, buyer, or seller |
| getContractsForOwnerB | Get all NFT contracts that an address owns tokens in |
| getCollectionsForOwnerB | Get all NFT collections that an address owns tokens in |
| reportSpamB | Report an NFT contract address as spam or not spam |
| getTokenAllowanceB | Get the ERC-20 token allowance a spender has been granted by an owner |
| getTokenBalancesB | Get ERC-20 token balances for a wallet address on a single network |
| getTokenMetadataB | Get metadata (name, symbol, decimals, logo) for an ERC-20 token contract |
| getTransactionReceiptsB | Get all transaction receipts for a given block by number or hash |
| debugGetRawBlockB | Get the raw RLP-encoded block data for a given block number or tag |
| debugGetRawHeaderA | Get the raw RLP-encoded block header for a given block number or tag |
| debugGetRawReceiptsB | Get the raw receipt data for all transactions in a block |
| debugTraceBlockByHashB | Replay and trace all transactions in a block identified by its hash |
| debugTraceBlockByNumberB | Replay and trace all transactions in a block identified by its number |
| debugTraceCallC | Trace a call without executing it on-chain — useful for debugging contract interactions |
| debugTraceTransactionB | Get a detailed execution trace of an already-mined transaction |
| traceBlockA | Get Parity-style execution traces for all transactions in a block |
| traceCallB | Execute and trace a call without broadcasting it (Parity-style tracing) |
| traceGetB | Get a specific sub-trace within a transaction by index position |
| traceRawTransactionB | Trace a raw signed transaction without broadcasting it to the network |
| traceReplayBlockTransactionsB | Replay all transactions in a block and return traces with optional state diffs |
| traceReplayTransactionB | Replay a specific transaction and return its trace with optional state diffs |
| traceTransactionB | Get the Parity-style execution trace of an already-mined transaction |
| traceFilterB | Search for traces matching criteria like sender, recipient, and block range |
| simulateAssetChangesB | Simulate a transaction and preview what asset changes (token transfers, ETH movements) would occur |
| simulateAssetChangesBundleB | Simulate a bundle of 1-2 transactions and preview the combined asset changes |
| simulateExecutionB | Simulate full transaction execution and get detailed call traces, logs, and return data |
| simulateExecutionBundleA | Simulate execution of a bundle of 1-2 transactions with full call traces |
| getMaxPriorityFeePerGasA | Get the recommended max priority fee per gas for EIP-1559 transactions |
| getUserOperationReceiptA | Get the receipt for an ERC-4337 user operation by its hash |
| getSupportedEntryPointsA | Get the entry point contract addresses supported for ERC-4337 account abstraction |
| getUserOperationByHashB | Get details of an ERC-4337 user operation by its hash |
| estimateUserOperationGasB | Estimate gas costs for an ERC-4337 user operation against an entry point |
| simulateUserOperationAssetChangesA | Simulate an ERC-4337 user operation and preview the predicted asset changes |
| getBeaconGenesisB | Get Ethereum Beacon Chain genesis information (time, validator root, fork version) |
| getBeaconBlockA | Get a Beacon Chain block by slot number, root, or keyword (head, finalized, genesis) |
| getBeaconBlockAttestationsA | Get attestations included in a specific Beacon Chain block |
| getBeaconBlockRootC | Get the root hash of a specific Beacon Chain block |
| getBeaconBlobSidecarsB | Get blob sidecars for a Beacon Chain block (EIP-4844 blob data) |
| getBeaconHeadersA | Get Beacon Chain block headers, optionally filtered by slot or parent root |
| getBeaconHeaderByBlockIdB | Get a specific Beacon Chain block header by its block ID |
| getBeaconPoolVoluntaryExitsA | Get voluntary validator exit messages currently in the Beacon Chain mempool |
| getBeaconPoolAttestationsA | Get attestations currently pending in the Beacon Chain mempool |
| getBeaconStateCommitteesC | Get beacon committee assignments for a given state, optionally filtered by epoch/slot |
| getBeaconStateFinalityCheckpointsA | Get finality checkpoints (justified and finalized epochs) for a given state |
| getBeaconStateForkB | Get the fork version information for a given Beacon Chain state |
| getBeaconStatePendingConsolidationsB | Get pending validator consolidation requests for a given state |
| getBeaconStateRootA | Get the state root hash for a given Beacon Chain state |
| getBeaconStateSyncCommitteesB | Get sync committee assignments for a given state and optional epoch |
| getBeaconStateRandaoB | Get the RANDAO mix value for a given Beacon Chain state and optional epoch |
| getBeaconStateValidatorBalancesA | Get validator ETH balances for a given state, optionally filtered by validator ID |
| getBeaconStateValidatorsA | Get validator details for a given state, optionally filtered by ID or status |
| getBeaconStateValidatorByIdB | Get full details for a specific Beacon Chain validator by index or public key |
| getBeaconBlockRewardsB | Get the block rewards breakdown (proposer, attestation, sync committee) for a Beacon block |
| getBeaconConfigSpecA | Get the full Beacon Chain configuration specification and protocol constants |
| getBeaconNodeSyncingC | Check whether a Beacon Chain node is currently syncing and its sync progress |
| getBeaconNodeVersionB | Get the software version string of the Beacon Chain node |
| solanaGetAssetA | Get detailed information about a Solana asset (token, NFT, or compressed NFT) by its mint ID |
| solanaGetAssetsA | Get detailed information about multiple Solana assets by their mint IDs in a single request |
| solanaGetAssetProofB | Get the Merkle proof for a compressed Solana asset, needed for on-chain verification |
| solanaGetAssetProofsB | Get Merkle proofs for multiple compressed Solana assets in a single request |
| solanaGetAssetsByAuthorityC | Get all Solana assets managed by a specific authority address |
| solanaGetAssetsByCreatorB | Get all Solana assets created by a specific address, with optional verification filter |
| solanaGetAssetsByGroupC | Get all Solana assets in a specific group (e.g. an NFT collection) |
| solanaGetAssetsByOwnerB | Get all Solana assets (tokens, NFTs) owned by a specific wallet address |
| solanaGetAssetSignaturesB | Get transaction signatures associated with a specific Solana asset |
| solanaGetNftEditionsB | Get edition information (master/print editions) for a Solana NFT |
| solanaGetTokenAccountsB | Get Solana SPL token accounts filtered by mint address or owner |
| solanaSearchAssetsC | Search for Solana assets with flexible filters (owner, creator, authority, burnt, frozen status) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alchemyplatform/alchemy-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server