Moralis MCP Server

MoralisWeb3
Published: 2025-05-12
Last update: 6 months ago

Moralis Analytics

Moralis MCP Server

A TypeScript-based MCP server that implements a wrapper to the Moralis rest API.


![smithery badge](https://smithery.ai/badge/@MoralisWeb3/moralis-mcp-server) ## 🧠 Overview The **Moralis MCP Server** is a local or cloud-deployable engine that connects natural language prompts to real blockchain insights — allowing AI models to query wallet activity, token metrics, dapp usage, and more without custom code or SQL. Built on top of the [Model Context Protocol](https://github.com/modelcontextprotocol/spec), this server makes it easy for LLMs to talk to Moralis APIs in a consistent, explainable, and extensible way. - 🔗 Fully pluggable: swap LLMs, customize retrieval logic, or extend with your own tools - 🧱 Works with OpenAI, Claude, and open-source models - 🧠 Powers agents, devtools, bots, dashboards, and beyond ## ⚙️ Common Use Cases - 🤖 AI agents & assistants: “What’s this wallet’s trading history?” - 📈 Devtools: on-chain QA, testing, CLI integrations - 📊 Dashboards: natural language to charts/data - 📉 Monitoring: alerting & summarization for tokens/dapps - 🧠 Trading bots: LLM-driven strategies with real blockchain grounding ## 🔐 Getting an API Key To use this MCP server with Moralis APIs, you'll need an API key: 1. Go to [Moralis](https://admin.moralis.com) developer portal 2. Sign up and log in 3. Navigate to your [API Keys page](https://admin.moralis.com/api-keys) from the main menu 4. Copy your key and configure it in your config file (see next section), or set it in your environment: ```bash export MORALIS_API_KEY= ``` > ⚠️ Note: Some features and endpoints require a Moralis paid plan. For full access and production-grade performance, we recommend signing up for a paid tier. ## 🚀 Usage with a Client To connect the MCP server to a compatible client (e.g. Claude Desktop, OpenAI-compatible agents, VS Code extensions, etc.), configure the client to launch the server as a subprocess. Most clients support a simple config file - for example, you might create a file like mcp.json in the client’s configuration directory with the following: ```json { "mcpServers": { "serverName": { "command": "npx @moralisweb3/api-mcp-server", "args": [], "env": { "MORALIS_API_KEY": "" } } } } ``` This setup can be adapted for any client that supports MCP servers. Replace the example values with those specific to your use case. ### Installing via Smithery To install Moralis API Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@MoralisWeb3/moralis-mcp-server): ```bash npx -y @smithery/cli install @MoralisWeb3/moralis-mcp-server --client claude ``` ## 🖥️ Using as a Server The server accepts an optional `--transport` argument to specify the transport type. The available transport types are: - `stdio`: Communicates over standard input/output (default). - `web`: Starts a HTTP server for communication. - `streamable-http`: Starts an HTTP server with streamable endpoints. ### Examples 1. **Using the default `stdio` transport**: ```bash moralis-api-mcp --transport stdio ``` 2. **Using the `web` transport**: ```bash moralis-api-mcp --transport web ``` This will start a HTTP server. You can send requests to the server using tools like `curl` or Postman. 3. **Using the `streamable-http` transport**: ```bash moralis-api-mcp --transport streamable-http ``` This will start an HTTP server. You can send requests to the server using tools like `curl` or Postman. ### Notes - Ensure that the required environment variables (e.g., `MORALIS_API_KEY`) are set before starting the server. - For custom configurations, you can pass additional arguments or environment variables as needed. - Refer to the documentation for more details on each transport type. ## 🛠 Development Install dependencies: ```bash npm install ``` Build the server: ```bash npm run build ``` For development with auto-rebuild: ```bash npm run watch ``` ### 🐞 Debugging Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector), which is available as a package script: ```bash npm run inspector ``` The Inspector will provide a URL to access debugging tools in your browser. ## 💬 Example Prompts Here are some example prompts you can use with your AI agent through the MCP server: ``` - What’s the current price of PEPE and Ethereum? - What is the current trading sentiment for TOSHI on Base — bullish or bearish? - Show me the NFTs owned by `vitalik.eth` on Base. - What tokens does wallet `0xab71...4321` hold? - When was wallet 0xabc...123 first and last seen active on Ethereum, Base, and Polygon? - Show me the complete transaction history for 0xabc...123 across Ethereum, Base, and BNB Chain. - What is the current net worth in USD of wallet 0xabc...123? - Find wallet addresses that are likely associated with Coinbase. - Analyze the current holder distribution of SPX6900 — include whales, small holders, and recent growth trends. - Show me PEPE’s daily OHLC data for the past 30 days and provide a summary of the trend — is it bullish or bearish? ``` These prompts are parsed and mapped to structured Moralis API calls using the MCP method registry. > 💡 You can also build custom prompts based on any supported method. ## 📚 API Reference The Moralis MCP Server wraps and translates prompts into Moralis REST API calls. You can explore the underlying API surface here: 🔗 **[Moralis Swagger Docs (v2.2)](https://deep-index.moralis.io/api-docs-2.2/)** This documentation covers endpoints for: - Token pricing - Wallet activity - NFT metadata and ownership - Transfers and transactions - And more

Tags

Official

Related

Hive MCP Server
Hive MCP Server
  • ISC License
coindesk-mcp
coindesk-mcp
  • narumiruna
  • MIT
  • 0
Name Description

Get transfers of NFTs given the wallet and other parameters.

Resync the NFT Trait for a given contract.

Get the token price denominated in the blockchain's native token and USD.

Get the metadata for a given token contract address (name, symbol, decimals, logo).

Get the complete history of a wallet

Get the contents of a transaction by the given transaction hash.

Get the current version of the Moralis Web3 API.

Resolve a specific address to its Unstoppable domain

Get the top ERC20 tokens by price change

Get the top crypto currencies by trading volume

Get floor price for a given contract.

Get the stats for a block

Get tokens with blue chip

Get entity by id

Get the pair stats by using pair address

Get all snipers

Retrieve timeseries volume data by category

Retrieve token analytics of a list of token addresses over different time periods.

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.

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

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.

Get NFT collections owned by a given wallet address.

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.

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.

Get transfers of NFTs for a given contract and other parameters.

Get NFTs by traits for a given contract.

Get traits of NFTs for a given contract.

Get traits of NFTs for a given contract with pagination.

Get the sold price for an NFT token for the last x days (only trades paid in ETH).

Get trades of NFTs for a given contract with the ability to filter by marketplace.

Get trades of NFTs for a given contract and token ID.

Get trades of NFTs for a given wallet.

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

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

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

Get transfers of an NFT given a contract address and token ID.

Initiates a sync of a previously non synced contract.

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

Get the sold price for an NFT contract for the last x days (only trades paid in ETH).

Get all swap related transactions (buy, sell)

Get token holder summary

Get token holder summary

Returns an array of token prices denominated in the blockchain's native token and USD for a given token contract address

Identify the major holders of an ERC20 token and understand their ownership percentages

Get token balances for a specific wallet address.

Get ERC20 token transactions ordered by block number in descending order.

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

Get the metadata for a list of token symbols (name, symbol, decimals, logo).

Get ERC20 token transactions from a contract ordered by block number in descending order.

Get the native balance for a specific wallet address.

Get the native balances for a set of specific addresses

Retrieve active ERC20 token approvals for the specified wallet address

Get token balances for a specific wallet address and their token prices in USD.

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.

Get native transactions ordered by block number in descending order.

Get native transactions and logs ordered by block number in descending order.

Get the contents of a transaction by the given transaction hash.

Get tokens with risky bets

Get the contents of a block given the block hash.

Returns the latest block number for the given chain.

Get the closest block given the date.

Get the cost and rate limit for each API endpoint.

Reverse resolve a given ETH address to its ENS domain.

Resolve a specific Unstoppable domain to its address.

Get all tokens that have graduated on a specific exchange.

Resolve a specific ENS domain to its address.

Get the price of a given token pair. Only Uniswap V2 based exchanges supported at the moment.

Get the liquidity reserves for a given pair address. Only Uniswap V2 based exchanges supported at the moment.

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

Get the top ERC20 tokens by market cap

Get the top NFT collections by market cap

Get the hottest NFT collections by trading volume

Get the top crypto currencies by market cap

Review contracts as spam or not spam

Get the defi summary of a wallet address.

Get the detailed defi positions by protocol for a wallet address.

Get the positions summary of a wallet address.

Get the active chains for a wallet address.

Get the stats for a wallet address.

Get the stats for a nft collection address.

Get floor price for a given token.

Get historical floor price for a given contract.

Get the stats for a erc20 token

Get all swap related transactions (buy, sell, add liquidity & remove liquidity)

Returns a list of tokens that match the specified filters and criteria.

Get tokens with rising liquidity

Get tokens with buying pressure

Get tokens with solid performance

Get tokens with experienced buyers

Get tokens with top gainers

Get tokens with top losers

Get trending tokens

Get token details

Retrieves a summary of wallet profitability based on specified parameters including optional token addresses.

Retrieves profitability information for a specific wallet address. Can be filtered by one or more tokens.

Retrieves a list of the top profitable wallets for a specific ERC20 token.

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.

Search for entities, addresses and categories

Get entity categories

Get entities by category

Get the OHLCV candle stick by using pair address

Get the supported pairs for a specific token address.

Get aggregated statistics across supported pairs of a token.

Get all new tokens on a specific exchange.

Get all swap related transactions (buy, sell)

Get all tokens that are bonding on a specific exchange.

Get the bonding status for a token address.

Retrieve data for chains including volume and participant statistics over different time periods.

Retrieve data for chains including volume and participant statistics over different time periods.

Retrieve timeseries volume data by chain

Retrieve timeseries volume data by token addresses

Retrieve token analytics of a specific token address over different time periods.
Joseph Parker 20 Dec 2021 - 05:47AM

I am getting message from customers that when they place order always get error message .

Reply
Alexis Clarke 22 Dec 2021 - 02:32PM

Please be sure to check your Spam mailbox to see if your email filters have identified the email from Dell as spam.

Reply
Donald Palmer 24 Dec 2021 - 05:20PM

If you have further questions, please contact Customer Support from the “Action Menu” on your Online Order Support.

Reply
Alexis Clarke 26 min ago

Your Online Order Support provides you with the most current status of your order. To help manage your order refer to the “Action Menu” to initiate return, contact Customer Support and more.

Reply
Donald Palmer 8 sec ago

Other shipping methods are available at checkout if you want your purchase delivered faster.

Reply
Please Enter a Message

Security

95%

Code quantity

97%

Total downloads

4,305

80%

User reviews

121

89%