使用说明

项目简介

Linea MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为 AI 应用程序提供与 Linea 区块链交互的工具。通过此服务器,AI 助手(如 Claude 和 Cursor)能够理解和执行与 Linea 区块链相关的自然语言请求,例如查询钱包余额、转移代币、与智能合约交互、管理 NFT、进行跨链桥接以及参与 DeFi 协议等。

主要功能点

  • 钱包管理:获取钱包地址、查询余额。
  • 代币操作:转移 ERC20 代币、查询 ERC20 代币余额。
  • 智能合约交互:部署智能合约、调用智能合约功能。
  • NFT 管理:列出 NFT 资产、转移 NFT 资产。
  • 跨链桥接:在以太坊和 Linea 之间桥接资产。
  • DeFi 集成:与 Linea 上的 DeFi 协议进行交互,如获取流动性池信息、进行代币交换。
  • Proof of Humanity (PoH):验证和管理 PoH 注册状态。
  • Linea ENS(开发中):解析和管理 Linea ENS 域名。

安装步骤

前提条件

  • Node.js (v16+)
  • npm 或 yarn
  • Linea RPC 节点访问权限

安装方式一:全局安装 (推荐)

  1. 全局安装 'linea-mcp' 包:

    npm install -g linea-mcp
  2. 创建 '.env' 配置文件: 在你的工作目录中创建 '.env' 文件,并填入以下配置信息。请替换 'your_infura_key', 'your_alchemy_key', 'your_encryption_key' 为你自己的 API 密钥和加密密钥。

    # Network Configuration
    LINEA_MAINNET_RPC_URL=https://rpc.linea.build
    LINEA_TESTNET_RPC_URL=https://rpc.sepolia.linea.build
    INFURA_API_KEY=your_infura_key
    ALCHEMY_API_KEY=your_alchemy_key
    PRIVATE_KEY_ENCRYPTION_KEY=your_encryption_key
    PORT=3000
    NODE_ENV=development
    ETHEREUM_RPC_URL=https://mainnet.infura.io/v3/your_infura_key
    ETHEREUM_TESTNET_RPC_URL=https://sepolia.infura.io/v3/your_infura_key
  3. 启动 MCP 服务器:

    linea-mcp

安装方式二:从源代码安装 (开发使用)

  1. 克隆代码仓库:

    git clone https://github.com/qvkare/linea-mcp.git
    cd linea-mcp
  2. 安装依赖:

    npm install
  3. 配置环境变量: 复制 '.env.example' 文件为 '.env',并根据需要编辑 '.env' 文件,填入你的配置信息。

    cp .env.example .env
    # 编辑 .env 文件
  4. 构建项目:

    npm run build
  5. 启动 MCP 服务器:

    npm start

服务器配置

要将 Linea MCP 服务器与 MCP 客户端(例如 Cursor 或 Claude Desktop)集成,您需要配置客户端的 MCP 设置。以下是 Cursor 客户端的 'mcp.json' 配置文件示例,其他 MCP 客户端配置方式类似。

Cursor MCP 配置 ( 'mcp.json' ) 示例

根据操作系统,'mcp.json' 文件可能位于以下路径:

  • Windows: '%APPDATA%\Cursor\mcp.json'
  • macOS: '~/Library/Application Support/Cursor/mcp.json'
  • Linux: '~/.config/Cursor/mcp.json'

将以下 JSON 配置添加到 'mcp.json' 文件的 'mcpServers' 字段中。请确保替换 'your_infura_key', 'your_alchemy_key', 'your_encryption_key' 为你自己的 API 密钥和加密密钥。

{
  "mcpServers": {
    "linea": {
      "command": "npx",
      "args": ["linea-mcp@latest"],
      "env": {
        "PORT": "3000",
        "LINEA_MAINNET_RPC_URL": "https://rpc.linea.build",
        "LINEA_TESTNET_RPC_URL": "https://rpc.sepolia.linea.build",
        "INFURA_API_KEY": "your_infura_key",  // Infura API 密钥 (用于以太坊和 Linea 网络)
        "ALCHEMY_API_KEY": "your_alchemy_key", // Alchemy API 密钥 (用于 NFT 功能)
        "PRIVATE_KEY_ENCRYPTION_KEY": "your_encryption_key", // 私钥加密密钥 (用于本地私钥管理)
        "NODE_ENV": "development",
        "ETHEREUM_RPC_URL": "https://mainnet.infura.io/v3/your_infura_key", // 以太坊主网 RPC URL
        "ETHEREUM_TESTNET_RPC_URL": "https://sepolia.infura.io/v3/your_infura_key" // 以太坊测试网 RPC URL
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

配置参数说明

  • '"linea"': 服务器名称,在 Cursor 中用于标识和选择该服务器。
  • '"command": "npx"': 启动服务器的命令,这里使用 'npx' 运行全局安装的 'linea-mcp' 包。
  • '"args": ["linea-mcp@latest"]': 'npx' 命令的参数,指定要运行的包名为 'linea-mcp@latest',始终使用最新版本。
  • '"env"': 环境变量配置,传递给 Linea MCP 服务器的配置参数。
    • '"PORT": "3000"': 服务器监听端口,默认为 3000。
    • '"LINEA_MAINNET_RPC_URL"' / '"LINEA_TESTNET_RPC_URL"': Linea 主网/测试网 RPC URL,用于连接 Linea 区块链。
    • '"INFURA_API_KEY"' / '"ALCHEMY_API_KEY"': Infura 和 Alchemy API 密钥,用于访问区块链数据和 API 服务。
    • '"PRIVATE_KEY_ENCRYPTION_KEY"': 私钥加密密钥,用于保护本地存储的私钥。
    • '"NODE_ENV": "development"': 运行环境,设置为 'development' 或 'production'。
    • '"ETHEREUM_RPC_URL"' / '"ETHEREUM_TESTNET_RPC_URL"': 以太坊主网/测试网 RPC URL,用于桥接等跨链功能。
  • '"disabled": false': 设置为 'false' 启用该服务器。
  • '"autoApprove": []': 自动批准的工具列表,默认为空,表示需要手动批准工具调用。

基本使用方法

  1. 启动 Linea MCP Server: 按照安装步骤启动服务器。
  2. 配置 MCP 客户端: 根据你的 MCP 客户端(如 Cursor, Claude Desktop)的文档,配置 MCP 服务器连接信息,填入上面提供的 'mcp.json' 配置示例。
  3. 在 MCP 客户端中使用: 在 MCP 客户端中,你可以通过自然语言指令调用 Linea MCP Server 提供的工具。例如,在 Cursor 中,你可以使用 '@linea' 前缀来调用 Linea MCP Server 的工具。

可用工具示例

  • 钱包工具:

    • 'wallet_getAddress': 获取钱包地址
    • 'wallet_listBalances': 列出钱包余额
    • 'wallet_transferFunds': 转移资金
  • 代币工具:

    • 'tokens_erc20Balance': 查询 ERC20 代币余额
    • 'tokens_erc20Transfer': 转移 ERC20 代币
  • 合约工具:

    • 'contracts_callContract': 调用合约函数
    • 'contracts_deployContract': 部署智能合约
  • NFT 工具:

    • 'nft_listNfts': 列出 NFT 资产
    • 'nft_transferNft': 转移 NFT 资产
  • 桥接工具:

    • 'bridge_bridgeAssets': 桥接资产
    • 'bridge_bridgeStatus': 查询桥接状态
  • DeFi 工具:

    • 'defi_liquidityPools': 获取流动性池信息
    • 'defi_swapTokens': 交换代币
  • PoH 工具:

    • 'poh_verifyRegistration': 验证 PoH 注册状态

使用示例 (在 MCP 客户端中提问):

  • "What's my wallet address on Linea? @linea"
  • "Show me my ETH and USDC balance @linea"
  • "Bridge 0.5 ETH from Ethereum to Linea @linea"
  • "Verify my Proof of Humanity registration @linea"

请参考仓库中的 'examples.md' 文件获取更多使用示例和详细信息。

信息

分类

开发者工具