Moralis MCP Server

Moralis MCP Server

A TypeScript wrapper for the Moralis REST API that enables interaction with blockchain data through the Model Context Protocol (MCP).

Category
Visit Server

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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured