返回市场
去中心化银行MCP服务器

去中心化银行MCP服务器

作者:demcp8 星标更新:2025-04-25

项目介绍

DeBanK MCP 服务器

一个无状态的模型上下文协议(MCP)服务器,用于与DeBanK API交互以检索区块链和去中心化金融(DeFi)数据。

概述

该项目实现了一个模型上下文协议(MCP)服务器,提供了各种查询区块链数据的工具,包括链、协议、代币、池和用户资产。该服务器基于@modelcontextprotocol/sdk构建,并利用HTTP流传输提供现代高效的API接口。

服务器设计为完全无状态,每个请求独立处理,使其在生产环境中具有高度可扩展性和健壮性。

功能

  • 无状态架构:每次请求都会创建一个新的服务器实例和传输
  • 全面的DeFi数据工具:访问链、协议、代币、池和用户数据
  • 分页支持:所有返回列表的端点都支持分页
  • 错误处理:强大的错误处理和报告

可用工具

工具名称描述
get_chain_info获取关于区块链的信息
get_protocol_info获取关于DeFi协议的信息
get_token_info获取关于代币的信息
get_pool_info获取特定流动性池的详细信息
get_user_assets获取用户在不同区块链上的资产信息
get_user_activities获取用户的协议位置、交易历史和余额图表信息
get_user_authorizations获取用户的代币和NFT授权信息
get_collection_nft_list获取特定集合中的NFT列表
wallet_tools访问钱包相关的功能

预备条件

安装

  1. 克隆仓库
git clone https://github.com/yourusername/debank-mcp-server.git
cd debank-mcp-server
  1. 设置环境变量
export ACCESS_KEY=your_debank_api_key

运行服务器

使用以下命令启动服务器:

deno run --allow-net --allow-env main.ts

默认情况下,服务器将在8080端口上启动并监听。现在你可以向http://localhost:8080/mcp发送MCP请求。

MCP HTTP流传输实现

本项目使用Model Context Protocol SDK中的StreamableHTTPServerTransport来处理MCP请求。每次请求都会创建一个新的服务器实例和传输,使服务完全无状态:

// 为每次请求创建新的服务器实例和传输
const server = createServer();
const transport = new StreamableHTTPServerTransport({
  sessionIdGenerator: () => randomUUID(),
});

// 连接到服务器
await server.connect(transport);

// 处理请求
await transport.handleRequest(req, res, req.body);

这种方法简化了部署和扩展,因为不需要跨多个实例管理会话状态。

项目结构

├── main.ts                # 主服务器文件,包含MCP端点处理
├── deno.json              # Deno配置文件
├── deno.lock              # 依赖锁定文件
├── tool/
│   ├── toolInfo.ts        # 工具定义
│   └── toolHandler.ts     # 工具处理器实现
└── README.md              # 本文件

配置

可以配置以下环境变量:

  • ACCESS_KEY - 你的DeBanK API访问密钥
  • PORT - (可选)运行服务器的端口(默认:8080)

贡献

欢迎贡献!请随意提交Pull Request。

许可证

本项目根据MIT许可证发布 - 查看LICENSE文件了解详情。

致谢