Skip to main content
Glama
demomagic

LI.FI MCP Server

by demomagic
README.md
# LI.FI MCP Server

A Model Context Protocol (MCP) server that provides comprehensive integration with the LI.FI API for cross-chain bridge and DEX aggregation services.

## Overview

This MCP server enables AI assistants and applications to interact with LI.FI's cross-chain infrastructure through a standardized protocol. It provides access to blockchain network information, token data, bridging tools, transaction status tracking, and more.

## Features

### Available Tools

- **Chain Information** (`lifi_get_chains`) - Get information about all supported blockchain networks
- **Token Data** (`lifi_get_tokens`) - Retrieve comprehensive token information across chains
- **Specific Token** (`lifi_get_token`) - Get detailed information about a specific token
- **Bridge & Exchange Tools** (`lifi_get_tools`) - List available bridges and exchanges
- **Chain Connections** (`lifi_get_connections`) - Explore supported cross-chain connections
- **Gas Price Data** (`lifi_get_gas_prices`) - Get current gas prices for specific chains
- **Gas Suggestions** (`lifi_get_gas_suggestion`) - Get gas amount recommendations
- **Transaction Status** (`lifi_get_transaction_status`) - Track cross-chain transfer status
- **Fee Withdrawal** (`lifi_get_integrator_fee_withdrawal`) - Manage integrator fee withdrawals

## Prerequisites

- Node.js (v16 or higher)
- npm or yarn
- LI.FI API key

## Installation

1. Clone the repository:
```bash
git clone <repository-url>
cd lifi-mcp-server
```

2. Install dependencies:
```bash
npm install
```

3. Obtain a LI.FI API key:
   - Visit [LI.FI Developer Portal](https://li.fi/) to register and get your API key
   - Keep your API key secure and ready for configuration

## Configuration

The server requires the following configuration:

- `lifiApiKey` (required): Your LI.FI API key for authentication
- `debug` (optional): Enable debug logging (default: false)

## Development

Start the development server:
```bash
npm run dev
```

This will start the MCP server using Smithery CLI with hot reloading enabled.

## Usage

### With MCP-Compatible Applications

This server can be used with any application that supports the Model Context Protocol, such as:

- Claude Desktop
- MCP-enabled IDEs
- Custom MCP clients

### Example Configuration

For Claude Desktop, add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "lifi": {
      "command": "node",
      "args": ["path/to/lifi-mcp-server/dist/index.js"],
      "env": {
        "LIFI_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### Tool Examples

**Get supported chains:**
```
lifi_get_chains
```

**Get tokens for specific chains:**
```
lifi_get_tokens(chains: "1,137,42161")
```

**Check transaction status:**
```
lifi_get_transaction_status(txHash: "0x...")
```

**Get gas prices:**
```
lifi_get_gas_prices(chainId: "1")
```

## API Reference

### Chain Operations
- `lifi_get_chains(chainTypes?)` - List supported blockchain networks

### Token Operations  
- `lifi_get_tokens(chains?, chainTypes?, minPriceUSD?)` - Get token information
- `lifi_get_token(chain, token)` - Get specific token details

### Infrastructure
- `lifi_get_tools(chains?)` - List available bridges and exchanges
- `lifi_get_connections(fromChain?, toChain?, fromToken?, toToken?, allowBridges?, denyBridges?, allowExchanges?, denyExchanges?)` - Get connection information

### Gas & Pricing
- `lifi_get_gas_prices(chainId)` - Get current gas prices
- `lifi_get_gas_suggestion(chain, fromChain?, fromToken?)` - Get gas recommendations

### Transaction Management
- `lifi_get_transaction_status(txHash?, transactionId?)` - Track transaction status
- `lifi_get_integrator_fee_withdrawal(integratorId, chainId, tokens?)` - Manage fee withdrawals

## Tech Stack

- **Runtime**: TypeScript
- **MCP SDK**: @modelcontextprotocol/sdk
- **HTTP Client**: node-fetch
- **Validation**: Zod
- **Development**: Smithery CLI

## Error Handling

The server includes comprehensive error handling for:
- API authentication failures
- Network connectivity issues
- Invalid parameter validation
- LI.FI API errors and rate limits

All errors are returned as structured responses with descriptive messages.

## Security

- API keys are required and validated at connection time
- All requests use HTTPS
- Input validation using Zod schemas
- No sensitive data is logged in production

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

## License

ISC

## Support

For issues related to:
- **This MCP Server**: Create an issue in this repository
- **LI.FI API**: Visit [LI.FI Documentation](https://docs.li.fi/)
- **Model Context Protocol**: Visit [MCP Documentation](https://modelcontextprotocol.io/)

## Changelog

### v1.0.0
- Initial release with full LI.FI API integration
- Support for all major LI.FI endpoints
- Comprehensive error handling and validation