使用说明

项目简介

本项目 'mcp-server-defillama' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供访问 DefiLlama API 的能力。通过此服务器,LLM 可以获取 DeFi 领域的实时和历史数据,例如 DeFi 协议的总锁定价值 (TVL)、区块链链的 TVL、代币价格以及稳定币信息。这使得 LLM 能够理解和处理与 DeFi 相关的问题,例如查询特定协议的 TVL 变化、获取代币的当前价格等。

主要功能点

  • 提供 DeFi 数据访问工具: 通过集成 DefiLlama API,提供了一系列工具,允许 LLM 查询和获取 DeFi 数据。
  • 支持多种数据类型: 涵盖了 DeFi 领域多种关键数据类型,包括协议列表、协议 TVL、链 TVL、代币价格(当前和历史)、稳定币列表和稳定币数据。
  • 标准化的 MCP 接口: 遵循 MCP 协议标准,易于与兼容 MCP 协议的 LLM 客户端集成。
  • 易于部署和使用: 提供简单的安装和启动步骤,方便用户快速部署和使用。

安装步骤

  1. 克隆仓库
    git clone https://github.com/dcSpark/mcp-server-defillama.git
    cd mcp-server-defillama
  2. 安装依赖: 确保你的环境中已安装 Node.js 和 npm。然后运行以下命令安装项目依赖:
    npm install
  3. 构建项目: 运行以下命令构建项目,将 TypeScript 代码编译为 JavaScript 代码:
    npm run build
  4. 启动服务器: 运行以下命令启动 MCP 服务器:
    npm start
    服务器默认使用 Stdio 传输协议,并通过标准输入/输出与 MCP 客户端通信。

服务器配置

MCP 客户端需要配置以下 JSON 格式信息以连接到 'mcp-server-defillama' 服务器。以下是配置示例,请根据实际情况调整 'command' 和 'args' 字段:

{
  "serverName": "mcp-server-defillama",
  "command": "node",
  "args": [
    "./dist/index.js"
  ],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "defillama-server"。
  • 'command': 运行服务器的命令,这里使用 'node' 命令来执行 JavaScript 文件。
  • 'args': 传递给 'command' 的参数列表。
    • '"./dist/index.js"': 指定服务器入口文件路径。请确保路径与实际 'dist/index.js' 文件位置一致。
  • 'transport': 指定 MCP 服务器使用的传输协议,这里使用 'stdio' (标准输入/输出)。

请注意: MCP 客户端需要能够执行 'node' 命令,并且能够找到 'dist/index.js' 文件。如果你的环境配置不同,请相应地修改 'command' 和 'args' 字段。

基本使用方法

启动服务器后,MCP 客户端可以通过 JSON-RPC 协议与服务器进行通信。客户端可以发送 'ListToolsRequest' 请求获取服务器提供的工具列表,然后使用 'CallToolRequest' 请求调用具体的工具。

可用工具列表 (Tools):

  • 'defillama_get_protocols': 获取 DefiLlama 跟踪的所有协议列表。
  • 'defillama_get_protocol_tvl': 获取特定协议的 TVL 数据。需要参数 'protocol' (协议名称,字符串类型)。
  • 'defillama_get_chain_tvl': 获取特定区块链链的 TVL 数据。需要参数 'chain' (链名称,字符串类型)。
  • 'defillama_get_token_prices': 获取指定代币的当前价格。需要参数 'coins' (代币地址数组,字符串数组类型,例如 '["ethereum:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"]')。
  • 'defillama_get_historical_prices': 获取指定代币在特定时间戳的历史价格。需要参数 'coins' (代币地址数组,字符串数组类型) 和 'timestamp' (时间戳,数字类型,Unix 时间戳)。
  • 'defillama_get_stablecoins': 获取 DefiLlama 跟踪的所有稳定币列表。
  • 'defillama_get_stablecoin_data': 获取特定稳定币的数据。需要参数 'asset' (稳定币资产名称,字符串类型,例如 "USDC")。

示例 - 调用 'defillama_get_protocol_tvl' 工具的 JSON-RPC 请求:

{
  "jsonrpc": "2.0",
  "method": "CallTool",
  "params": {
    "name": "defillama_get_protocol_tvl",
    "arguments": {
      "protocol": "aave"
    }
  },
  "id": "1"
}

服务器将返回 JSON-RPC 响应,其中包含工具执行结果。结果会以文本形式包含在 'content' 字段中。

信息

分类

网页与API