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) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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