Skip to main content

Model Context Protocol server for TON blockchain data analysis

Project description

TON BLOCKCHAIN MCP

A Model Context Protocol (MCP) server for natural language interaction with the TON blockchain.

TON Blockchain MCP Cover

Features

  • Natural Language Processing: Understand complex blockchain queries in plain English
  • Trading Analysis: Analyze trading patterns, profitability, and strategies
  • Hot Trends Detection: Find trending tokens, active pools, and high-activity accounts
  • Forensics & Compliance: Conduct blockchain investigations and compliance checks
  • Real-time Data: Access live TON blockchain data through TON API

Quick Start

Prerequisites

  • Python 3.10+
  • TON API key from TONAPI

Installation

  1. Clone the repository:
git clone https://github.com/devonmojito/ton-blockchain-mcp.git
cd ton-blockchain-mcp
  1. Install dependencies:
pip install -r requirements.txt
  1. Set up environment variables:
  • You might want to put the API key in .env as well
export TON_API_KEY=your_api_key_here
  1. Run the server:
python -m src.mcp_server

Using Docker

# Build and run with Docker Compose
docker-compose up --build

Example: Using TON MCP Server with Claude Desktop

You can easily use this MCP server with Claude Desktop for natural language blockchain queries. Below is an example of checking the TON balance for a wallet address:

Check TON Balance for Wallet Address

Claude Desktop Configuration Example

To use this MCP server with Claude Desktop, add the following to your Claude Desktop config:

  • You might need to replace the Python env setup with your own.
{
  "mcpServers": {
    "ton-mcp-server": {
      "command": "/Users/devon/ton-mcp/ton-mcp-server/venv/bin/python",
      "args": [
        "-m",
        "tonmcp.mcp_server"
      ],
      "cwd": "/Users/devon/ton-mcp/ton-mcp-server/src",
      "env": {
        "PYTHONPATH": "/Users/devon/ton-mcp/ton-mcp-server/src"
      }
    }
  }
}

Usage

Basic Queries

import asyncio
from mcp_client import McpClient

async def main():
    client = McpClient("http://localhost:8000")
    
    # Analyze an address
    result = await client.call_tool("analyze_address", {
        "address": "EQD1234...",
        "deep_analysis": True
    })
    print(result)

asyncio.run(main())

Natural Language Examples

  • "What's the balance of address EQD1234...?"
  • "Find hot trading pairs in the last hour"
  • "Analyze trading patterns for this wallet"
  • "Show suspicious activity for address ABC"
  • "Trace money flow from this address"

Configuration

Configuration can be provided via:

  • Environment variables
  • config/settings.json file
  • Runtime parameters

Key configuration options:

  • TON_API_KEY: Your TON API key
  • MCP_HOST: Server host (default: localhost)
  • MCP_PORT: Server port (default: 8000)
  • LOG_LEVEL: Logging level (default: INFO)

MCP Tools & System Prompts Documentation

Tools

analyze_address

Analyze a TON address for its balance, jetton holdings, NFTs, and recent activity. Optionally performs deep forensic analysis if deep_analysis is True. Use for questions about account overview, holdings, or activity.

Parameters:

  • address (str): TON address to analyze
  • deep_analysis (bool, optional): Enable deep forensic analysis

get_transaction_details

Get details and analysis for a specific TON blockchain transaction by its hash. Use for questions about a particular transaction, its participants, value, or type.

Parameters:

  • tx_hash (str): Transaction hash

find_hot_trends

Find trending tokens, pools, or accounts on the TON blockchain for a given timeframe and category. Use for questions about what's hot, trending, or popular on TON.

Parameters:

  • timeframe (str, optional): Time period (e.g., 1h, 24h, 7d)
  • category (str, optional): Type of trends (tokens, pools, accounts)

analyze_trading_patterns

Analyze trading patterns for a TON address over a specified timeframe. Use for questions about trading activity, frequency, jetton transfers, or DEX swaps for an account.

Parameters:

  • address (str): TON address
  • timeframe (str, optional): Time period (e.g., 24h)

System Prompts

  • trading_analysis: Generate trading analysis prompts
  • forensics_investigation: Generate forensics prompts
  • trend_analysis: Generate trend analysis prompts

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please open an issue on GitHub or contact the author on Telegram: @devonmojito

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ton_mcp_server-0.1.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ton_mcp_server-0.1.0-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file ton_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: ton_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for ton_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 85160fe3a6db9bd35b7398d58e07610031d5b3e6e3d624c52fca0d3249e78eb1
MD5 526467ed6f7129c0111813077615d651
BLAKE2b-256 6fc2350fcfe2ea2cac57b6c7ab6a9e043ec554a87417c00c74ed48ad68d6b155

See more details on using hashes here.

File details

Details for the file ton_mcp_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ton_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for ton_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86574c84f10321bbaf0116285de0d311990259a0245930bb7620d1cee3a7198c
MD5 d7794a50b3f8489a2b1822c41071be6b
BLAKE2b-256 78c469bf4f8b6d567310ce33de90ba3a3dfd8cd0c3201ae1f8e3106803315947

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page