demcp-debank-mcp

MCP.Pizza Chef: demcp

demcp-debank-mcp is a stateless Model Context Protocol server that interfaces with the DeBanK API to deliver detailed blockchain and DeFi data. It supports querying chains, protocols, tokens, pools, and user assets with pagination and robust error handling. Built on the MCP SDK with HTTP Streamable transport, it offers a scalable, efficient, and production-ready API for real-time decentralized finance data retrieval.

Use This MCP server To

Query blockchain chains and protocols data in real time Retrieve detailed token and pool information for DeFi analysis Fetch user asset data across multiple DeFi platforms Implement scalable DeFi data APIs with stateless request handling Support pagination for large blockchain data sets Integrate DeFi data into AI workflows using MCP protocol

README

DeBanK MCP Server

A stateless Model Context Protocol (MCP) server for interacting with the DeBanK API to retrieve blockchain and DeFi data.

Overview

This project implements a Model Context Protocol (MCP) server that provides various tools for querying blockchain data, including chains, protocols, tokens, pools, and user assets. Built with the @modelcontextprotocol/sdk, it leverages the HTTP Streamable transport to provide a modern, efficient API interface.

The server is designed to be completely stateless, with each request being handled independently, making it highly scalable and robust for production environments.

Features

  • Stateless Architecture: Each request creates a new server instance and transport
  • Comprehensive DeFi Data Tools: Access to chains, protocols, tokens, pools, and user data
  • Pagination Support: All list-returning endpoints support pagination
  • Error Handling: Robust error handling and reporting

Tools Available

Tool Name Description
get_chain_info Get information about blockchains
get_protocol_info Get information about DeFi protocols
get_token_info Get information about tokens
get_pool_info Get detailed information about a specific liquidity pool
get_user_assets Get information about a user's assets across different blockchains
get_user_activities Get information about a user's protocol positions, transaction history, and balance charts
get_user_authorizations Get information about a user's token and NFT authorizations
get_collection_nft_list Get a list of NFTs in a specific collection
wallet_tools Access wallet-related functionality

Prerequisites

  • Deno 1.35 or later
  • DeBanK API Access Key - Get one here

Installation

  1. Clone the repository
git clone https://github.com/yourusername/debank-mcp-server.git
cd debank-mcp-server
  1. Set up your environment variables
export ACCESS_KEY=your_debank_api_key

Running the Server

Start the server with the following command:

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

The server will start and listen on port 8080 by default. You can now send MCP requests to http://localhost:8080/mcp.

MCP HTTP Streamable Implementation

This project uses the StreamableHTTPServerTransport from the Model Context Protocol SDK to handle MCP requests. Every request creates a new server instance and transport, making the service completely stateless:

// Create new server instance and transport for each request
const server = createServer();
const transport = new StreamableHTTPServerTransport({
  sessionIdGenerator: () => randomUUID(),
});

// Connect to server
await server.connect(transport);

// Handle request
await transport.handleRequest(req, res, req.body);

This approach simplifies deployment and scaling, as there's no need to manage session state across multiple instances.

Project Structure

├── main.ts                # Main server file with MCP endpoint handling
├── deno.json              # Deno configuration
├── deno.lock              # Dependency lock file
├── tool/
│   ├── toolInfo.ts        # Tool definitions
│   └── toolHandler.ts     # Tool handler implementations
└── README.md              # This file

Configuration

The following environment variables can be configured:

  • ACCESS_KEY - Your DeBanK API access key
  • PORT - (Optional) Port to run the server on (default: 8080)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

demcp-debank-mcp FAQ

How does the stateless architecture benefit the server?
It ensures scalability and robustness by handling each request independently without retaining session data.
What types of blockchain data can I access with this server?
You can access chains, protocols, tokens, pools, and user asset data from the DeBanK API.
Does the server support pagination for large data queries?
Yes, all list-returning endpoints support pagination to efficiently handle large datasets.
How does the server handle errors during data retrieval?
It includes robust error handling to manage API failures and invalid requests gracefully.
What transport protocol does the server use?
It uses the HTTP Streamable transport for efficient and modern API communication.
Is this server suitable for production environments?
Yes, its stateless design and robust features make it highly scalable and production-ready.
Can this server be integrated with multiple LLM providers?
Yes, it is compatible with MCP clients that work with providers like OpenAI, Claude, and Gemini.