T

TadpoleTools-MCP 服务器工具(塔德普尔工具MCP服务器)

@brianbell-x/tadpoletools-mcp
0 Stars 398 次浏览 brianbell-x 更新于 2026-08-23

一个基于Python的MCP服务器,集成了TapTools API,使AI模型能够通过标准化工具获取Cardano区块链数据,包括代币、NFT、市场统计数据和钱包信息。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

TapTools API MCP

一个基于 Python 的模型上下文协议 (MCP) 服务器,提供对 TapTools API 的访问,使大型语言模型(如 Claude 或 GPT)能够获取与 Cardano 相关的数据(代币、NFT、市场信息等)。该服务器将 TapTools API 操作标准化为 MCP "工具",从而轻松集成到 AI 工作流中。

特性

  • 异步实现:使用现代的 Python 异步模式和 httpx 进行非阻塞 IO。
  • 安全认证:从环境变量或 .env 文件中读取 TAPTOOLS_API_KEY
  • MCP 就绪:将 TapTools 功能作为 "工具" 暴露给任何符合 MCP 规范的客户端。
  • 代币操作:定价、顶级代币、市值数据、交易量统计等。
  • NFT 操作:NFT 集合统计、交易、列表、分布等。
  • 市场数据:关于交易量、地址、持有者等的汇总统计数据。
  • 集成与链上:访问链上数据、区块信息、事件、DEX 交易对等。
  • 钱包数据:投资组合头寸、代币/NFT 持有情况、交易历史、交易记录等。

快速开始

  1. 克隆仓库

    git clone https://github.com/yourusername/taptools-api-mcp.git
    cd taptools-api-mcp
    
  2. 创建并激活虚拟环境

    python3 -m venv .venv
    source .venv/bin/activate  # 在 Windows 上: .venv\Scripts\activate
    
  3. 安装依赖

    pip install -e .
    
  4. 设置您的 TapTools API 密钥

    • 选项 A:添加到您的 .env 文件中:
      TAPTOOLS_API_KEY=your-real-taptools-api-key
      
    • 选项 B:设置环境变量:
      export TAPTOOLS_API_KEY="your-real-taptools-api-key"
      
  5. 运行 MCP 服务器

    python -m taptools_api_mcp
    

    默认情况下,它将在标准输入/输出 (stdio) 上运行,以便进行 MCP 集成。

  6. 测试连接(可选):

    python test_connection.py
    

使用示例

如果您有一个 MCP 客户端(例如 mcp Python CLI 工具),您可以启动服务器并调用任何可用的工具:

# In one terminal, start the server:
python -m taptools_api_mcp

# In another terminal (or from the same, if you prefer):
mcp cli

一旦进入 mcp cli,您可以调用如下工具:

> tool verify_connection

这将验证您的 TapTools API 密钥是否有效且可访问。

例如,要获取代币市值信息:

> tool get_token_mcap {"unit": "lovelace"}

您应该会收到包含代币市值、价格、供应量等的 JSON 数据。

API 文档:MCP 工具

以下是一些可用的 MCP 工具及其参数和简要说明。这些工具必须使用正确的 JSON 负载调用。所有 JSON 请求必须与 src/taptools_api_mcp/models/ 中的 Pydantic 模型匹配。

1. verify_connection

  • 描述:验证 TapTools API 认证。
  • 参数(无参数)
  • 示例用法
    { }
    

2. get_token_mcap

  • 描述: 获取代币市值信息。
  • 参数 (TokenMcapRequest):
    {
      "unit": "string"    // 必填: 代币单位标识符
    }
    
  • 示例用法:
    {
      "unit": "lovelace"
    }
    

3. get_token_holders

  • 描述: 获取代币持有者的总数。
  • 参数 (TokenHoldersRequest):
    {
      "unit": "string"    // 必填: 代币单位标识符
    }
    
  • 示例用法:
    {
      "unit": "lovelace"
    }
    

4. get_token_holders_top

  • 描述: 获取顶级代币持有者。
  • 参数 (TokenTopHoldersRequest):
    {
      "unit": "string",   // 必填
      "page": "number",   // 可选 (默认 1)
      "per_page": "number"// 可选 (默认 20)
    }
    
  • 示例用法:
    {
      "unit": "some_token_unit",
      "page": 1,
      "per_page": 5
    }
    

5. get_nft_asset_sales

  • 描述: 获取NFT资产销售历史。
  • 参数 (NFTAssetSalesRequest):
    {
      "policy": "string", // 必填: NFT策略ID
      "name": "string"    // 可选: NFT名称
    }
    
  • 示例用法:
    {
      "policy": "abc123polid",
      "name": "coolNFT"
    }
    

6. get_nft_collection_stats

  • 描述: 获取NFT集合统计数据。
  • 参数 (NFTCollectionStatsRequest):
    {
      "policy": "string"  // 必填: NFT集合策略ID
    }
    
  • 示例用法:
    {
      "policy": "abc123polid"
    }
    

7. get_market_stats

  • 描述: 获取全市场统计信息。
  • 参数 (MarketStatsRequest):
    {
      "quote": "string"    // 可选, 默认 "ADA"
    }
    
  • 示例用法:
    {
      "quote": "USD"
    }
    

8. get_integration_asset

  • 描述: 通过ID获取资产详情(集成端点)。
  • 参数 (IntegrationAssetRequest):
    {
      "id": "string"       // 必填: 资产ID
    }
    
  • 示例用法:
    {
      "id": "asset123abc"
    }
    

9. get_asset_supply

  • 描述: 获取链上资产供应量。
  • 参数 (AssetSupplyRequest):
    {
      "unit": "string"     // 必填: 代币单位标识符
    }
    
  • 示例用法:
    {
      "unit": "lovelace"
    }
    

10. get_wallet_portfolio

  • 描述: 获取钱包投资组合位置。
  • 参数 (WalletPortfolioPositionsRequest):
    {
      "address": "string"  // 必填: 钱包地址
    }
    
  • 示例用法:
    {
      "address": "addr1xyz..."
    }
    

(如果需要,可以按照相同的格式添加更多关于代币、NFTs、链上等的端点。请参阅 src/taptools_api_mcp/models/ 文件夹以了解更多可能的请求。)

部署

您可以将此 Python MCP 服务器容器化或托管在诸如 AWS ECS、Azure 容器实例或 Google Cloud Run 等服务上。请确保将您的 TAPTOOLS_API_KEY 作为密钥安全存储。对于基于 Docker 的部署:

# Example Dockerfile snippet
FROM python:3.10-slim

WORKDIR /app
COPY . /app
RUN pip install -e .

# environment variable for TapTools API key
ENV TAPTOOLS_API_KEY=your-real-taptools-api-key

CMD ["python", "-m", "taptools_api_mcp"]

注意:根据 MCP 规范,服务器默认监听标准输入输出。对于高级部署或自定义集成,如果您的环境需要,您可以修改 server.py 以使用其他传输方式(如套接字)运行。

相关 MCP 服务