使用说明
项目简介
Token API MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型(LLM)应用提供实时的 Token 数据访问能力和 SQL 查询工具。它通过标准化的 MCP 协议与客户端通信,允许 LLM 应用安全、可扩展地获取链上 Token 信息,并利用 SQL 工具进行更深入的数据分析。
主要功能点
- 资源 (Resources): 提供预定义的 SQL 查询,例如查询 Token 持有者、余额、交易记录等,方便 LLM 客户端快速获取链上数据。
- 工具 (Tools): 集成 ClickHouse 数据库操作工具,允许 LLM 客户端执行 SQL 查询,包括列出数据库、表、描述表结构以及运行自定义查询,增强数据探索和分析能力。
- Prompt 模板 (Prompts): 提供查询指导 Prompt,帮助 LLM 客户端更好地组织和构建针对 Token 数据的查询请求。
- 实时 Token 数据: 基于 The Graph Substreams 提供实时 Token 数据,确保数据的新鲜度和准确性。
- 多链支持: 支持 EVM 链(Ethereum, Base, Arbitrum, BSC 等),未来计划支持 SVN (Solana) 和 Antelope 链。
- SSE 传输协议: 使用 Server-Sent Events (SSE) 作为 MCP 服务器的传输协议,实现高效的实时数据推送。
- 可配置性: 通过环境变量灵活配置 API 端口、MCP 服务器端口、数据库连接信息等。
安装步骤
-
克隆仓库:
git clone https://github.com/pinax-network/token-api.git cd token-api -
安装依赖: 确保已安装 Bun,然后运行:
bun install -
配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',根据需要修改其中的配置项,例如数据库连接信息、端口号等。
cp .env.example .env # 编辑 .env 文件 nano .env
服务器配置 (MCP 客户端配置)
MCP 客户端需要配置以下 JSON 信息以连接到 Token API MCP Server:
{ "serverName": "TokenAPI-MCP", "command": "bun", "args": ["dev"], "transport": { "type": "sse", "config": { "endpoint": "sse", // SSE 端点,对应 .env 文件中的 SSE_ENDPOINT 配置,默认为 sse "url": "http://localhost:8080" // MCP 服务器 SSE 地址,端口对应 .env 文件中的 SSE_PORT 配置,默认为 8080 } } }
参数注释:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里使用 'bun dev' 运行开发模式。生产环境可以使用 'bun start' 或者 Docker 部署。
- 'args': 启动命令的参数,当前示例中没有参数。
- 'transport.type': 传输协议类型,这里配置为 'sse' (Server-Sent Events)。
- 'transport.config.endpoint': SSE 端点路径,与服务器配置的 'SSE_ENDPOINT' 一致。
- 'transport.config.url': MCP 服务器的 SSE 基地址,协议和主机名根据实际部署情况修改,端口号需与服务器配置的 'SSE_PORT' 一致。
注意: 实际部署时,'url' 应指向 MCP 服务器的实际地址和端口,例如 'http://your-server-ip:8080'。
基本使用方法
-
启动 MCP 服务器: 在仓库根目录下运行以下命令启动服务器:
bun dev或者使用 Docker 启动:
docker run -it --rm --env-file .env -p 8000:8000 -p 8080:8080 ghcr.io/graphprotocol/token-api:develop -
配置 MCP 客户端: 在 MCP 客户端中,根据 "服务器配置" 章节的 JSON 信息配置连接到 Token API MCP Server。
-
使用 MCP 客户端与服务器交互:
- 发现能力: MCP 客户端连接服务器后,可以自动发现服务器提供的 Resources, Tools, Prompts。
- 访问资源: 客户端可以使用 Resource URI (例如 'file:///sql/balances_for_account/evm.sql') 获取预定义的 SQL 查询。
- 调用工具: 客户端可以调用 Tools (例如 'run_query') 执行 SQL 查询,并获取数据库操作结果。
- 使用 Prompt 模板: 客户端可以参考 Prompt 模板 (例如 'native_token_queries') 来构建更有效的查询请求。
具体 MCP 客户端的操作方式请参考您使用的 MCP 客户端的文档。
信息
分类
网页与API