Skip to content
Alchemy Logo

Alchemy MCP Server

Give your AI coding agent direct access to 100+ blockchains with 159 tools through the Model Context Protocol.

The Alchemy MCP Server connects your AI tools to blockchain data through the Model Context Protocol (MCP). It exposes 159 tools across token prices, NFT metadata, transaction history, smart contract simulation, tracing, account abstraction, Solana DAS, and more — covering 100+ networks including Ethereum, Base, Polygon, Arbitrum, Optimism, Solana, and Starknet.

The server runs at https://mcp.alchemy.com/mcp and authenticates via OAuth — just sign in with your Alchemy account when prompted. No API key or local install required.

  1. Add the server:
claude mcp add alchemy --transport http https://mcp.alchemy.com/mcp
  1. Restart Claude Code (or start a new conversation).

  2. Select alchemy and authenticate:

/mcp

You should see alchemy in the list of active MCP servers. The first time you use a tool, a browser window will open to sign in with your Alchemy account.

For any other MCP-compatible client, point it at https://mcp.alchemy.com/mcp using Streamable HTTP transport. The server supports OAuth 2.1 with PKCE — your client will handle the authorization flow automatically.

Once connected, sign in with your Alchemy account when prompted. Then the typical workflow is:

  1. Tell your agent which app to use — e.g. "Select an Alchemy app"
  2. Ask your agent — e.g. "What's the current price of ETH?" or "Show me the NFTs owned by vitalik.eth"

The server exposes 159 tools in three categories:

Manage your Alchemy account and apps. These tools do not interact with the blockchain.

ToolDescription
pingHealth check
list_appsList your Alchemy apps
get_appGet app details
select_appSelect an app and cache its API key for RPC/Data tools
create_appCreate a new app
update_appUpdate app name or description
list_chainsList all 100+ supported networks
update_allowlistUpdate app allowlists (network, address, origin, IP)

Make JSON-RPC calls to blockchain nodes. All require select_app first.

Standard EVM RPC (31 tools)
ToolDescription
ethBlockNumberGet the latest block number
ethChainIdGet the chain ID
ethGasPriceGet the current gas price
ethMaxPriorityFeePerGasGet the max priority fee per gas
ethBlobBaseFeeGet EIP-4844 blob base fee
ethSyncingGet node sync status
ethGetBalanceGet ETH balance for an address
ethGetCodeGet contract bytecode
ethGetStorageAtGet storage value at a position
ethGetProofGet Merkle proof for account storage
ethGetBlockByNumberGet a block by number
ethGetBlockByHashGet a block by hash
ethGetBlockReceiptsGet all receipts for a block
ethGetBlockTransactionCountByHashGet transaction count in a block by hash
ethGetBlockTransactionCountByNumberGet transaction count in a block by number
ethGetTransactionByHashGet a transaction by hash
ethGetTransactionByBlockHashAndIndexGet a transaction by block hash and index
ethGetTransactionByBlockNumberAndIndexGet a transaction by block number and index
ethGetTransactionReceiptGet a transaction receipt
ethGetTransactionCountGet the nonce for an address
ethGetLogsGet logs matching a filter
ethCallExecute a read-only smart contract call
ethEstimateGasEstimate gas for a transaction
ethCreateAccessListGenerate EIP-2930 access list
ethFeeHistoryGet historical fee data
ethCallBundleSimulate a bundle of transactions at a block
ethCallManySimulate multiple transaction bundles across blocks
netListeningCheck if the node is listening for connections
netVersionGet the network ID
web3ClientVersionGet the client version
web3Sha3Compute a Keccak-256 hash
Token API (3 tools)
ToolDescription
getTokenBalancesGet ERC-20 token balances for an address
getTokenMetadataGet token name, symbol, decimals, logo
getTokenAllowanceGet ERC-20 allowance for a spender
Transfers & Receipts (2 tools)
ToolDescription
getAssetTransfersGet historical asset transfers (ERC-20, ERC-721, native, internal)
getTransactionReceiptsGet all transaction receipts for a block
Transaction Simulation (5 tools)
ToolDescription
simulateAssetChangesSimulate a transaction's asset changes
simulateExecutionSimulate a transaction's execution trace
simulateAssetChangesBundleSimulate a bundle of transactions' asset changes
simulateExecutionBundleSimulate a bundle of transactions' execution traces
simulateUserOperationAssetChangesSimulate a UserOperation's asset changes
Trace API (6 tools)
ToolDescription
traceCallTrace a call without creating a transaction
traceTransactionTrace a mined transaction
traceBlockTrace all transactions in a block
traceFilterFilter traces by address and block range
traceReplayTransactionReplay a transaction with traces
traceReplayBlockTransactionsReplay all transactions in a block
Debug API (6 tools)
ToolDescription
debugTraceTransactionDebug trace a transaction
debugTraceCallDebug trace a call
debugTraceBlockByNumberDebug trace a block by number
debugTraceBlockByHashDebug trace a block by hash
debugGetRawBlockGet raw RLP-encoded block data
debugGetRawReceiptsGet raw transaction receipts for a block
ERC-4337 Account Abstraction (7 tools)
ToolDescription
estimateUserOperationGasEstimate gas for a UserOperation
getUserOperationReceiptGet a UserOperation receipt
getUserOperationByHashGet a UserOperation by hash
supportedEntryPointsList supported EntryPoint addresses
rundlerMaxPriorityFeePerGasGet bundler's max priority fee per gas
requestGasAndPaymasterAndDataRequest gas sponsorship + paymaster data
requestPaymasterAndDataRequest paymaster data only
Solana Standard RPC (50 tools)
ToolDescription
solana_getBalanceGet SOL balance in lamports
solana_getAccountInfoGet account data (owner, lamports, data)
solana_getMultipleAccountsGet data for multiple accounts
solana_getTransactionGet a confirmed transaction by signature
solana_getSignaturesForAddressGet transaction signatures for an address
solana_getSignatureStatusesGet statuses of transaction signatures
solana_simulateTransactionSimulate a transaction without submitting
solana_getTokenAccountBalanceGet SPL Token account balance
solana_getTokenAccountsByOwnerGet all token accounts for a wallet
solana_getTokenAccountsByDelegateGet delegated token accounts
solana_getTokenSupplyGet total supply of an SPL Token
solana_getTokenLargestAccountsGet top 20 holders of a token
solana_getBlockGet a confirmed block by slot
solana_getBlockHeightGet current block height
solana_getBlockTimeGet Unix timestamp for a slot
solana_getBlocksGet confirmed blocks in a range
solana_getBlocksWithLimitGet confirmed blocks from a slot with limit
solana_getBlockCommitmentGet vote commitment for a block
solana_getBlockProductionGet block production stats
solana_getSlotGet current slot
solana_getSlotLeaderGet current slot leader
solana_getSlotLeadersGet slot leaders for a range
solana_getLatestBlockhashGet latest blockhash
solana_isBlockhashValidCheck blockhash validity
solana_getProgramAccountsGet all accounts owned by a program
solana_getEpochInfoGet current epoch info
solana_getEpochScheduleGet epoch schedule
solana_getSupplyGet SOL supply breakdown
solana_getVersionGet node software version
solana_getTransactionCountGet total transaction count
solana_getInflationRateGet current inflation rate
solana_getInflationGovernorGet inflation governor parameters
solana_getInflationRewardGet staking rewards by epoch
solana_getVoteAccountsGet validator vote accounts
solana_getLargestAccountsGet top 20 accounts by balance
solana_getClusterNodesGet cluster node info
solana_getLeaderScheduleGet leader schedule for an epoch
solana_getFeeForMessageGet fee for a message
solana_getRecentPrioritizationFeesGet recent priority fee data
solana_getMinimumBalanceForRentExemptionGet rent-exempt minimum
solana_getFirstAvailableBlockGet lowest available block
solana_getGenesisHashGet genesis hash
solana_getHighestSnapshotSlotGet highest snapshot slot
solana_getIdentityGet node identity pubkey
solana_getMaxRetransmitSlotGet max retransmit slot
solana_getMaxShredInsertSlotGet max shred insert slot
solana_getRecentPerformanceSamplesGet recent TPS samples
solana_getStakeActivationGet stake activation state
solana_minimumLedgerSlotGet lowest ledger slot
solana_requestAirdropAirdrop SOL (devnet only)
Solana Enhanced & DAS (13 tools)
ToolDescription
solana_getPriorityFeeEstimateGet priority fee estimates by level
solana_simulateBundleSimulate a bundle of transactions
solana_getAssetGet details of a Solana asset
solana_getAssetsGet multiple Solana assets
solana_getAssetProofGet Merkle proof for a compressed asset
solana_getAssetsByOwnerGet assets owned by a wallet
solana_getAssetsByAuthorityGet assets by authority address
solana_getAssetsByGroupGet assets by group (e.g. collection)
solana_getAssetsByCreatorGet assets by creator address
solana_searchAssetsSearch for assets by criteria
solana_getAssetSignaturesGet transaction signatures for an asset
solana_getNftEditionsGet NFT editions for a master edition
solana_getTokenAccountsGet token accounts for a wallet

Call Alchemy's REST APIs for enriched blockchain data. All require select_app first.

NFT API (21 tools)
ToolDescription
getNFTsForOwnerGet all NFTs owned by an address
getNFTsForContractGet all NFTs in a contract
getNFTsForCollectionGet all NFTs in a collection
getNFTMetadataGet NFT metadata by token ID
getNFTMetadataBatchGet metadata for up to 100 NFTs
getContractMetadataGet NFT contract metadata
getCollectionMetadataGet collection metadata by slug
getContractMetadataBatchGet metadata for multiple contracts
getOwnersForNFTGet owners of a specific NFT
getOwnersForContractGet all owners in a contract
getFloorPriceGet floor price from marketplaces
getNFTSalesGet recent NFT sales
getContractsForOwnerGet NFT contracts held by an address
getCollectionsForOwnerGet collections held by an address (ETH only)
isSpamContractCheck if a contract is spam
getSpamContractsList all spam contracts
isAirdropNFTCheck if an NFT is an airdrop
searchContractMetadataSearch NFT contracts by keyword
summarizeNFTAttributesGet attribute prevalence summary
isHolderOfContractCheck if a wallet holds any NFT from a contract
computeRarityCalculate attribute rarity for an NFT
Prices API (3 tools)
ToolDescription
getTokenPricesBySymbolGet token prices by symbol (ETH, BTC, etc.)
getTokenPricesByAddressGet token prices by contract address
getHistoricalTokenPricesGet historical price data over a time range
Portfolio / Multi-Chain Data (4 tools)
ToolDescription
getTokensByAddressGet tokens across multiple chains
getTokenBalancesByAddressGet token balances with USD values across chains
getNFTsByAddressGet NFTs across multiple chains
getNFTContractsByAddressGet NFT contracts across multiple chains

We support 100+ blockchains including Ethereum, Base, Polygon, Arbitrum, Optimism, Solana, Starknet, zkSync, Scroll, Linea, Mantle, Blast, and many more. Use list_chains to see the full list.

To run your own instance of the MCP server, see the setup instructions on GitHub: alchemyplatform/alchemy-mcp-server. Note that the open-source repo and the hosted server at mcp.alchemy.com are maintained separately and may not be in sync.

Was this page helpful?