Skip to main content
Glama
akki91
by akki91

MCP Badge

Ankr API MCP Server

MCP (Model Context Protocol) server for blockchain data through the Ankr API.

Overview

The Ankr MCP Server fetches on-chain data via the Ankr API. It implements the MCP to allow LLMs to query blockchain data across 20+ chains.

Related MCP server: Base Network MCP Server

Features

The server provides 21 tools across all Ankr Advanced API categories:

Token Operations

  • Get Token Balances (get_token_balances): Gets all token balances for a wallet on a specific blockchain

  • Get Currencies (get_currencies): Lists all available currencies on a blockchain

  • Get Token Price (get_token_price): Gets current USD price for any token

  • Get Token Holders (get_token_holders): Lists holder addresses for a token

  • Get Token Holders Count (get_token_holders_count): Gets historical holder count data

  • Get Token Transfers (get_token_transfers): Gets token transfer history for addresses

  • Get Token Price History (get_token_price_history): Gets historical price data over time

  • Explain Token Price (explain_token_price): Breaks down how a token price is derived

NFT Operations

  • Get NFTs by Owner (get_nfts_by_owner): Gets all NFTs owned by a wallet

  • Get NFT Metadata (get_nft_metadata): Gets metadata (name, image, traits) for a specific NFT

  • Get NFT Holders (get_nft_holders): Gets all holders of an NFT collection

  • Get NFT Transfers (get_nft_transfers): Gets NFT transfer history

Query Operations

  • Get Blockchain Stats (get_blockchain_stats): Gets chain statistics (transactions, block time, etc.)

  • Get Blocks (get_blocks): Gets full block data for a block range

  • Get Logs (get_logs): Gets historical event log data

  • Get Transactions by Hash (get_transactions_by_hash): Looks up a transaction by hash

  • Get Transactions by Address (get_transactions_by_address): Gets all transactions for an address

  • Get Interactions (get_interactions): Lists all chains a wallet has interacted with

  • Get Account Balance Historical (get_account_balance_historical): Gets balance at a past block height

  • Get Internal Transactions by Block (get_internal_transactions_by_block): Gets internal txns in a block

  • Get Internal Transactions by Parent Hash (get_internal_transactions_by_parent_hash): Gets internal txns from a parent tx

Installation

npm install @akki91/ankr-mcp

Usage

Environment Setup

Set your ANKR API token by logging into ANKR api docs portal.

export ANKR_API_TOKEN=your_api_token_here

Running the Server

The server can be run directly from the command line:

npx @akki91/ankr-mcp

Usage with LLM Tools

This server implements the Model Context Protocol (MCP), which allows it to be used as a tool provider for compatible AI models.

Integration with AI Models

To integrate this server with AI applications that support MCP, add the following to your app's server configuration:

{
  "mcpServers": {
    "ankr-mcp": {
      "command": "npx",
      "args": [
        "@akki91/ankr-mcp"
      ],
      "env": {
        "ANKR_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Integrating Ankr MCP Tools in Claude Desktop

Follow the instructions below to update your settings and ensure that your MCP server is available within Claude Desktop.

Step 1: Access Settings in Claude Desktop

  1. Launch Claude Desktop.

  2. From the main menu, navigate to Settings.

Step 2: Update Developer Settings

  1. Open the Developer Settings.

  2. Edit the configuration file that contains your MCP server definitions.

  3. If MCP servers are already listed, append your Ankr MCP configuration to the existing list. Otherwise, copy and paste the entire above configuration for the Ankr MCP server.

Step 3: Restart Claude Desktop

  1. Close the Developer Settings menu.

  2. Restart Claude Desktop to apply the changes.

Step 4: Verify Integration

  1. Once Claude Desktop has restarted, click on the Tools Icon located just below the chat prompt.

  2. Verify that the list of tools provided by the Ankr MCP server is visible and accessible.

By following these steps, your Ankr MCP configuration should now be integrated into Claude Desktop, allowing you to access its tools directly through the interface.

Sample Chat Prompts

Here are example prompts you can use with this MCP server in Claude or any compatible AI:

Token Queries

What are the token balances for 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Ethereum?
What's the current price of USDC on Ethereum?
Show me the price history of ETH over the last 30 days.
How many holders does the LINK token have on Ethereum?
Show me recent token transfers for vitalik.eth on Polygon.

NFT Queries

What NFTs does 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 own?
Get me the metadata for Bored Ape #1234.
Who holds NFTs from the CryptoPunks collection?
Show me recent NFT transfers for this wallet on Ethereum.

Blockchain & Transaction Queries

What are the current stats for Ethereum and Polygon?
Which blockchains has wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 interacted with?
Look up transaction 0x1234abcd... and decode the logs.
Show me the latest blocks on Arbitrum with transactions included.
What were the internal transactions in Ethereum block 19000000?
What was my wallet balance at block 17000000?

Development

Building from Source

# Clone the repository
git clone https://github.com/akki91/ankr-mcp.git
cd ankr-mcp

# Install dependencies
npm install

# Build the project
npm run build

Running Tests

npm test

Debug Mode

Debugging for this project is supported using MCP Inspector

npm run debug

Sources

This project is inspired from list of servers created here

Verification

Available Tools

1 tool
get_token_balances_on_networkB

Gets all token balances for a given address on a specific network

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesThe address to check token balances for
networkYesThe blockchain network (e.g., "ethereum", "base")

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Gets' which implies a read operation, but fails to describe critical behaviors such as rate limits, authentication requirements, error handling, or what 'all token balances' entails (e.g., pagination, format). This leaves significant gaps for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 simple parameters) and no output schema, the description is minimally adequate but incomplete. It lacks details on behavioral aspects and output format, which are important for a read operation with no annotations to rely on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting both parameters. The description adds no additional semantic context beyond what the schema provides, such as examples or constraints, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Gets') and the resource ('all token balances for a given address on a specific network'), making the purpose specific and understandable. However, since there are no sibling tools mentioned, it cannot distinguish from alternatives, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or exclusions. It simply states what the tool does without context for usage decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.2/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The name 'get_token_balances_on_network' follows a clear verb_noun pattern.

Tool Count2/5

One tool is too few for a server named 'Ankr API MCP Server', which suggests a broader API scope. This minimal set severely limits functionality and likely leaves significant gaps in coverage for blockchain-related operations.

Completeness1/5

The tool surface is severely incomplete for an API server. It only provides token balances, missing essential operations like querying transactions, network status, smart contract interactions, or other common blockchain API functions, leading to dead ends for agents.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/akki91/ankr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server