内容
# Fraxlend MCP 服务器
[](https://www.npmjs.com/package/@iqai/mcp-fraxlend)
[](https://opensource.org/licenses/MIT)
## 概述
Fraxlend MCP 服务器使 AI 代理能够与 [Fraxlend](https://frax.finance)(一个 Fraxtal 上的 DeFi 借贷协议)进行交互。该服务器提供对借贷池的全面访问,允许代理查看统计数据、借出资产、借入资产、管理抵押品、偿还贷款和提取资金。
通过实施模型上下文协议(MCP),该服务器允许大型语言模型(LLM)与 Fraxlend 池进行交互、管理仓位并直接通过其上下文窗口执行 DeFi 操作。
## 功能
* **池发现**:按资产和抵押代币搜索和筛选 FraxLend 池。
* **借贷操作**:借出资产以赚取借款者的收益。
* **借入资产**:从 Fraxlend 池中借入资产以抵押。
* **抵押品管理**:添加或移除借贷仓位的抵押品。
* **仓位跟踪**:监控跨池的借贷和借入仓位。
* **贷款偿还**:偿还借入资产以减少债务。
## 安装
### 使用 npx(推荐)
无需全局安装即可使用此服务器:
```bash
npx @iqai/mcp-fraxlend
```
### 从源代码构建
```bash
git clone https://github.com/IQAIcom/mcp-fraxlend.git
cd mcp-fraxlend
pnpm install
pnpm run build
```
## 与 MCP 客户端一起运行
在您的 MCP 客户端设置中添加以下配置(例如 `claude_desktop_config.json`)。
### 最小配置
```json
{
"mcpServers": {
"fraxlend": {
"command": "npx",
"args": ["-y", "@iqai/mcp-fraxlend"],
"env": {
"WALLET_PRIVATE_KEY": "您的钱包私钥"
}
}
}
}
```
### 高级配置(本地构建)
```json
{
"mcpServers": {
"fraxlend": {
"command": "node",
"args": ["/绝对路径/to/mcp-fraxlend/dist/index.js"],
"env": {
"WALLET_PRIVATE_KEY": "您的钱包私钥"
}
}
}
}
```
## 配置(环境变量)
| 变量 | 是否必需 | 描述 | 默认值 |
| --- | --- | --- | --- |
| `WALLET_PRIVATE_KEY` | 是 | 用于签署交易的钱包私钥 | - |
**安全注意:** 请极度小心地保管您的私钥。确保它存储安全,并且仅提供给受信任的 MCP 客户端配置。
## 使用示例
### 池发现
* "有哪些可用的 FraxLend 池用于 FRAX?"
* "查找我可以使用 ETH 作为抵押品的池。"
* "显示给我最高 APR 的借贷池。"
### 借贷和借入
* "向 FRAX/sfrxETH 池借出 1000 FRAX。"
* "使用我的 sfrxETH 作为抵押品借入 500 FRAX。"
* "我当前在 FraxLend 中的仓位是什么?"
### 仓位管理
* "向我的借入仓位添加更多抵押品。"
* "从我的仓位中移除多余的抵押品。"
* "偿还 FRAX 池中的贷款。"
* "从池中提取我的借出资产。"
## MCP 工具
<!-- AUTO-GENERATED TOOLS START -->
### `FRAXLEND_ADD_COLLATERAL`
向 FraxLend 仓位添加抵押品
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `pairAddress` | 字符串 | 是 | 要添加为抵押品的资产的合约地址。 |
| `amount` | 字符串 | 是 | 要在 FraxLend 池中添加的资产金额。 |
### `FRAXLEND_BORROW`
从 FraxLend 池中借入资产
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `pairAddress` | 字符串 | 是 | 要出售的代理代币的合约地址。 |
| `receiver` | 字符串 | 是 | 接收借入资产的地址。 |
| `collateralAmount` | 字符串 | 是 | 要在 FraxLend 池中存入的抵押品金额。 |
| `borrowAmount` | 字符串 | 是 | 从 FraxLend 池中借入的资产金额。 |
### `FRAXLEND_GET_PAIR_ADDRESS`
获取 FraxLend 配对地址和池信息
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `assetSymbol` | 字符串 | | 资产代币的符号。 |
| `collateralSymbol` | 字符串 | | 抵押品代币的符号。 |
| `sortByApr` | 字符串 | | 按 APR 排序结果,可以是最高或最低。 |
### `FRAXLEND_GET_POSITIONS`
获取 FraxLend 池中的仓位
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `address` | 字符串 | | 获取仓位的用户地址。 |
### `FRAXLEND_LEND`
向 FraxLend 池借出资产
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `pairAddress` | 字符串 | 是 | 要借出的资产的合约地址。 |
| `amount` | 字符串 | 是 | 要在 FraxLend 池中借出的资产金额。 |
### `FRAXLEND_REMOVE_COLLATERAL`
从 FraxLend 仓位移除抵押品
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `pairAddress` | 字符串 | 是 | 要移除为抵押品的资产的合约地址。 |
| `amount` | 字符串 | 是 | 要从 FraxLend 池中移除的抵押品金额。 |
### `FRAXLEND_REPAY`
偿还借入的资产到 FraxLend 池
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `pairAddress` | 字符串 | 是 | 要偿还的资产的合约地址。 |
| `amount` | 字符串 | 是 | 要在 FraxLend 池中偿还的资产金额。 |
### `FRAXLEND_WITHDRAW`
从 FraxLend 池中提取资产
| 参数 | 类型 | 是否必需 | 描述 |
| --- | --- | --- | --- |
| `pairAddress` | 字符串 | 是 | 要提取的资产的合约地址。 |
| `amount` | 字符串 | 是 | 要从 FraxLend 池中提取的资产金额。 |
<!-- AUTO-GENERATED TOOLS END -->
## 开发
### 构建项目
```bash
pnpm run build
```
### 开发模式(监听)
```bash
pnpm run watch
```
### linting 和格式化
```bash
pnpm run lint
pnpm run format
```
### 项目结构
* `src/tools/`:单个工具定义
* `src/services/`:业务逻辑和区块链交互
* `src/lib/`:共享实用程序
* `src/index.ts`:服务器入口点
## 资源
* [Fraxlend 文档](https://docs.frax.finance/fraxlend/fraxlend-overview)
* [模型上下文协议(MCP)](https://modelcontextprotocol.io)
* [Frax Finance](https://frax.finance)
## 免责声明
该项目是一个非官方工具,与 Frax Finance 没有直接关联。它与 DeFi 协议和区块链交易交互。用户应谨慎行事,独立验证所有数据,并了解 DeFi 协议中借贷、借入和管理抵押品的风险。
## 许可证
[MIT](LICENSE)