使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现示例,专注于 Solana 区块链上的 ICO(首次代币发行)场景。它演示了如何构建一个 MCP 服务器,以资源和工具的形式向 LLM 客户端提供 Solana ICO 相关的信息和操作能力,例如查询 ICO 信息、购买代币、注册联盟推广等。请注意,这是一个简化的示例项目,不适用于生产环境。

主要功能点

  • 资源 (Resources):
    • 'ico://info': 获取指定ICO的详细信息,例如代币名称、符号、发行总量、价格曲线等。
    • 'affiliate://register': 注册成为联盟推广者,获取推广链接,用于跟踪推广效果。
    • 'ico://create': 允许创建新的ICO(需要提供符合 'IcoConfigModel' 结构的配置信息)。
  • 工具 (Tools):
    • 'buy_tokens': 购买或出售ICO代币。用户需要提供支付交易签名和购买代币数量。支持联盟推广ID和出售代币功能。
    • 'create_order', 'cancel_order', 'execute_order': 提供简化的去中心化交易所 (DEX) 功能,用于创建、取消和执行代币交易订单。
    • 'get_discount': 根据持有的代币数量计算折扣。

安装步骤

  1. 安装 Poetry: 如果还没有安装 Poetry,请根据 Poetry 官方文档 (https://python-poetry.org/docs/) 安装。
  2. 安装 Solana CLI 和 solana-test-validator: 按照 Solana 官方文档 (https://docs.solana.com/cli/install) 安装 Solana CLI 工具,并确保 'solana-test-validator' 可以运行。
  3. 克隆仓库: 将 GitHub 仓库 'mcp-solana-ico' 克隆到本地。
  4. 安装依赖: 在仓库根目录下,运行命令 'poetry install' 安装项目依赖。
  5. 启动 Solana 本地验证节点: 运行命令 'solana-test-validator' 启动本地 Solana 验证节点。

服务器配置

MCP 客户端需要配置以下信息以连接到此 MCP 服务器:

{
  "serverName": "Solana ICO Server",
  "command": "poetry",
  "args": ["run", "python", "mcp_solana_ico/server.py"]
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "Solana ICO Server"。
  • 'command': 运行服务器的命令,这里使用 'poetry' 命令来管理和运行 Python 项目。
  • 'args': 命令参数,包括 'run', 'python' 和服务器启动脚本路径 'mcp_solana_ico/server.py'。

注意:

  • 确保已安装 Poetry 并正确配置了 Python 3.11+ 环境。
  • 确保 Solana 本地验证节点 'solana-test-validator' 正在运行,并且 RPC 端口(默认为 8899)可访问。
  • 可以在 '.env' 文件中配置 RPC_ENDPOINT, TOKEN_MINT_ADDRESS, ICO_START_TIMESTAMP, ICO_END_TIMESTAMP, TOKEN_PRICE_PER_LAMPORTS 等环境变量,以自定义 ICO 参数和 Solana 网络连接。

基本使用方法

  1. 启动服务器: 在仓库根目录下,运行配置中指定的命令 'poetry run python mcp_solana_ico/server.py' 启动 MCP 服务器。
  2. 使用 MCP 客户端连接: 在 MCP 客户端中,配置上述服务器配置信息,客户端将尝试连接到服务器。
  3. 探索资源和工具: 连接成功后,您可以使用 MCP 客户端发送 JSON-RPC 请求来访问服务器提供的资源 (Resources) 和工具 (Tools),例如:
    • 获取 ICO 信息: 请求资源 'ico://info?ico_id=main_ico'
    • 注册联盟: 请求资源 'affiliate://register'
    • 购买代币: 调用工具 'buy_tokens',并提供必要的参数,例如 'ico_id', 'amount', 'payment_transaction' 等。

请参考仓库中的 'README.md' 和代码注释了解更详细的使用方法和参数说明。

信息

分类

商业系统