项目简介

AgentiPy 是一个 Python 工具包,旨在帮助 AI Agent 与 Solana 和 Base 等区块链应用无缝交互。它提供了一套简化的工具,用于进行代币管理、NFT 处理以及各种 DeFi 操作。AgentiPy 特别包含了对 Model Context Protocol (MCP) 的支持,允许开发者构建可通过标准化 JSON-RPC 接口与 LLM 客户端(如 Claude Desktop)集成的区块链后端。

主要功能点

  • 广泛的区块链协议支持: 支持 Solana 和 Base 上的多种流行协议,包括交易(Jupiter, Raydium, MoonShot)、NFT(Metaplex, ThreeLand)、DeFi(Drift, Lulo, Orca)、数据查询(DexScreener, Helius, Pyth, Stork, Elfa AI)等。
  • 异步操作: 利用异步编程模型提高区块链交互效率。
  • AI Agent 集成: 易于集成到 Langchain 等 AI Agent 框架中。
  • 模型上下文协议 (MCP) 支持: 提供内置的 MCP 服务器模块,以标准化的方式向兼容的 LLM 客户端暴露链上操作能力。
  • 全面的工具集: 包含转账、余额查询、部署代币、市场数据获取、Launchpad 交互(PumpFun)、去中心化交易、NFT 创建与管理、跨链桥 (deBridge) 等多种功能。

安装步骤

  1. 安装 Python 3.8+
  2. 安装 Solana CLI (如果需要 Solana 相关操作)
  3. 创建并激活虚拟环境 (推荐)
    python -m venv venv
    source venv/bin/activate  # macOS/Linux
    # 或 venv\Scripts\activate.bat # Windows
  4. 安装 AgentiPy
    pip install agentipy
  5. 安装 MCP 服务器库 为了运行内置的 MCP 服务器,您可能需要额外安装 'mcp-server' 库或包含 'fastmcp' 的库。请查阅 AgentiPy 的 'setup.py' 或相关文档确认确切的依赖。通常可以通过 'pip install mcp-server' 或类似的命令安装。
    pip install mcp-server fastmcp # 示例,具体包名请参考最新项目文档

服务器配置

AgentiPy 包含一个内置的 MCP 服务器模块 ('agentipy.mcp')。这个服务器不是一个独立的应用程序,而是作为 AgentiPy 库的一部分提供,可以通过运行一个 Python 脚本来启动。

MCP 客户端(如 Claude Desktop)需要配置一个外部命令来启动这个 MCP 服务器进程并与其通信。典型的 MCP 客户端配置会是一个 JSON 格式,包含服务器名称 ('name')、启动命令 ('command') 和传递给命令的参数 ('args')。

对于 AgentiPy 的内置 MCP 服务器,客户端的配置需要指向一个能够执行以下操作的脚本(例如 Python 脚本或 shell 脚本):

  1. 初始化 'agentipy.SolanaAgentKit',这需要提供您的 Solana 私钥 ('private_key') 和 RPC URL ('rpc_url')。请务必安全地管理您的私钥,切勿将其直接暴露在不安全的位置。通常通过环境变量或安全配置传递。
  2. 调用 'agentipy.start_mcp_server(agent)' 函数来启动 MCP 服务器。

示例 MCP 客户端配置概念 (非实际 JSON 代码):

  • 'name': 'agentipy-mcp' (服务器名称)
  • 'command': 指向一个可执行脚本(例如 'python /path/to/your_agentipy_mcp_script.py' 或 './run_agentipy_mcp.sh')
  • 'args': 可能包含传递给上述脚本的参数,例如 '--rpc-url <your_rpc_url> --private-key <your_private_key>' (请注意:直接在命令行参数中传递私钥非常不安全,强烈建议使用环境变量或其他更安全的方式)。

例如,您可以创建一个 Python 脚本 'run_agentipy_mcp.py':

# run_agentipy_mcp.py
import os
import argparse
from agentipy.agent import SolanaAgentKit
from agentipy import start_mcp_server

def main():
    parser = argparse.ArgumentParser(description="Start AgentiPy MCP Server.")
    parser.add_argument("--rpc-url", type=str, help="Solana RPC URL.")
    parser.add_argument("--private-key", type=str, help="Solana Wallet Private Key.")
    args = parser.parse_args()

    # 优先使用命令行参数,然后环境变量
    rpc_url = args.rpc_url or os.getenv("SOLANA_RPC_URL")
    private_key = args.private_key or os.getenv("SOLANA_PRIVATE_KEY")

    if not rpc_url or not private_key:
        print("Error: RPC URL and Private Key must be provided via arguments or environment variables.")
        exit(1)

    try:
        agent = SolanaAgentKit(private_key=private_key, rpc_url=rpc_url)
        print("AgentiPy MCP Server Starting...")
        start_mcp_server(agent)
    except Exception as e:
        print(f"Error starting AgentiPy MCP Server: {e}")
        exit(1)

if __name__ == "__main__":
    main()

然后,您的 MCP 客户端配置的 'command' 可能会指向这个脚本。具体的配置格式和参数传递方式取决于您使用的 MCP 客户端软件。

基本使用方法

  1. 安全配置私钥和 RPC URL: 确保您的 Solana 私钥和 RPC URL 已安全配置,供 AgentiPy MCP 服务器启动脚本使用(推荐使用环境变量)。
  2. 配置 MCP 客户端: 在您的 LLM 客户端(如 Claude Desktop)中,按照其文档配置一个新的 MCP 服务器。将服务器名称设置为 'agentipy-mcp',并将 'command' 和可能的 'args' 指向您准备的 AgentiPy MCP 启动脚本。
  3. 启动服务器: LLM 客户端连接时会执行配置的 'command' 来启动 AgentiPy MCP 服务器进程。
  4. 在客户端中使用工具: 一旦连接成功,LLM 客户端应该能够发现 AgentiPy MCP 服务器暴露的链上工具(例如 'GET_BALANCE', 'TRANSFER', 'TRADE_WITH_JUP', 'GET_PRICE_PREDICTION' 等)。用户或 Agent 可以通过自然语言或结构化请求指示 LLM 调用这些工具来执行链上操作或获取数据。

例如,在支持 MCP 的 LLM 界面中,您可能可以直接提出问题或指令,如:“我的 SOL 余额是多少?” 或 “我想将 0.001 SOL 换成 USDC。” LLM 会识别出对应的 AgentiPy 工具并调用它。

信息

分类

开发者工具