区块链交互协议服务

一个用于区块链交互的模型上下文协议(MCP)服务器,使AI代理能够与多个区块链网络交互、检查金融数据并向Telegram发送实时通知。

  • by CollinDex
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 CollinDex/block-mcp

使用说明

⛓️ 阻止MCP服务器

用于区块链交互的模型上下文协议(MCP)服务器。该服务器使AI代理能够与多个区块链网络交互,检查财务数据,并向Telegram发送实时通知。

🛠️ 工具包含

  1. 💰 钱包余额检查器: 使用公共RPC节点同时检索以太坊、Polygon、Arbitrum、Optimism和Base上任何钱包地址的本地令牌余额。
  2. 📜 Frax交易: 获取FRAX网络上的5个最新交易,包括本地转账和ERC-20代币事件。
  3. ⛽ 天然气价格估算师: 提供跨多个区块链网络的实时天然气费用估算(以Gwei为单位),以帮助确定交易成本。
  4. 💱 加密货币转换器: 使用实时市场汇率转换加密货币和法定货币值(例如,BTC到ETH或USDC到USD)。
  5. 🤖 电报机器人: 通过程序将更新、消息或自动通知发布到特定的Telegram聊天或频道。

⚙️ 安装说明

先决条件

  • Python 3.11+
  • 紫外线

1.环境变量

创建 .env 在根目录中创建文件,并用您的凭据填充它:

# Telegram Configuration
TELEGRAM_BOT_TOKEN=your_bot_token_from_botfather
TELEGRAM_CHAT_ID=your_numeric_chat_id

# Blockchain API Keys
FRAXSCAN_API_KEY=your_fraxscan_api_key

# Optional: CoinGecko API Key
COINGECKO_API_KEY=your_api_key

2.安装

  1. 克隆存储库:

    git clone <YOUR_REPO_URL_HERE>
    cd <YOUR_REPO_NAME>
    
  2. 安装依赖项: 此项目使用 uv 用于快速依赖管理。

    make install
    

🚀 如何跑步

测试这些工具最简单的方法是使用内置的Makefile命令,该命令启动MCP检查器。

make dev

或者: uv run fastmcp dev main.py

📖 用法和示例

以下是测试MCP检查器中工具的示例输入。

1.钱包余额检查工具(wallet_check)

查询多个公共RPC端点,以检索各种链上的本机余额。

  • 输入:
    { "address": "0x..." }
    
  • 答复:
    {
      "Ethereum": "1.2450 ETH",
      "Arbitrum": "0.0000 ETH",
      "Polygon": "150.3200 MATIC",
      "Optimism": "0.0500 ETH",
      "Base": "0.1200 ETH"
    }
    

2.Frax交易历史(get_frax_transactions)

合并Fraxscan API的本机和令牌传输历史记录,按时间戳排序。

  • 输入:
    { "address": "0x4200000000000000000000000000000000000015" }
    
  • 答复:
    [
      {
        "time": "2026-01-30 18:00:00",
        "amount": "0.5000 frxETH",
        "token": "frxETH",
        "type": "Native",
        "hash": "0x..."
      }
    ]
    

3.天然气价格估算师(get_gas_prices)

监控实时天然气价格(以Gwei为单位)以估算交易成本。

  • 输入:
    {}
    
  • 答复:
    {
      "Ethereum": "🔴 45.2 Gwei",
      "Base": "🟢 0.01 Gwei"
    }
    

4.密码转换器(convert_crypto)

在时区之间转换时间。

  • 输入:

    {
      "amount": 1,
      "from_coin": "bitcoin",
      "to_coin": "ripple"
    }
    
  • 答复:

    {
      "Response": "1 BITCOIN = 1235999999.0 XRP (Rate: 95000)"
    }
    

5.电报机器人(send_telegram_message)

该工具允许AI 发送 通过Telegram向您的手机发送通知。

🔄 流程如何工作(发送消息)

  1. 用户触发器: 你给克劳德一个条件或直接命令(例如。, “如果ETH低于2000美元,请提醒我”).
  2. 决定: 克劳德评估了情况。如果为真,则决定呼叫 send_telegram_message.
  3. 执行: MCP服务器接收文本有效载荷,并向Telegram Bot API发出HTTP POST请求。
  4. 确认: Telegram API确认交付,MCP服务器向Claude报告任务已完成。

📝 实现细节

  • 输入:
{
  "message": "The deployment was successful"
}
  • 答复:
"Message sent successfully!"

🤖 代理模式(自动驾驶)

此模式使AI能够自动检查新消息并在连续循环中对其作出响应,同时还执行其间的其他操作。

提示启动:

"I want you to run in Auto-Pilot Mode. Here is your loop:
1. **Check:** Run `telegram_read_messages`.
2. **Act:** If there is a NEW message (one you haven't answered yet), interpret it and use `telegram_reply` to send the answer.
3. **Wait:** If there are no new messages, carry out any pending commands then run `wait_for_seconds(4)`.
4. **Repeat:** Go back to Step 1.
Do not ask me for permission between steps. Just keep running this loop indefinitely."

循环是如何工作的:

  1. 检查: 人工智能轮询Telegram API以获取传入消息。
  2. 流程: 它读取任何新用户消息的内容(例如,用户询问“BTC的价格是多少?”)。
  3. 行动: 它使用其他可用工具(如 convert_crypto)找到答案。
  4. 回复: 它通过Telegram将答案发送回用户,并等待下一个周期。