# Moonriver Block Explorer API MCP

> Moonriver Block Explorer API MCP Server lets your AI agent query all deep on-chain data points for the Moonriver network. You can check account balances, list recent blocks, track specific token movements (ERC-20/721), and analyze transaction history directly from your chat or IDE. It acts as a dedicated blockchain analyst without you needing to leave your current window.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** moonriver, kusama, polkadot, block-explorer, evm, smart-contracts, web3

## Description

This API lets your AI agent query deep on-chain data points across the entire Moonriver network. You can check account balances, track token movements, and analyze transaction history directly from your chat or IDE without leaving your current window.

When you use `get_metadata`, your agent pulls high-level status information about the whole Moonriver network. This gives you a quick snapshot of what's going on across the chain. You can also get a list of all available ERC-20 and ERC-721 token contracts using `list_evm_tokens`. That function returns a complete roster, so you know exactly which assets are running on Moonriver.

For tracking wallets, you've got two key tools. First, run `get_account_info` to nail down a specific account address. This gives you the current balance, general metadata, and all the core details for that wallet. You can then use `list_transfers` to get a chronological list of every fund movement associated with that same account; it's your full transfer history.

To understand what's happening at the block level, start by running `list_blocks`. This returns a list of recent blocks on the chain, giving you both the height and the timestamp for each one. If you need the whole scoop on just one block—say, Block 12345—you use `get_block`, which retrieves all the complete details for that specific ID or height.

When it comes to transactions, you've got granular options. You can run `list_extrinsics` to get a summarized list of recent transaction records, either for a specified address or within a given time period. If you want every single data point on one particular transfer—the full details of an extrinsic—you use `get_extrinsic` by providing its hash or index. These tools let you see the raw mechanics of how funds move across Moonriver.

Basically, your agent handles all this complex querying for you: it collects a list of recent blocks via `list_blocks`, gets the full details of any single block using `get_block`, and monitors every fund movement through `list_transfers` while also keeping track of balances with `get_account_info`. You'll never have to jump between dashboards or manually format these queries again. It just works.

## Tools

### get_account_info
Gets the current balance, metadata, and general info for a specific Moonriver account address.

### get_block
Retrieves full details about one single block using its height or ID.

### get_extrinsic
Gets the specific data points of a single transaction record (extrinsic).

### get_metadata
Pulls high-level descriptive information about the Moonriver network status.

### list_blocks
Returns a list of recent blocks on the chain, including their height and timestamp.

### list_evm_tokens
Fetches a complete list of all ERC-20 and ERC-721 token contracts available on Moonriver.

### list_extrinsics
Returns a summarized list of recent transactions (extrinsics) for an address or time period.

### list_transfers
Gathers a chronological list of all fund movements associated with a given account.

## Prompt Examples

**Prompt:** 
```
List the most recent blocks on the Moonriver network.
```

**Response:** 
```
I've retrieved the latest blocks. The most recent block is 5,120,450, produced by collator '0x...'. Would you like to see the details for a specific block height?
```

**Prompt:** 
```
Get details for block number 5000000.
```

**Response:** 
```
Inspecting block 5,000,000... It contains 12 extrinsics and was finalized on 2023-10-15. The state root is '0x...'. Do you want to list the extrinsics for this block?
```

**Prompt:** 
```
Show me the list of EVM tokens available on Moonriver.
```

**Response:** 
```
Fetching EVM tokens... I found several tokens including MOVR (Native), xcKSM, and various ERC-20 assets. Would you like to see the transfer history for a specific token?
```

## Capabilities

### Get Account Details
Retrieves balance, metadata, and transfer history for a specific Moonriver wallet address.

### Fetch Block Information
Gets the complete details of any specified block height on the network.

### Inspect Transaction Records
Retrieves granular details about a specific transaction (extrinsic) by its hash or index.

### Get Network Metadata
Pulls high-level status and descriptive information for the entire Moonriver network.

### List Blocks
Returns a list of recent block hashes, allowing you to identify blocks by height or time.

### Monitor EVM Tokens
Lists all available ERC-20 and ERC-721 token contracts on the Moonriver chain.

### List Transactions
Queries a list of recent transaction records (extrinsics) associated with an address or time range.

### View Transfer History
Gathers the complete, chronological history of funds moved into or out of an account.

## Use Cases

### Investigating a recent transfer spike
A researcher notices unusual activity. They ask their agent to use `list_transfers` for the last 48 hours on Wallet X. The agent returns the list, and the researcher follows up by asking the agent to use `get_account_info` for that same address to check its current balance.

### Verifying a smart contract deployment
A developer needs to confirm when a specific contract was deployed. They ask their agent to run `list_blocks` and filter by time, then use `get_block` on the resulting block height to verify the transaction details in the coinbase list.

### Auditing asset liquidity
A data analyst needs a full picture of what assets are available. They first run `list_evm_tokens` to get all contract addresses, and then they use that list to cross-reference against the transfer history using `list_extrinsics`.

### Troubleshooting transaction failures
A user's transaction failed. They ask their agent to run `get_extrinsic` on the failing hash. The tool returns detailed error codes, letting them know if it was a gas issue or an invalid smart contract call.

## Benefits

- Saves time by eliminating manual cross-referencing. You can check a full transfer history using `list_transfers` and then immediately pull the related block details with `get_block`, all in one conversation.
- Get token visibility instantly. Use `list_evm_tokens` to see every ERC-20 asset available, which is much faster than browsing multiple contract pages manually.
- Deep transaction analysis is easy. Instead of just seeing a list of transactions via `list_extrinsics`, you can drill down and get the full details using `get_extrinsic` for forensic clarity.
- Understand network scope with one call. The `get_metadata` tool gives immediate context on the Moonriver network status, so you don't have to check multiple official websites.
- Efficiently track history. You can use `list_blocks` to find a specific period and then run `list_extrinsics` against that block’s range to narrow down activity.

## How It Works

The bottom line is: your AI client translates complex blockchain queries into simple conversations.

1. Subscribe to this server and enter your Moonriver API Key. This connects the necessary credentials to your AI client.
2. Ask your agent a direct question, like 'What was the last block height?' or 'List all tokens for address X.'
3. The agent runs the required tool (e.g., `list_blocks`), processes the raw data, and gives you a clean answer in natural language.

## Frequently Asked Questions

**What is the difference between using `list_extrinsics` and `list_transfers`?**
`List_extrinsics` gives a summary list of raw transactions by hash or time. Use it when you need to see *what* was sent. `List_transfers`, on the other hand, provides a cleaner history focused specifically on fund movement and account balances.

**How do I get information about all available tokens using `list_evm_tokens`?**
`list_evm_tokens` returns a list of contracts (ERC-20, ERC-721). This is your starting point for any token audit. You then use the contract addresses returned to check specific transfers with `get_account_info`.

**What information does `get_block` provide?**
`get_block` gives you all the raw data associated with a single block height, including its timestamp, collator, and every transaction that was included in it. It’s the deepest dive into a specific moment on the chain.

**Can I use `get_metadata` to check network health?**
Yes, `get_metadata` pulls high-level information about the Moonriver network itself—things like its current version or status. It gives you context that isn't tied to a specific account or block.

**Should I use `list_blocks` first when tracking transactions?**
It depends on your goal. If you want the latest activity, start with `list_blocks`. This gives you the current range of blocks, which helps narrow down where to look for recent transactions using `list_extrinsics`.

**What credentials are required to run `get_account_info`?**
You must provide your Moonriver API key in the request headers. This ensures secure access, preventing unauthorized queries and keeping network data private.

**If I try to run `get_block` with an invalid height, what error should I expect?**
The server returns a specific API error code (like 404). Your AI client must check this status code before attempting to parse any block data.

**When using `list_transfers`, how can I optimize fetching history across many addresses?**
You should paginate your requests by utilizing start and end parameters. This prevents hitting rate limits and keeps the massive transfer dataset manageable for processing.

**Can I check the balance and metadata of a specific Moonriver address?**
Yes! Use the `get_account_info` tool by providing the wallet address. Your agent will return the current balance and associated account metadata.

**How can I track token transfers for a specific user?**
Use the `list_transfers` tool with the user's address. It will retrieve the history of token transfers (ERC-20/ERC-721) for that specific account.

**Is it possible to look up a transaction using its hash?**
Absolutely. Use the `get_extrinsic` tool and provide the transaction hash to get full details about that specific operation on the network.