Skip to main content
Glama

Alchemy MCP Server

IMPORTANT

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

claude mcp add alchemy --transport http https://mcp.alchemy.com/mcp

Codex

codex mcp add alchemy --url https://mcp.alchemy.com/mcp

Cursor

Add to ~/.cursor/mcp.json or .cursor/mcp.json — see JSON config below

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json — see JSON config below

VS Code Copilot

Add to .vscode/mcp.json — see JSON config below

Claude Desktop

Add to claude_desktop_config.json — see JSON config below

Cline

Open Cline: MCP Servers from the VS Code command palette — see JSON config below

{
  "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 tools
computeRarityBInspect

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

    B3.2/5.0

    Scored across 97 tools

    Disambiguation4/5

    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 Consistency3/5

    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).

    Tool Count2/5

    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.

    Completeness5/5

    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

    ActivitySlowing
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      The first blockchain & cryptocurrency MCP server that connects AI agents to Ethereum, Solana, Bitcoin, and cryptocurrency markets.
      9
      25 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An 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.
      21
      3
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server that enables AI agents to build and deploy Ethereum applications using Scaffold-ETH.
      34
      87 npm
      2
      MIT