Alchemy
Blockchain data across 100+ chains: token prices, NFTs, transfers, simulation, traces, Solana DAS
Alchemy MCP Server
Give your AI coding agent direct access to 100+ blockchains with 159 tools through the Model Context Protocol.
For the complete documentation index, see llms.txt.
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.
Connect your client
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.
- Add the server:
claude mcp add alchemy --transport http https://mcp.alchemy.com/mcp
-
Restart Claude Code (or start a new conversation).
-
Select
alchemyand 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.
- Add the server:
codex mcp add alchemy --url https://mcp.alchemy.com/mcp
- Verify it was added:
codex mcp list
Add the following JSON to your MCP config file:
- Cursor:
~/.cursor/mcp.json(global) or.cursor/mcp.json(project-level)
{
"mcpServers": {
"alchemy": {
"type": "streamable-http",
"url": "https://mcp.alchemy.com/mcp"
}
}
}
Restart your editor after saving. For Cursor, you can also verify via Cursor Settings > MCP.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"alchemy": {
"type": "streamable-http",
"url": "https://mcp.alchemy.com/mcp"
}
}
}
Restart Claude Desktop after saving.
Add to .vscode/mcp.json in your project:
{
"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. The server supports OAuth 2.1 with PKCE — your client will handle the authorization flow automatically.
Getting started
Once connected, sign in with your Alchemy account when prompted. Then the typical workflow is:
- Tell your agent which app to use — e.g. "Select an Alchemy app"
- Ask your agent — e.g. "What's the current price of ETH?" or "Show me the NFTs owned by vitalik.eth"
Available tools
The server exposes 159 tools in three categories:
Admin — Account & App Management (8 tools)
Manage your Alchemy account and apps. These tools do not interact with the blockchain.
| Tool | Description |
|---|---|
ping | Health check |
list_apps | List your Alchemy apps |
get_app | Get app details |
select_app | Select an app and cache its API key for RPC/Data tools |
create_app | Create a new app |
update_app | Update app name or description |
list_chains | List all 100+ supported networks |
update_allowlist | Update app allowlists (network, address, origin, IP) |
RPC — On-Chain JSON-RPC (123 tools)
Make JSON-RPC calls to blockchain nodes. All require select_app first.
| Tool | Description |
|---|---|
ethBlockNumber | Get the latest block number |
ethChainId | Get the chain ID |
ethGasPrice | Get the current gas price |
ethMaxPriorityFeePerGas | Get the max priority fee per gas |
ethBlobBaseFee | Get EIP-4844 blob base fee |
ethSyncing | Get node sync status |
ethGetBalance | Get ETH balance for an address |
ethGetCode | Get contract bytecode |
ethGetStorageAt | Get storage value at a position |
ethGetProof | Get Merkle proof for account storage |
ethGetBlockByNumber | Get a block by number |
ethGetBlockByHash | Get a block by hash |
ethGetBlockReceipts | Get all receipts for a block |
ethGetBlockTransactionCountByHash | Get transaction count in a block by hash |
ethGetBlockTransactionCountByNumber | Get transaction count in a block by number |
ethGetTransactionByHash | Get a transaction by hash |
ethGetTransactionByBlockHashAndIndex | Get a transaction by block hash and index |
ethGetTransactionByBlockNumberAndIndex | Get a transaction by block number and index |
ethGetTransactionReceipt | Get a transaction receipt |
ethGetTransactionCount | Get the nonce for an address |
ethGetLogs | Get logs matching a filter |
ethCall | Execute a read-only smart contract call |
ethEstimateGas | Estimate gas for a transaction |
ethCreateAccessList | Generate EIP-2930 access list |
ethFeeHistory | Get historical fee data |
ethCallBundle | Simulate a bundle of transactions at a block |
ethCallMany | Simulate multiple transaction bundles across blocks |
netListening | Check if the node is listening for connections |
netVersion | Get the network ID |
web3ClientVersion | Get the client version |
web3Sha3 | Compute a Keccak-256 hash |
| Tool | Description |
|---|---|
getTokenBalances | Get ERC-20 token balances for an address |
getTokenMetadata | Get token name, symbol, decimals, logo |
getTokenAllowance | Get ERC-20 allowance for a spender |
| Tool | Description |
|---|---|
getAssetTransfers | Get historical asset transfers (ERC-20, ERC-721, native, internal) |
getTransactionReceipts | Get all transaction receipts for a block |
| Tool | Description |
|---|---|
simulateAssetChanges | Simulate a transaction's asset changes |
simulateExecution | Simulate a transaction's execution trace |
simulateAssetChangesBundle | Simulate a bundle of transactions' asset changes |
simulateExecutionBundle | Simulate a bundle of transactions' execution traces |
simulateUserOperationAssetChanges | Simulate a UserOperation's asset changes |
| Tool | Description |
|---|---|
traceCall | Trace a call without creating a transaction |
traceTransaction | Trace a mined transaction |
traceBlock | Trace all transactions in a block |
traceFilter | Filter traces by address and block range |
traceReplayTransaction | Replay a transaction with traces |
traceReplayBlockTransactions | Replay all transactions in a block |
| Tool | Description |
|---|---|
debugTraceTransaction | Debug trace a transaction |
debugTraceCall | Debug trace a call |
debugTraceBlockByNumber | Debug trace a block by number |
debugTraceBlockByHash | Debug trace a block by hash |
debugGetRawBlock | Get raw RLP-encoded block data |
debugGetRawReceipts | Get raw transaction receipts for a block |
| Tool | Description |
|---|---|
estimateUserOperationGas | Estimate gas for a UserOperation |
getUserOperationReceipt | Get a UserOperation receipt |
getUserOperationByHash | Get a UserOperation by hash |
supportedEntryPoints | List supported EntryPoint addresses |
rundlerMaxPriorityFeePerGas | Get bundler's max priority fee per gas |
requestGasAndPaymasterAndData | Request gas sponsorship + paymaster data |
requestPaymasterAndData | Request paymaster data only |
| Tool | Description |
|---|---|
solana_getBalance | Get SOL balance in lamports |
solana_getAccountInfo | Get account data (owner, lamports, data) |
solana_getMultipleAccounts | Get data for multiple accounts |
solana_getTransaction | Get a confirmed transaction by signature |
solana_getSignaturesForAddress | Get transaction signatures for an address |
solana_getSignatureStatuses | Get statuses of transaction signatures |
solana_simulateTransaction | Simulate a transaction without submitting |
solana_getTokenAccountBalance | Get SPL Token account balance |
solana_getTokenAccountsByOwner | Get all token accounts for a wallet |
solana_getTokenAccountsByDelegate | Get delegated token accounts |
solana_getTokenSupply | Get total supply of an SPL Token |
solana_getTokenLargestAccounts | Get top 20 holders of a token |
solana_getBlock | Get a confirmed block by slot |
solana_getBlockHeight | Get current block height |
solana_getBlockTime | Get Unix timestamp for a slot |
solana_getBlocks | Get confirmed blocks in a range |
solana_getBlocksWithLimit | Get confirmed blocks from a slot with limit |
solana_getBlockCommitment | Get vote commitment for a block |
solana_getBlockProduction | Get block production stats |
solana_getSlot | Get current slot |
solana_getSlotLeader | Get current slot leader |
solana_getSlotLeaders | Get slot leaders for a range |
solana_getLatestBlockhash | Get latest blockhash |
solana_isBlockhashValid | Check blockhash validity |
solana_getProgramAccounts | Get all accounts owned by a program |
solana_getEpochInfo | Get current epoch info |
solana_getEpochSchedule | Get epoch schedule |
solana_getSupply | Get SOL supply breakdown |
solana_getVersion | Get node software version |
solana_getTransactionCount | Get total transaction count |
solana_getInflationRate | Get current inflation rate |
solana_getInflationGovernor | Get inflation governor parameters |
solana_getInflationReward | Get staking rewards by epoch |
solana_getVoteAccounts | Get validator vote accounts |
solana_getLargestAccounts | Get top 20 accounts by balance |
solana_getClusterNodes | Get cluster node info |
solana_getLeaderSchedule | Get leader schedule for an epoch |
solana_getFeeForMessage | Get fee for a message |
solana_getRecentPrioritizationFees | Get recent priority fee data |
solana_getMinimumBalanceForRentExemption | Get rent-exempt minimum |
solana_getFirstAvailableBlock | Get lowest available block |
solana_getGenesisHash | Get genesis hash |
solana_getHighestSnapshotSlot | Get highest snapshot slot |
solana_getIdentity | Get node identity pubkey |
solana_getMaxRetransmitSlot | Get max retransmit slot |
solana_getMaxShredInsertSlot | Get max shred insert slot |
solana_getRecentPerformanceSamples | Get recent TPS samples |
solana_getStakeActivation | Get stake activation state |
solana_minimumLedgerSlot | Get lowest ledger slot |
solana_requestAirdrop | Airdrop SOL (devnet only) |
| Tool | Description |
|---|---|
solana_getPriorityFeeEstimate | Get priority fee estimates by level |
solana_simulateBundle | Simulate a bundle of transactions |
solana_getAsset | Get details of a Solana asset |
solana_getAssets | Get multiple Solana assets |
solana_getAssetProof | Get Merkle proof for a compressed asset |
solana_getAssetsByOwner | Get assets owned by a wallet |
solana_getAssetsByAuthority | Get assets by authority address |
solana_getAssetsByGroup | Get assets by group (e.g. collection) |
solana_getAssetsByCreator | Get assets by creator address |
solana_searchAssets | Search for assets by criteria |
solana_getAssetSignatures | Get transaction signatures for an asset |
solana_getNftEditions | Get NFT editions for a master edition |
solana_getTokenAccounts | Get token accounts for a wallet |
Data — REST APIs (28 tools)
Call Alchemy's REST APIs for enriched blockchain data. All require select_app first.
| Tool | Description |
|---|---|
getNFTsForOwner | Get all NFTs owned by an address |
getNFTsForContract | Get all NFTs in a contract |
getNFTsForCollection | Get all NFTs in a collection |
getNFTMetadata | Get NFT metadata by token ID |
getNFTMetadataBatch | Get metadata for up to 100 NFTs |
getContractMetadata | Get NFT contract metadata |
getCollectionMetadata | Get collection metadata by slug |
getContractMetadataBatch | Get metadata for multiple contracts |
getOwnersForNFT | Get owners of a specific NFT |
getOwnersForContract | Get all owners in a contract |
getFloorPrice | Get floor price from marketplaces |
getNFTSales | Get recent NFT sales |
getContractsForOwner | Get NFT contracts held by an address |
getCollectionsForOwner | Get collections held by an address (ETH only) |
isSpamContract | Check if a contract is spam |
getSpamContracts | List all spam contracts |
isAirdropNFT | Check if an NFT is an airdrop |
searchContractMetadata | Search NFT contracts by keyword |
summarizeNFTAttributes | Get attribute prevalence summary |
isHolderOfContract | Check if a wallet holds any NFT from a contract |
computeRarity | Calculate attribute rarity for an NFT |
| Tool | Description |
|---|---|
getTokenPricesBySymbol | Get token prices by symbol (ETH, BTC, etc.) |
getTokenPricesByAddress | Get token prices by contract address |
getHistoricalTokenPrices | Get historical price data over a time range |
| Tool | Description |
|---|---|
getTokensByAddress | Get tokens across multiple chains |
getTokenBalancesByAddress | Get token balances with USD values across chains |
getNFTsByAddress | Get NFTs across multiple chains |
getNFTContractsByAddress | Get NFT contracts across multiple chains |
Supported 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.
Local development
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.
Related tools
- Agent Skills teach your coding agent every Alchemy API at the source-code level
- The Alchemy CLI wraps the same APIs as a shell-friendly tool surface for live querying, admin work, and local automation
- Agent Authentication and Payment lets agents authenticate with a wallet instead of an API key
Servidores relacionados
Actiongate
Pre-execution safety layer for autonomous agent wallets — risk scoring, simulation, and policy enforcement via MCP, with free tier and pay-per-call pricing over x402
OnlySwaps
Multi-chain DEX meta-aggregator for AI agents. Best prices from 15+ aggregators across 13 chains.
OpenEnded Philosophy MCP Server with NARS Integration
A philosophical reasoning system combining OpenEnded Philosophy with the Non-Axiomatic Reasoning System (NARS) for advanced analysis and synthesis.
Photo AI Studio
AI photo generation, editing, and video creation. 150+ themes, 19 edit operations, 3 video types.
ReadyPermit
AI-powered property zoning, buildability, and ADU eligibility analysis for any U.S. address via 20+ government data sources.
MISP MCP Server
Integrates with MISP (Malware Information Sharing Platform) to provide threat intelligence capabilities to Large Language Models.
AGA MCP Server
Cryptographic runtime governance for AI agents. 20 tools. Sealed policy artifacts, continuous measurement, tamper-evident proof. Ed25519 + SHA-256.
O'RLY Book Cover Generator
Generates O'RLY? (O'Reilly parody) book covers.
Limitless MCP
MCP server for Limitless Exchange prediction markets on Base. 34 tools for market access, limit order trading, wallet management, and position tracking.
XActions
⚡ The Complete X/Twitter Automation Toolkit — Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source.