- Added the production server URL for the MCP client. - Simplified the MCP client configuration example by removing unnecessary fields and clarifying the URL usage.
201 lines
5.6 KiB
Markdown
201 lines
5.6 KiB
Markdown
# 🌊 Liquidswap MCP Server
|
|
|
|
A **Model Context Protocol (MCP) server** that provides comprehensive access to **Liquidswap** - the leading decentralized exchange on the **Aptos blockchain**. This server enables AI models and applications to interact with Liquidswap's pools, tokens, and user balances through a standardized interface.
|
|
|
|
## 🚀 Features
|
|
|
|
- **Real-time Data Access**: Get live information about tokens, pools, and user balances
|
|
- **Historical Analytics**: Access historical APR and TVL data for in-depth analysis
|
|
- **User Balance Tracking**: Query token balances for any Aptos address
|
|
- **MCP Standard Compliance**: Seamlessly integrates with MCP-compatible AI tools and applications
|
|
- **TypeScript Support**: Fully typed for better development experience
|
|
|
|
## 🛠️ Available Tools
|
|
|
|
### 1. **Get Tokens** (`get_tokens`)
|
|
Retrieves all tokens registered on Liquidswap.
|
|
|
|
**Parameters:** None
|
|
**Returns:** Complete list of registered tokens with metadata (name, symbol, decimals, logo, etc.)
|
|
|
|
### 2. **Get Pools** (`get_pools`)
|
|
Fetches all liquidity pools available on Liquidswap.
|
|
|
|
**Parameters:** None
|
|
**Returns:** List of all registered pools including concentrated liquidity pools
|
|
|
|
### 3. **Get User Balances** (`get_balances_by_address`)
|
|
Queries token balances for a specific Aptos address.
|
|
|
|
**Parameters:**
|
|
- `address` (string): Aptos address to query balances for
|
|
|
|
**Returns:** Token balances with enriched metadata including LP token details
|
|
|
|
### 4. **Get Historical APRs** (`get_pools_historical_aprs`)
|
|
Retrieves historical Annual Percentage Rate (APR) data for all pools.
|
|
|
|
**Parameters:**
|
|
- `daysAgo` (number): Number of days back to fetch data (max: 365 days)
|
|
|
|
**Returns:** Historical APR data for all pools within the specified timeframe
|
|
|
|
### 5. **Get Historical TVLs** (`get_pools_historical_tvls`)
|
|
Fetches historical Total Value Locked (TVL) data for all pools.
|
|
|
|
**Parameters:**
|
|
- `daysAgo` (number): Number of days back to fetch data (max: 365 days)
|
|
|
|
**Returns:** Historical TVL data for all pools within the specified timeframe
|
|
|
|
## 📦 Installation
|
|
|
|
### Prerequisites
|
|
- **Node.js** (v18 or higher)
|
|
- **Yarn** package manager
|
|
- **Aptos API key** (for balance queries)
|
|
|
|
### Setup
|
|
|
|
1. **Clone the repository:**
|
|
```bash
|
|
git clone https://gitlab.mind-dev.com/ai-lab/liquidswap-mcp.git
|
|
cd liquidswap-mcp
|
|
```
|
|
|
|
2. **Install dependencies:**
|
|
```bash
|
|
yarn install
|
|
```
|
|
|
|
3. **Configure environment variables:**
|
|
Create a `.env` file in the root directory:
|
|
```bash
|
|
# Required for user balance queries
|
|
APTOS_API_KEY=your_aptos_api_key_here
|
|
|
|
# Optional: Custom Liquidswap API URL (defaults to https://api.liquidswap.com)
|
|
BE_URL=https://api.liquidswap.com
|
|
|
|
# Optional: SSE port (defaults to 3001)
|
|
SSE_PORT=3000
|
|
```
|
|
|
|
4. **Build the project:**
|
|
```bash
|
|
yarn build
|
|
```
|
|
|
|
5. **Start the server:**
|
|
```bash
|
|
yarn start
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
### MCP Client Configuration
|
|
|
|
Production deployed server url - [https://lsmcp.dev.mind-dev.com/sse](https://lsmcp.dev.mind-dev.com/sse)
|
|
|
|
To use this server with an MCP client, add the following configuration to your MCP settings:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"liquidswap-mcp": {
|
|
"url": "https://lsmcp.dev.mind-dev.com/sse", // or replace with local hosted, http://localhost:3002/sse
|
|
"env": {}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Environment Variables
|
|
|
|
| Variable | Description | Required | Default |
|
|
|----------|-------------|----------|---------|
|
|
| `APTOS_API_KEY` | Aptos Labs API key for blockchain queries | Yes (for balance queries) | - |
|
|
| `BE_URL` | Liquidswap backend API URL | No | `https://api.liquidswap.com` |
|
|
| `SSE_PORT` | Server-Sent Events port for MCP transport | No | `3001` |
|
|
|
|
## 🔧 Development
|
|
|
|
### Available Scripts
|
|
|
|
```bash
|
|
# Build the project
|
|
yarn build
|
|
|
|
# Start the server
|
|
yarn start
|
|
|
|
# Run linting
|
|
yarn lint
|
|
|
|
# Fix linting issues
|
|
yarn lint:fix
|
|
|
|
# Format code
|
|
yarn format
|
|
|
|
# Development with auto-reload
|
|
yarn dev # If available
|
|
```
|
|
|
|
### Project Structure
|
|
|
|
```
|
|
src/
|
|
├── core/ # Core Liquidswap API integration
|
|
├── tools/ # MCP tool implementations
|
|
│ ├── get-tokens/
|
|
│ ├── get-pools/
|
|
│ ├── get-balances-by-address/
|
|
│ ├── get-pools-historical-aprs/
|
|
│ └── get-pools-historical-tvls/
|
|
├── resources/ # MCP resources
|
|
├── transports/ # MCP transport layer
|
|
└── types/ # TypeScript type definitions
|
|
```
|
|
|
|
## 🌐 API Integration
|
|
|
|
This server integrates with:
|
|
- **Liquidswap API** (`https://api.liquidswap.com`) - For pools, tokens, and analytics data
|
|
- **Aptos GraphQL API** (`https://api.mainnet.aptoslabs.com/v1/graphql`) - For user balance queries
|
|
|
|
## 🤝 Usage Examples
|
|
|
|
Once configured with an MCP client, you can use natural language to interact with Liquidswap:
|
|
|
|
- *"Show me all available tokens on Liquidswap"*
|
|
- *"What are the current liquidity pools?"*
|
|
- *"Get the token balances for address 0x123..."*
|
|
- *"Show me the historical APR data for the last 30 days"*
|
|
- *"What was the TVL trend over the past week?"*
|
|
|
|
## 🔒 Security & Privacy
|
|
|
|
- API keys are handled securely through environment variables
|
|
- No sensitive data is logged or stored
|
|
- All requests are made directly to official Aptos and Liquidswap APIs
|
|
- The server operates in read-only mode with no transaction capabilities
|
|
|
|
## 📄 License
|
|
|
|
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
|
|
|
|
## 👨💻 Author
|
|
|
|
**odiinnn**
|
|
|
|
## 🔗 Related Links
|
|
|
|
- [Liquidswap Website](https://liquidswap.com)
|
|
- [Aptos Blockchain](https://aptos.dev)
|
|
- [Model Context Protocol](https://modelcontextprotocol.io)
|
|
- [Aptos Labs API](https://aptos.dev/apis)
|
|
|
|
---
|
|
|
|
*Built with ❤️ for the Aptos ecosystem* |