
Moralis MCP Server
A TypeScript wrapper for the Moralis REST API that enables interaction with blockchain data through the Model Context Protocol (MCP).
Tools
getMultipleNFTs
Returns an array of NFTs specified in the request. * Note that results will include all indexed NFTs * Any request that includes the token_address param will start the indexing process for that NFT collection the very first time it is requested. * Only 25 NFTs can be fetched in one API call.
getNFTTokenIdOwners
Get owners of a specific NFT given the contract address and token ID. * Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection
getWalletNFTs
Get NFTs owned by a given address. * The response will include status [SYNCED/SYNCING] based on the contracts being indexed. * Use the token_address param to get results for a specific contract only * Note that results will include all indexed NFTs * Any request that includes the token_address param will start the indexing process for that NFT collection the very first time it is requested.
getWalletNFTCollections
Get NFT collections owned by a given wallet address.
getWalletNFTTransfers
Get transfers of NFTs given the wallet and other parameters.
getContractNFTs
Get NFTs for a given contract address, including metadata for all NFTs (where available). * Results are limited to 100 per page by default * Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection.
getNFTOwners
Get owners of NFTs for a given contract. * Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection.
getNFTContractTransfers
Get transfers of NFTs for a given contract and other parameters.
getNFTByContractTraits
Get NFTs by traits for a given contract.
getNFTTraitsByCollection
Get traits of NFTs for a given contract.
getNFTTraitsByCollectionPaginate
Get traits of NFTs for a given contract with pagination.
getNFTSalePrices
Get the sold price for an NFT token for the last x days (only trades paid in ETH).
resyncNFTRarity
Resync the NFT Trait for a given contract.
getNFTTrades
Get trades of NFTs for a given contract with the ability to filter by marketplace.
getNFTTradesByToken
Get trades of NFTs for a given contract and token ID.
getNFTTradesByWallet
Get trades of NFTs for a given wallet.
getNFTContractMetadata
Get the collection / contract level metadata for a given contract (name, symbol, base token URI). * Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection
getNFTBulkContractMetadata
Get the collection / contract level metadata for a given list of contract addresses (name, symbol). Supports batching up to 25 addresses. * Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection
getNFTMetadata
Get NFT data, including metadata (where available), for the given NFT token ID and contract address. * Requests for contract addresses not yet indexed will automatically start the indexing process for that NFT collection
getNFTTransfers
Get transfers of an NFT given a contract address and token ID.
syncNFTContract
Initiates a sync of a previously non synced contract.
reSyncMetadata
Resync the metadata for an NFT * The metadata flag will request the NFT's metadata from an already existing token_uri * The uri (default) flag will fetch the latest token_uri from the given NFT contract address. In sync mode the metadata will also be fetched * The sync mode will make the endpoint synchronous so it will wait for the task to be completed before responding * The async mode (default) will make the endpoint asynchronous so we will wait for the task to be completed before responding
getNFTContractSalePrices
Get the sold price for an NFT contract for the last x days (only trades paid in ETH).
getTokenPrice
Get the token price denominated in the blockchain's native token and USD.
getSwapsByTokenAddress
Get all swap related transactions (buy, sell)
getTokenHolders
Get token holder summary
getHistoricalTokenHolders
Get token holder summary
getMultipleTokenPrices
Returns an array of token prices denominated in the blockchain's native token and USD for a given token contract address
getTokenOwners
Identify the major holders of an ERC20 token and understand their ownership percentages
getWalletTokenBalances
Get token balances for a specific wallet address.
getWalletTokenTransfers
Get ERC20 token transactions ordered by block number in descending order.
runContractFunction
Run a given function of a contract ABI and retrieve readonly data. [Try it with Swagger](https://deep-index.moralis.io/api-docs-2.1/#/Utils/runContractFunction).
getTokenMetadata
Get the metadata for a given token contract address (name, symbol, decimals, logo).
getTokenMetadataBySymbol
Get the metadata for a list of token symbols (name, symbol, decimals, logo).
getTokenTransfers
Get ERC20 token transactions from a contract ordered by block number in descending order.
getNativeBalance
Get the native balance for a specific wallet address.
getNativeBalancesForAddresses
Get the native balances for a set of specific addresses
getWalletApprovals
Retrieve active ERC20 token approvals for the specified wallet address
getWalletHistory
Get the complete history of a wallet
getWalletTokenBalancesPrice
Get token balances for a specific wallet address and their token prices in USD.
getWalletNetWorth
Get the net worth of a wallet in USD. We recommend to filter out spam tokens and unverified contracts to get a more accurate result.
getWalletTransactions
Get native transactions ordered by block number in descending order.
getWalletTransactionsVerbose
Get native transactions and logs ordered by block number in descending order.
getTransaction
Get the contents of a transaction by the given transaction hash.
getRiskyBetsTokens
Get tokens with risky bets
getTransactionVerbose
Get the contents of a transaction by the given transaction hash.
getBlock
Get the contents of a block given the block hash.
getLatestBlockNumber
Returns the latest block number for the given chain.
getDateToBlock
Get the closest block given the date.
web3ApiVersion
Get the current version of the Moralis Web3 API.
endpointWeights
Get the cost and rate limit for each API endpoint.
resolveAddress
Reverse resolve a given ETH address to its ENS domain.
resolveDomain
Resolve a specific Unstoppable domain to its address.
getGraduatedTokensByExchange
Get all tokens that have graduated on a specific exchange.
resolveAddressToDomain
Resolve a specific address to its Unstoppable domain
resolveENSDomain
Resolve a specific ENS domain to its address.
getPairPrice
Get the price of a given token pair. Only Uniswap V2 based exchanges supported at the moment.
getPairReserves
Get the liquidity reserves for a given pair address. Only Uniswap V2 based exchanges supported at the moment.
getPairAddress
Fetch the pair data of the provided token0+token1 combination. The token0 and token1 options are interchangable (ie. there is no different outcome in "token0=WETH and token1=USDT" or "token0=USDT and token1=WETH")
getTopERC20TokensByMarketCap
Get the top ERC20 tokens by market cap
getTopERC20TokensByPriceMovers
Get the top ERC20 tokens by price change
getTopNFTCollectionsByMarketCap
Get the top NFT collections by market cap
getHottestNFTCollectionsByTradingVolume
Get the hottest NFT collections by trading volume
getTopCryptoCurrenciesByMarketCap
Get the top crypto currencies by market cap
getTopCryptoCurrenciesByTradingVolume
Get the top crypto currencies by trading volume
reviewContracts
Review contracts as spam or not spam
getDefiSummary
Get the defi summary of a wallet address.
getDefiPositionsByProtocol
Get the detailed defi positions by protocol for a wallet address.
getDefiPositionsSummary
Get the positions summary of a wallet address.
getWalletActiveChains
Get the active chains for a wallet address.
getWalletStats
Get the stats for a wallet address.
getNFTCollectionStats
Get the stats for a nft collection address.
getNFTFloorPriceByContract
Get floor price for a given contract.
getNFTFloorPriceByToken
Get floor price for a given token.
getNFTHistoricalFloorPriceByContract
Get historical floor price for a given contract.
getTokenStats
Get the stats for a erc20 token
getSwapsByPairAddress
Get all swap related transactions (buy, sell, add liquidity & remove liquidity)
getBlockStats
Get the stats for a block
getFilteredTokens
Returns a list of tokens that match the specified filters and criteria.
getRisingLiquidityTokens
Get tokens with rising liquidity
getBuyingPressureTokens
Get tokens with buying pressure
getSolidPerformersTokens
Get tokens with solid performance
getExperiencedBuyersTokens
Get tokens with experienced buyers
getBlueChipTokens
Get tokens with blue chip
getTopGainersTokens
Get tokens with top gainers
getTopLosersTokens
Get tokens with top losers
getTrendingTokens
Get trending tokens
getDiscoveryToken
Get token details
getWalletProfitabilitySummary
Retrieves a summary of wallet profitability based on specified parameters including optional token addresses.
getWalletProfitability
Retrieves profitability information for a specific wallet address. Can be filtered by one or more tokens.
getTopProfitableWalletPerToken
Retrieves a list of the top profitable wallets for a specific ERC20 token.
searchTokens
Search for tokens based on contract address, token name or token symbol. Premium endpoint available as an add-on. Please contact support for access details.
searchEntities
Search for entities, addresses and categories
getEntity
Get entity by id
getEntityCategories
Get entity categories
getEntitiesByCategory
Get entities by category
getPairCandlesticks
Get the OHLCV candle stick by using pair address
getPairStats
Get the pair stats by using pair address
getTokenPairs
Get the supported pairs for a specific token address.
getAggregatedTokenPairStats
Get aggregated statistics across supported pairs of a token.
getNewTokensByExchange
Get all new tokens on a specific exchange.
getSwapsByWalletAddress
Get all swap related transactions (buy, sell)
getBondingTokensByExchange
Get all tokens that are bonding on a specific exchange.
getTokenBondingStatus
Get the bonding status for a token address.
getSnipersByPairAddress
Get all snipers
getVolumeStatsByChain
Retrieve data for chains including volume and participant statistics over different time periods.
getVolumeStatsByCategory
Retrieve data for chains including volume and participant statistics over different time periods.
getTimeSeriesVolume
Retrieve timeseries volume data by chain
getTimeSeriesVolumeByCategory
Retrieve timeseries volume data by category
getTimeSeriesTokenAnalytics
Retrieve timeseries volume data by token addresses
getTrendingTokensV2
getTokenAnalytics
Retrieve token analytics of a specific token address over different time periods.
getMultipleTokenAnalytics
Retrieve token analytics of a list of token addresses over different time periods.
README
<div align="center"> <a align="center" href="https://moralis.io" target="_blank"> <img src="https://raw.githubusercontent.com/MoralisWeb3/moralis-analytics-js/main/assets/moralis-logo.svg" alt="Moralis Analytics" height=200/> </a> <h1 align="center">Moralis MCP Server</h1> <p> </p> <p> A TypeScript-based MCP server that implements a wrapper to the Moralis rest API. </p> <br/> </div>
Usage
To use with Cursor:
Create a file in your Cursor config directory ~/.cursor/mcp.json
{
"mcpServers": {
"moralis": {
"command": "npx @moralisweb3/api-mcp-server",
"args": [],
"env": {
"MORALIS_API_KEY": "<MORALIS_API_KEY>"
}
}
}
}
Development
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.