Alchemy MCP Server
OfficialThis hosted MCP server gives AI agents OAuth-based access to Alchemy's blockchain APIs for reading, analyzing, simulating, and acting on EVM chains and Solana.
List all supported EVM and Solana networks.
Fetch current and historical token prices by symbol, contract address, date range, or natural-language time frame.
Query wallet portfolios: ERC-20 balances, multichain token holdings, transaction history, and token/ETH transfers.
Explore NFT data: owned NFTs, contracts/collections, metadata, owners, spam/airdrop checks, rarity, floor prices, sales, and trait summaries.
Read token allowances, token metadata, and raw chain data such as transaction receipts, raw blocks, headers, and receipts.
Simulate transactions and bundles, preview asset changes, estimate gas, and get priority-fee recommendations.
Debug and trace transactions, calls, and blocks via debug_* and trace_* APIs.
Use ERC-4337 account abstraction tools: user operation receipts/details, entry points, gas estimation, and simulation.
Access Ethereum Beacon Chain data: genesis, blocks, attestations, headers, pools, state, validators, rewards, config, and sync status.
Work with Solana assets: get/search assets, proofs, assets by owner/creator/authority/group, token accounts, NFT editions, and signatures.
Send transactions or initiate swaps through Alchemy's wallet API for smart contract accounts (requires AGENT_WALLET_SERVER).
Enables AI agents to query Alchemy's blockchain APIs for token prices, NFT ownership, transaction history, token balances across multiple blockchain networks, asset transfers, and other blockchain data without writing code.
Provides access to Bitcoin price data and history through Alchemy's APIs.
Allows querying the Ethereum blockchain for transaction history, token balances, NFT ownership, and token prices through Alchemy's APIs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Alchemy MCP Server what's the current price of ETH and BTC?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Alchemy MCP Server
The legacy local MCP server has been retired. Its source code has been removed from this repository, and the @alchemy/mcp-server npm package will stop working on September 30, 2026. Use the hosted Alchemy MCP Server at https://mcp.alchemy.com/mcp instead.
The hosted Alchemy MCP Server gives AI agents access to Alchemy's blockchain APIs and onchain data. It authenticates via OAuth — just sign in with your Alchemy account when prompted. No API key or local install required.
Full documentation: alchemy.com/docs/alchemy-mcp-server
Setup
Client | Setup |
Claude Code |
|
Codex |
|
Cursor | Add to |
Windsurf | Add to |
VS Code Copilot | Add to |
Claude Desktop | Add to |
Cline | Open |
{
"mcpServers": {
"alchemy": {
"type": "streamable-http",
"url": "https://mcp.alchemy.com/mcp"
}
}
}{
"servers": {
"alchemy": {
"type": "http",
"url": "https://mcp.alchemy.com/mcp"
}
}
}For any other MCP-compatible client, point it at https://mcp.alchemy.com/mcp using Streamable HTTP transport.
Related MCP server: Crypto MCP Server
Migrating from the local server
If your MCP config runs the local server through npx, like this:
{
"mcpServers": {
"alchemy": {
"command": "npx",
"args": ["-y", "@alchemy/mcp-server"],
"env": {
"ALCHEMY_API_KEY": "YOUR_API_KEY"
}
}
}
}replace that entry with the hosted server config for your client from the Setup section above. You can drop ALCHEMY_API_KEY from your MCP config; the hosted server signs you in with your Alchemy account instead.
Available Tools
97 toolscomputeRarityBInspect
Compute the rarity score for a specific NFT within its collection
Inputs: contractAddress (required), tokenId (required), network.
debugGetRawBlockBInspect
Get the raw RLP-encoded block data for a given block number or tag
Inputs: blockNumberOrTag (required), network.
debugGetRawHeaderAInspect
Get the raw RLP-encoded block header for a given block number or tag
Inputs: blockNumberOrTag (required), network.
debugGetRawReceiptsBInspect
Get the raw receipt data for all transactions in a block
Inputs: blockNumberOrTag (required), network.
debugTraceBlockByHashBInspect
Replay and trace all transactions in a block identified by its hash
Inputs: blockHash (required), network, tracer.
debugTraceBlockByNumberBInspect
Replay and trace all transactions in a block identified by its number
Inputs: blockNumberOrTag (required), network, tracer.
debugTraceCallCInspect
Trace a call without executing it on-chain — useful for debugging contract interactions
Inputs: transaction (required), blockIdentifier (required), network, options.
debugTraceTransactionBInspect
Get a detailed execution trace of an already-mined transaction
Inputs: transactionHash (required), network, options.
estimateUserOperationGasBInspect
Estimate gas costs for an ERC-4337 user operation against an entry point
Inputs: userOperation (required), entryPoint (required), network, stateOverrideSet.
fetchAddressTransactionHistoryBInspect
Get transaction history for wallet addresses across multiple chains, with human-readable dates and ETH values
Inputs: addresses (required), before, after, limit.
fetchNftContractDataByMultichainAddressBInspect
Get NFT contract data for wallet addresses across multiple chains
Inputs: addresses (required), withMetadata.
fetchNftsOwnedByMultichainAddressesBInspect
Get NFTs owned by wallet addresses across multiple chains, with spam filtering
Inputs: addresses (required), withMetadata, pageKey, pageSize.
fetchTokenPriceByAddressAInspect
Get current USD prices for tokens by their contract address and network
Inputs: addresses (required).
fetchTokenPriceBySymbolAInspect
Get current USD prices for tokens by their ticker symbol (e.g. BTC, ETH)
Inputs: symbols (required).
fetchTokenPriceHistoryBySymbolBInspect
Get historical token price data over a date range with configurable interval
Inputs: symbol (required), startTime (required), endTime (required), interval (required).
fetchTokenPriceHistoryByTimeFrameCInspect
Get historical token prices using natural language time frames like "last week" or "past 7 days"
Inputs: symbol (required), timeFrame (required), interval, useNaturalLanguageProcessing.
fetchTokensOwnedByMultichainAddressesBInspect
Get all ERC-20 tokens owned by wallet addresses across multiple chains
Inputs: addresses (required).
fetchTransfersBInspect
Get token and ETH transfers filtered by address, block range, or contract
Inputs: fromBlock, toBlock, fromAddress, toAddress, +8 more.
getBeaconBlobSidecarsBInspect
Get blob sidecars for a Beacon Chain block (EIP-4844 blob data)
Inputs: blockId (required), network, indices.
getBeaconBlockAInspect
Get a Beacon Chain block by slot number, root, or keyword (head, finalized, genesis)
Inputs: blockId (required), network.
getBeaconBlockAttestationsAInspect
Get attestations included in a specific Beacon Chain block
Inputs: blockId (required), network.
getBeaconBlockRewardsBInspect
Get the block rewards breakdown (proposer, attestation, sync committee) for a Beacon block
Inputs: blockId (required), network.
getBeaconBlockRootCInspect
Get the root hash of a specific Beacon Chain block
Inputs: blockId (required), network.
getBeaconConfigSpecAInspect
Get the full Beacon Chain configuration specification and protocol constants
Inputs: network.
getBeaconGenesisBInspect
Get Ethereum Beacon Chain genesis information (time, validator root, fork version)
Inputs: network.
getBeaconHeaderByBlockIdBInspect
Get a specific Beacon Chain block header by its block ID
Inputs: blockId (required), network.
getBeaconHeadersAInspect
Get Beacon Chain block headers, optionally filtered by slot or parent root
Inputs: network, slot, parentRoot.
getBeaconNodeSyncingCInspect
Check whether a Beacon Chain node is currently syncing and its sync progress
Inputs: network.
getBeaconNodeVersionBInspect
Get the software version string of the Beacon Chain node
Inputs: network.
getBeaconPoolAttestationsAInspect
Get attestations currently pending in the Beacon Chain mempool
Inputs: network.
getBeaconPoolVoluntaryExitsAInspect
Get voluntary validator exit messages currently in the Beacon Chain mempool
Inputs: network.
getBeaconStateCommitteesCInspect
Get beacon committee assignments for a given state, optionally filtered by epoch/slot
Inputs: stateId (required), network, epoch, index, +1 more.
getBeaconStateFinalityCheckpointsAInspect
Get finality checkpoints (justified and finalized epochs) for a given state
Inputs: stateId (required), network.
getBeaconStateForkBInspect
Get the fork version information for a given Beacon Chain state
Inputs: stateId (required), network.
getBeaconStatePendingConsolidationsBInspect
Get pending validator consolidation requests for a given state
Inputs: stateId (required), network.
getBeaconStateRandaoBInspect
Get the RANDAO mix value for a given Beacon Chain state and optional epoch
Inputs: stateId (required), network, epoch.
getBeaconStateRootAInspect
Get the state root hash for a given Beacon Chain state
Inputs: stateId (required), network.
getBeaconStateSyncCommitteesBInspect
Get sync committee assignments for a given state and optional epoch
Inputs: stateId (required), network, epoch.
getBeaconStateValidatorBalancesAInspect
Get validator ETH balances for a given state, optionally filtered by validator ID
Inputs: stateId (required), network, id.
getBeaconStateValidatorByIdBInspect
Get full details for a specific Beacon Chain validator by index or public key
Inputs: stateId (required), validatorId (required), network.
getBeaconStateValidatorsAInspect
Get validator details for a given state, optionally filtered by ID or status
Inputs: stateId (required), network, id, status.
getCollectionMetadataAInspect
Get metadata for an NFT collection by its OpenSea slug
Inputs: collectionSlug (required), network.
getCollectionsForOwnerBInspect
Get all NFT collections that an address owns tokens in
Inputs: owner (required), network, pageKey, pageSize, +3 more.
getContractMetadataCInspect
Get metadata for an NFT contract (name, symbol, total supply, etc.)
Inputs: contractAddress (required), network.
getContractsForOwnerBInspect
Get all NFT contracts that an address owns tokens in
Inputs: owner (required), network, pageKey, pageSize, +5 more.
getFloorPriceBInspect
Get the marketplace floor price for an NFT collection
Inputs: network, contractAddress, collectionSlug.
getMaxPriorityFeePerGasAInspect
Get the recommended max priority fee per gas for EIP-1559 transactions
Inputs: network.
getNFTMetadataBInspect
Get metadata for a specific NFT by contract address and token ID
Inputs: contractAddress (required), tokenId (required), network, tokenType, +2 more.
getNFTSalesBInspect
Get historical NFT sales data, filterable by marketplace, contract, buyer, or seller
Inputs: network, fromBlock, toBlock, order, +8 more.
getNFTsForCollectionAInspect
Get all NFTs in a collection by contract address or OpenSea slug
Inputs: network, contractAddress, collectionSlug, withMetadata, +3 more.
getNFTsForContractBInspect
Get all NFTs in a specific contract or collection with optional metadata
Inputs: contractAddress (required), network, withMetadata, startToken, +2 more.
getNFTsForOwnerAInspect
Get all NFTs owned by an address on a single network, with metadata and spam filtering options
Inputs: owner (required), network, contractAddresses, withMetadata, +7 more.
getOwnersForContractAInspect
Get all owner addresses for an NFT contract, optionally with token balances
Inputs: contractAddress (required), network, withTokenBalances, pageKey.
getOwnersForNFTBInspect
Get all owner addresses for a specific NFT token
Inputs: contractAddress (required), tokenId (required), network.
getSpamContractsBInspect
Get a list of all known spam NFT contract addresses on a network
Inputs: network.
getSupportedEntryPointsAInspect
Get the entry point contract addresses supported for ERC-4337 account abstraction
Inputs: network.
getTokenAllowanceBInspect
Get the ERC-20 token allowance a spender has been granted by an owner
Inputs: contract (required), owner (required), spender (required), network.
getTokenBalancesBInspect
Get ERC-20 token balances for a wallet address on a single network
Inputs: address (required), network, tokenSpec, pageKey, +1 more.
getTokenMetadataBInspect
Get metadata (name, symbol, decimals, logo) for an ERC-20 token contract
Inputs: contractAddress (required), network.
getTransactionReceiptsBInspect
Get all transaction receipts for a given block by number or hash
Inputs: network, blockNumber, blockHash.
getUserOperationByHashBInspect
Get details of an ERC-4337 user operation by its hash
Inputs: userOpHash (required), network.
getUserOperationReceiptAInspect
Get the receipt for an ERC-4337 user operation by its hash
Inputs: userOpHash (required), network.
invalidateNFTContractCacheBInspect
Invalidate cached metadata for an NFT contract to force a refresh on next query
Inputs: contractAddress (required), network.
isAirdropNFTBInspect
Check if a specific NFT is flagged as an airdrop
Inputs: contractAddress (required), tokenId (required), network.
isHolderOfContractAInspect
Check if a wallet address owns any NFTs from a specific contract
Inputs: wallet (required), contractAddress (required), network.
isSpamContractBInspect
Check if a specific contract address is flagged as spam
Inputs: contractAddress (required), network.
listSupportedNetworksAInspect
List all blockchain networks supported by Alchemy, including EVM and Solana chains
Inputs: no named parameters.
reportSpamBInspect
Report an NFT contract address as spam or not spam
Inputs: address (required), isSpam (required), network.
searchContractMetadataBInspect
Search for NFT contracts by keyword in their metadata
Inputs: query (required), network.
sendTransactionCInspect
Send a transaction from a smart contract account (SCA) via the Alchemy wallet API. Requires AGENT_WALLET_SERVER
Inputs: ownerScaAccountAddress (required), signerAddress (required), toAddress (required), value, +1 more.
simulateAssetChangesBInspect
Simulate a transaction and preview what asset changes (token transfers, ETH movements) would occur
Inputs: transaction (required), network.
simulateAssetChangesBundleBInspect
Simulate a bundle of 1-2 transactions and preview the combined asset changes
Inputs: transactions (required), network.
simulateExecutionBInspect
Simulate full transaction execution and get detailed call traces, logs, and return data
Inputs: transaction (required), network.
simulateExecutionBundleAInspect
Simulate execution of a bundle of 1-2 transactions with full call traces
Inputs: transactions (required), network.
simulateUserOperationAssetChangesAInspect
Simulate an ERC-4337 user operation and preview the predicted asset changes
Inputs: userOperation (required), entryPoint (required), network, blockNumber.
solanaGetAssetAInspect
Get detailed information about a Solana asset (token, NFT, or compressed NFT) by its mint ID
Inputs: id (required), network.
solanaGetAssetProofBInspect
Get the Merkle proof for a compressed Solana asset, needed for on-chain verification
Inputs: id (required), network.
solanaGetAssetProofsBInspect
Get Merkle proofs for multiple compressed Solana assets in a single request
Inputs: ids (required), network.
solanaGetAssetsAInspect
Get detailed information about multiple Solana assets by their mint IDs in a single request
Inputs: ids (required), network.
solanaGetAssetsByAuthorityCInspect
Get all Solana assets managed by a specific authority address
Inputs: authorityAddress (required), network, sortBy, limit, +3 more.
solanaGetAssetsByCreatorBInspect
Get all Solana assets created by a specific address, with optional verification filter
Inputs: creatorAddress (required), network, onlyVerified, sortBy, +4 more.
solanaGetAssetsByGroupCInspect
Get all Solana assets in a specific group (e.g. an NFT collection)
Inputs: groupKey (required), groupValue (required), network, sortBy, +4 more.
solanaGetAssetsByOwnerBInspect
Get all Solana assets (tokens, NFTs) owned by a specific wallet address
Inputs: ownerAddress (required), network, sortBy, limit, +3 more.
solanaGetAssetSignaturesBInspect
Get transaction signatures associated with a specific Solana asset
Inputs: id (required), network, limit, page, +2 more.
solanaGetNftEditionsBInspect
Get edition information (master/print editions) for a Solana NFT
Inputs: mintAddress (required), network, limit, page.
solanaGetTokenAccountsBInspect
Get Solana SPL token accounts filtered by mint address or owner
Inputs: network, mintAddress, ownerAddress, limit, +1 more.
solanaSearchAssetsCInspect
Search for Solana assets with flexible filters (owner, creator, authority, burnt, frozen status)
Inputs: network, ownerAddress, creatorAddress, authorityAddress, +10 more.
summarizeNFTAttributesCInspect
Get a summary of trait/attribute distribution for an NFT collection
Inputs: contractAddress (required), network.
swapCInspect
Initiate a token swap from a smart contract account (SCA) via the Alchemy wallet API. Requires AGENT_WALLET_SERVER
Inputs: ownerScaAccountAddress (required), signerAddress (required).
traceBlockAInspect
Get Parity-style execution traces for all transactions in a block
Inputs: network, blockIdentifier.
traceCallBInspect
Execute and trace a call without broadcasting it (Parity-style tracing)
Inputs: transaction (required), traceTypes (required), network, blockIdentifier.
traceFilterBInspect
Search for traces matching criteria like sender, recipient, and block range
Inputs: network, fromBlock, toBlock, fromAddress, +3 more.
traceGetBInspect
Get a specific sub-trace within a transaction by index position
Inputs: transactionHash (required), traceIndexes (required), network.
traceRawTransactionBInspect
Trace a raw signed transaction without broadcasting it to the network
Inputs: rawTransaction (required), traceTypes (required), network.
traceReplayBlockTransactionsBInspect
Replay all transactions in a block and return traces with optional state diffs
Inputs: blockIdentifier (required), traceTypes (required), network.
traceReplayTransactionBInspect
Replay a specific transaction and return its trace with optional state diffs
Inputs: transactionHash (required), traceTypes (required), network.
traceTransactionBInspect
Get the Parity-style execution trace of an already-mined transaction
Inputs: transactionHash (required), network.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 97 tools
Descriptive names with clear qualifiers (e.g., debugTraceBlockByHash vs debugTraceBlockByNumber, getBeaconStateValidatorBalances vs getBeaconStateValidatorById) allow agents to distinguish tools. Some overlap exists between getNFTsForCollection and getNFTsForContract, but descriptions clarify the distinction. Overall, 97 tools are well-segmented by domain.
Naming conventions are mixed: most use camelCase, but verbs vary (get, fetch, debug, trace, simulate, compute, etc.) with no uniform pattern. Within domains (e.g., Beacon, Solana, debug), consistency is high, but across the server the style is inconsistent, occasionally using 'list' instead of 'get' (listSupportedNetworks).
With 97 tools, the server is over-scoped, covering Ethereum, Beacon Chain, Solana, NFTs, ERC-4337, debugging, and more. While each domain has its tools, the sheer number creates cognitive load and many are highly specialized or redundant (e.g., multiple trace variants). Consolidating some tools or splitting into multiple servers would improve coherence.
The tool surface is remarkably comprehensive, covering data retrieval, transaction simulation, NFT metadata, token prices, Beacon Chain operations, Solana assets, and debugging. It includes both querying and some state-changing operations (sendTransaction, swap). No obvious gaps for a blockchain data provider.
Maintenance
Related MCP Connectors
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
Official MCP server for subfeed.app — the cloud for agents. 15+ tools for AI agents to register, build, and deploy other agents. Zero human required. Start here: subfeed.app/skill.md
MCP server for the Z1N Protocol - on-chain identity for AI agents on Polygon
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseCqualityCmaintenanceA comprehensive MCP server for tooling interactions(40+) and resource accessibility(60+) with Algorand blockchain, plus many useful prompts.100627 npm44MIT
- AlicenseAqualityDmaintenanceThe first blockchain & cryptocurrency MCP server that connects AI agents to Ethereum, Solana, Bitcoin, and cryptocurrency markets.925 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that equips AI assistants with curated knowledge and live chain data for the Alkanes metaprotocol and Subfrost network, enabling them to read docs, query the chain, and scaffold contracts.213MIT
- AlicenseAqualityDmaintenanceMCP server that enables AI agents to build and deploy Ethereum applications using Scaffold-ETH.3487 npm2MIT