使用说明
项目简介
Token API 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为语言模型(LLM)客户端提供实时的区块链 Token 数据。它通过 MCP 协议标准化地暴露数据访问能力和工具,使得 LLM 应用能够安全、可扩展地获取链上 Token 信息,从而构建更强大的上下文感知应用和 AI 智能体。
该项目使用 ClickHouse 数据库存储链上数据,并通过 SSE (Server-Sent Events) 协议与 MCP 客户端通信。目前主要支持以太坊虚拟机 (EVM) 兼容链,未来计划支持 Solana (SVM) 和 Antelope 等网络。
主要功能点
- 资源 (Resources) 管理:
- 提供预定义的 SQL 查询资源,允许客户端通过 MCP 协议获取各种 Token 数据,例如账户余额、交易记录、Token 持有者等。
- 支持资源模板,允许客户端根据参数动态加载 SQL 查询。
- 工具 (Tools) 执行:
- 注册了一系列数据库操作工具,例如列出数据库、列出表、描述表结构、执行 SQL 查询等,允许 LLM 客户端通过调用这些工具来探索和查询底层数据。
- Prompt 模板 (Prompts) 定义:
- 提供了 Prompt 模板,例如 'native_token_queries',为客户端提供关于如何查询原生代币合约的指导。
- 实时数据:
- 通过 Substreams SQL Sink 实时同步链上数据到 ClickHouse 数据库,确保提供的数据是最新鲜的。
- 多链支持 (EVM):
- 目前已支持包括 Ethereum、Base、Arbitrum、BSC 等多个 EVM 兼容链。
- JSON-RPC over SSE:
- 使用 JSON-RPC 协议 over SSE 与客户端通信,符合 MCP 标准。
- OpenAPI 文档:
- 提供 OpenAPI 文档,方便开发者了解和使用 API 接口。
安装步骤
-
安装 Bun: Token API 使用 Bun 作为运行时环境,请先安装 Bun。
-
克隆仓库:
git clone https://github.com/graphprotocol/token-api.git cd token-api -
安装依赖:
bun install -
配置环境变量: 复制 '.env' 文件并根据需要修改配置,主要关注以下 MCP 服务器配置项:
# MCP Server SSE_PORT=8080 # SSE 服务器端口 SSE_ENDPOINT=sse # SSE 服务端点其他配置项如数据库连接信息等也请根据实际情况配置。
-
启动服务器:
bun dev这将同时启动 API 服务器和 MCP 服务器。MCP 服务器默认监听 '8080' 端口的 '/sse' 端点。
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置以下信息以连接到 Token API MCP 服务器。以下是一个 JSON 格式的配置示例,请根据实际情况修改:
{ "serverName": "token-api-mcp-server", // MCP 服务器名称,可自定义 "command": "bun", // 启动 MCP 服务器的命令,这里使用 bun "args": ["dev"], // 启动命令的参数,这里使用 dev 启动开发模式 "transport": "sse", // 使用 SSE 传输协议 "sseEndpoint": "http://localhost:8080/sse" // SSE 服务端点 URL,根据实际部署情况修改 host 和 port }
配置参数说明:
- 'serverName': MCP 服务器的名称,客户端用于标识连接的服务器。
- 'command': 启动 MCP 服务器的可执行命令,例如 'bun' 或 'node'。
- 'args': 传递给启动命令的参数,例如 'dev' (开发模式) 或 'start' (生产模式)。请根据 Token API 项目的启动脚本进行配置。
- 'transport': MCP 使用的传输协议,这里配置为 'sse' (Server-Sent Events)。
- 'sseEndpoint': SSE 服务端点的完整 URL,包括协议、主机、端口和路径。需要与 Token API 服务器的实际监听地址和端点一致。
注意: 请确保 MCP 客户端能够访问到 Token API MCP 服务器的网络地址。如果客户端和服务器部署在不同的机器上,需要将 'sseEndpoint' 中的 'localhost' 替换为服务器的实际 IP 地址或域名。
基本使用方法
-
连接 MCP 服务器: 在 MCP 客户端中使用上述配置信息连接到 Token API MCP 服务器。
-
浏览能力 (Capabilities): 客户端连接成功后,可以获取服务器声明的 Capabilities,包括可用的 Resources, Tools, Prompts 等。
-
使用 Resources: 客户端可以请求加载预定义的 SQL 查询资源,例如 'file:///sql/balances_for_account/evm.sql',获取用于查询 EVM 链账户余额的 SQL 语句。对于支持 Resource Template 的客户端,可以使用 'file:///sql/{name}/{chain_type}.sql' 模板动态加载 SQL 查询。
-
调用 Tools: 客户端可以调用注册的 Tools 执行数据库操作,例如调用 'list_tables' 工具并传入数据库名称参数,获取指定数据库中的表列表。
-
使用 Prompts: 客户端可以加载 Prompt 模板,例如 'native_token_queries',获取关于如何构造特定类型查询的指导信息。
通过以上步骤,LLM 客户端可以利用 Token API MCP 服务器提供的资源、工具和 Prompt 模板,实现对链上 Token 数据的访问和利用,构建更智能的应用。
信息
分类
网页与API