3xpl.com JSON API MCP server
About
A Model Context Protocol (MCP) server for querying data from 48 blockchains using 3xpl.com blockchain explorer JSON API
Details
- License
- MIT
Explore
- Provides 13 tools for querying 48 blockchains.
- Includes a prompt for deeper blockchain data exploration.
- Allows ENS domain resolution and blockchain detection.
- Fetches latest blocks, fees, and mempool events.
- Aggregates transactions, transfers, and address balances.
- Supports both production (API key) and sandbox (rate‑limited) modes.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
3xpl.com JSON API MCP serverCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
uv venv
source .venv/bin/activate
uv pip install -e .
MCP configuration:
{
"mcpServers": {
"3xpl_API": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"{:path_to_cloned}/3xpl_mcp/main.py"
],
"env": {
"THREEXPL_API_KEY": ""
}
}
}
}
Note: Set your API key from 3xpl to use the main API.
If the THREEXPL_API_KEY field in the config file is left blank,
the MCP server will use the sandbox API, which has rate limits.
Note 2: if MCP server doesn't start you might need to provide full path to uv in the command field.
resolve_ens_domain
resolves an ENS domain to a regular address
detect_blockchains
retrieve a list of blockchains on which a transaction/address is present
get_latest_block
get latest block height in specified blockchain
get_average_fee_24h_usd
retrieves average transaction fee for last 24 hours in specified blockchain in US dollars.
get_mempool_events_count
get the number of unconfirmed events(transfers, inputs/outputs, not transactions) at the moment in the memory pool of provided blockchain
get_events_count_24h
retrieve number of events(transfers, inputs/outputs, not whole transactions) in last 24h for provided blockchain
get_block_overview
extract short summary about a block in provided blockchain
get_address_overview
extract short summary about an address in provided blockchain
get_transaction_overview
extract short summary about a transaction in provided blockchain(to be improved)
list_blockchains_and_modules
get a list of blockchains and their modules with module descriptions
aggregate_block_transactions
aggregate transactions in a block
aggregate_transaction_transfers
aggregate individual transfers in a transactions
aggregate_address_balances
aggregate balances for an address with
aggregate_address_transactions
aggregate confirmed transactions for an address
aggregate_address_mempool
aggregate pending transactions for an address
| name | description | status |
|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|--------|
| resolve_ens_domain | resolves an ENS domain to a regular address | ✅ |
| detect_blockchains | retrieve a list of blockchains on which a transaction/address is present | ✅ |
| get_latest_block | get latest block height in specified blockchain | ✅ |
| get_average_fee_24h_usd | retrieves average transaction fee for last 24 hours in specified blockchain in US dollars. | ✅ |
| get_mempool_events_count | get the number of unconfirmed events(transfers, inputs/outputs, not transactions) at the moment in the memory pool of provided blockchain | ✅ |
| get_events_count_24h | retrieve number of events(transfers, inputs/outputs, not whole transactions) in last 24h for provided blockchain | ✅ |
| get_block_overview | extract short summary about a block in provided blockchain | ✅ |
| get_address_overview | extract short summary about an address in provided blockchain | ✅ |
| get_transaction_overview | extract short summary about a transaction in provided blockchain(to be improved) | ✅ |
| list_blockchains_and_modules | get a list of blockchains and their modules with module descriptions | ✅ |
| aggregate_block_transactions | aggregate transactions in a block | ✅ |
| aggregate_transaction_transfers | aggregate individual transfers in a transactions | ✅ |
| aggregate_address_balances | aggregate balances for an address with | ✅ |
| aggregate_address_transactions | aggregate confirmed transactions for an address | ✅ |
| aggregate_address_mempool | aggregate pending transactions for an address | ✅ |
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"3xpl.com json api mcp server": {
"3xpl-mcp": {
"command": "uv",
"args": [
"venv"
]
}
}
}
}
McpServers
{
"3xpl-mcp": {
"command": "uv",
"args": [
"venv"
]
}
}
Overview
3xpl API in form of a Model Context Protocol (MCP) server.
Allows LLMs to interact with data on 48 blockchains.
This repository can also be an example of 3xpl JSON API usage, see details in the code.
[//]: # (demo video from Claude)
List of available tools
| name | description | status |
|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|--------|
| resolve_ens_domain | resolves an ENS domain to a regular address | ✅ |
| detect_blockchains | retrieve a list of blockchains on which a transaction/address is present | ✅ |
| get_latest_block | get latest block height in specified blockchain | ✅ |
| get_average_fee_24h_usd | retrieves average transaction fee for last 24 hours in specified blockchain in US dollars. | ✅ |
| get_mempool_events_count | get the number of unconfirmed events(transfers, inputs/outputs, not transactions) at the moment in the memory pool of provided blockchain | ✅ |
| get_events_count_24h | retrieve number of events(transfers, inputs/outputs, not whole transactions) in last 24h for provided blockchain | ✅ |
| get_block_overview | extract short summary about a block in provided blockchain | ✅ |
| get_address_overview | extract short summary about an address in provided blockchain | ✅ |
| get_transaction_overview | extract short summary about a transaction in provided blockchain(to be improved) | ✅ |
| list_blockchains_and_modules | get a list of blockchains and their modules with module descriptions | ✅ |
| aggregate_block_transactions | aggregate transactions in a block | ✅ |
| aggregate_transaction_transfers | aggregate individual transfers in a transactions | ✅ |
| aggregate_address_balances | aggregate balances for an address with | ✅ |
| aggregate_address_transactions | aggregate confirmed transactions for an address | ✅ |
| aggregate_address_mempool | aggregate pending transactions for an address | ✅ |
List of available prompts
| name | description |
|---------------------|---------------------------------------------------------------------------|
| get_blockchain_info | makes LLM dig deeper into data for providing the most fulfilled response. |
[//]: # (might be inaccurate, see the API docs and policy for details.)
Installation
# get the repository
git clone https://github.com/exekerey/3xpl-mcp.git
cd 3xpl-mcp
create and activate virtual environment
uv venv
source .venv/bin/activate
install dependencies
uv pip install -e .
MCP configuration:
{
"mcpServers": {
"3xpl_API": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"{:path_to_cloned}/3xpl_mcp/main.py"
],
"env": {
"THREEXPL_API_KEY": ""
}
}
}
}
Note: Set your API key from 3xpl to use the main API.
If the THREEXPL_API_KEY field in the config file is left blank,
the MCP server will use the sandbox API, which has rate limits.
Note 2*: if MCP server doesn't start you might need to provide full path to uv in the command field.
Contribution
Feel free to open issues for bugs or suggestions.
Pull requests are also welcome – just make sure to provide description of your changes.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



