Zerion

MCP for Zerion
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You deploy a production-ready MCP server that exposes Zerion API capabilities as MCP tools for portfolio, DeFi positions, NFTs, and market data. It supports flexible configuration, structured logging, automatic retries, testnet access, and multi-currency valuations, making it straightforward to integrate AI assistants with Zerion data.

How to use

Connect an MCP client (such as an AI assistant) to the Zerion MCP Server to query portfolio data, DeFi positions, NFT metadata, and market data. You will access all Zerion endpoints as MCP tools automatically. Use filters to narrow results, enable webhooks for real-time notifications, and switch currency denominations to USD, ETH, EUR, or BTC as needed.

How to install

Follow these concrete steps to install and run the Zerion MCP Server. Choose the method that fits your environment.

Using Docker (recommended)

# Clone the repository
git clone https://github.com/SAK1337/myzerionmcp.git
cd myzerionmcp

# Create .env file with your API key
cp .env.example .env
# Edit .env and set ZERION_API_KEY

# Start with Docker Compose
docker-compose up -d

# View logs
docker-compose logs -f

From source

# Clone the repository
git clone https://github.com/SAK1337/myzerionmcp.git
cd myzerionmcp

# Install the package with development dependencies
pip install -e ".[dev]"

From PyPI (when published)

pip install zerion-mcp-server

Quick start

Set your API key and run the server. Then connect an MCP client to start issuing queries against Zerion data.

# 1) Set up your API key
export ZERION_API_KEY="Bearer your-api-key-here"

# 2) Run the server
zerion-mcp-server

Configuration overview

Configure the server with a YAML file and environment variable overrides. The configuration covers server basics, API authentication, and logging. Use environment variables to override file values for flexibility in different environments.

Configuration details

# Server configuration
name: "Zerion API"
base_url: "https://api.zerion.io"
oas_url: "https://raw.githubusercontent.com/smart-mcp-proxy/zerion-mcp-server/main/zerion_mcp_server/openapi_zerion.yaml"

# API authentication
api_key: "${ZERION_API_KEY}"  # Environment variable substitution

# Logging configuration
logging:
  level: "INFO"      # DEBUG, INFO, WARN, ERROR
  format: "text"     # text or json

Environment variables to configure

Environment variables override the configuration file values. Typical variables include the API key and base URL. Add or adjust as needed for your deployment.

ZERION_API_KEY
ZERION_BASE_URL
ZERION_OAS_URL
CONFIG_PATH
LOG_LEVEL
LOG_FORMAT

Usage patterns

Once the server is running, you can query portfolio balances, DeFi positions, NFT collections, and market data through MCP client interactions. You can request data in different currencies, filter results to DeFi positions only, and paginate large result sets when needed.

Security and best practices

Keep your Zerion API key secure. Use HTTPS for all webhooks and MCP client communications. Enable structured logging with redaction of sensitive data. Monitor rate limits and apply backoff strategies to avoid unnecessary retries.

Troubleshooting

If you encounter configuration or runtime issues, check environment variables, confirm the API key is valid, and review logs for error messages and retry behavior. If indexing or 202 responses occur, the server will retry automatically according to the configured wallet indexing policy.

Notes and considerations

All Zerion API endpoints are exposed as MCP tools automatically. Use filters to optimize queries and manage quota. For test deployments, you can test on testnets using the X-Env header where supported.

Available tools

getWalletPortfolio

Returns the portfolio overview for a wallet across all supported chains and currencies.

listWalletPositions

Returns a list of wallet positions, including DeFi positions when filter[positions] is set to only_complex.

getWalletChart

Returns a portfolio balance chart for a wallet in the requested currency.

getWalletPNL

Returns Profit and Loss details for a wallet in the requested currency.

listWalletTransactions

Returns a list of transactions for a wallet with advanced filtering options.

getWalletNftPortfolio

Returns the NFT portfolio overview for a wallet.

listWalletNFTPositions

Returns a list of NFT positions held by a wallet.

getNFTById

Returns a single NFT by its unique identifier with full metadata.

listNFTs

Returns a list of NFTs based on various query parameters.

createTxSubscription

Create webhook subscriptions for real-time transaction notifications.

listTxSubscriptions

List all active transaction subscriptions.

getTxSubscription

Get details of a specific transaction subscription.

updateTxSubscription

Update subscription addresses, callback URL, or chain filters.

deleteTxSubscription

Delete a transaction subscription.

getFungibleById

Return a fungible asset by its identifier.

getFungibleChart

Return the price chart for a fungible asset.

listFungibles

List supported fungible assets with pagination.

listGasPrices

Provide real-time gas prices across networks.

listChains

List all supported chains, including testnets when applicable.

getChainById

Return a chain by its unique identifier.

swapFungibles

Provide fungible assets available for bridge exchanges.

swapOffers

Provide an overview of relevant trades and bridge exchanges.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational