内容
# BAMM 中心化服务器
[](https://www.npmjs.com/package/@iqai/mcp-bamm)
[](https://opensource.org/licenses/MIT)
## 概述
BAMM 中心化服务器使 AI 代理能够与 Fraxtal 区块链上的 Borrow Automated Market Maker (BAMM) 合约进行交互。该服务器提供对 BAMM 头寸、借贷和抵押管理操作的全面访问。
通过实施模型上下文协议(MCP),该服务器允许大型语言模型(LLM)直接通过其上下文窗口管理 BAMM 头寸、借用 LP 代币以及执行与 BAMM 协议相关的其他操作。
## 功能
* **头寸管理**:查看和管理您在所有资金池中的活跃 BAMM 头寸。
* **借贷操作**:向 BAMM 合约借出 Fraxswap LP 代币以赚取收益。
* **借款**:从您的 BAMM 头寸中借用代币。
* **抵押管理**:添加或删除您的 BAMM 头寸的抵押品。
* **资金池分析**:访问所有 BAMM 资金池的统计数据。
## 安装
### 使用 npx(推荐)
要使用此服务器而不全局安装:
```bash
npx @iqai/mcp-bamm
```
### 从源代码构建
```bash
git clone https://github.com/IQAIcom/mcp-bamm.git
cd mcp-bamm
pnpm install
pnpm run build
```
## 使用 MCP 客户端运行
在您的 MCP 客户端设置中添加以下配置(例如 `claude_desktop_config.json`)。
### 最小配置
```json
{
"mcpServers": {
"bamm": {
"command": "npx",
"args": ["-y", "@iqai/mcp-bamm"],
"env": {
"WALLET_PRIVATE_KEY": "your_wallet_private_key_here"
}
}
}
}
```
### 高级配置(本地构建)
```json
{
"mcpServers": {
"bamm": {
"command": "node",
"args": ["/absolute/path/to/mcp-bamm/dist/index.js"],
"env": {
"WALLET_PRIVATE_KEY": "your_wallet_private_key_here"
}
}
}
}
```
## 配置(环境变量)
| 变量 | 是否必需 | 描述 | 默认值 |
| :--- | :--- | :--- | :--- |
| `WALLET_PRIVATE_KEY` | 是 | 用于签署交易的钱包私钥 | - |
**安全注意:** 请极度小心地处理您的私钥。确保它存储安全,并且仅提供给受信任的 MCP 客户端配置。
## 使用示例
### 头寸管理
* "我的当前 BAMM 头寸是什么?"
* "显示所有 BAMM 资金池的统计数据。"
### 借贷和借款
* "向地址 0x... 的 BAMM 借出 100 个 LP 代币。"
* "从我的 BAMM 头寸中借用 50 FRAX。"
* "偿还 25 FRAX 给我的 BAMM 头寸。"
### 抵押品操作
* "向我的 BAMM 头寸添加 100 FRAX 作为抵押品。"
* "从我的头寸中移除 50 USDC 抵押品。"
* "从 BAMM 中提取我的 LP 代币。"
## MCP 工具
<!-- AUTO-GENERATED TOOLS START -->
### `添加抵押品`
向您的 BAMM 头寸添加抵押品
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `bammAddress` | 字符串 | 是 | BAMM 合约的地址 |
| `amount` | 字符串 | 是 | 要添加的抵押品数量 |
| `collateralToken` | 字符串 | | 抵押品代币的地址 |
| `collateralTokenSymbol` | 字符串 | | 抵押品代币的符号(例如,'IQT') |
### `借款`
从 BAMM 头寸中借款
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `bammAddress` | 字符串 | 是 | BAMM 合约的地址 |
| `amount` | 字符串 | 是 | 要借款的数量 |
| `borrowToken` | 字符串 | | 要借款的代币地址 |
| `borrowTokenSymbol` | 字符串 | | 要借款的代币符号(例如,'IQT') |
### `借出`
向 BAMM 合约借出 Fraxswap LP 代币
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `bammAddress` | 字符串 | 是 | BAMM 合约的地址 |
| `amount` | 字符串 | 是 | 要借出的 LP 代币数量 |
### `移除抵押品`
从您的 BAMM 头寸中移除抵押品
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `bammAddress` | 字符串 | 是 | BAMM 合约的地址 |
| `amount` | 字符串 | 是 | 要移除的抵押品数量 |
| `collateralToken` | 字符串 | | 抵押品代币的地址 |
| `collateralTokenSymbol` | 字符串 | | 抵押品代币的符号(例如,'IQT') |
### `偿还`
偿还借款代币到 BAMM 头寸
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `bammAddress` | 字符串 | 是 | BAMM 合约的地址 |
| `amount` | 字符串 | 是 | 要偿还的数量 |
| `borrowToken` | 字符串 | | 要偿还的代币地址 |
| `borrowTokenSymbol` | 字符串 | | 要偿还的代币符号(例如,'IQT') |
### `提现`
通过赎回 BAMM 代币从 BAMM 合约中提现 LP 代币
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `bammAddress` | 字符串 | 是 | BAMM 合约的地址 |
| `amount` | 字符串 | 是 | 要提现的 BAMM 代币数量 |
<!-- AUTO-GENERATED TOOLS END -->
## 开发
### 构建项目
```bash
pnpm run build
```
### 开发模式(监听)
```bash
pnpm run watch
```
### 代码检查和格式化
```bash
pnpm run lint
pnpm run format
```
### 项目结构
* `src/tools/`:单个工具定义
* `src/services/`:API 客户端和业务逻辑
* `src/lib/`:共享实用程序
* `src/index.ts`:服务器入口点
## 资源
* [BAMM 文档](https://docs.frax.finance/frax-lending/bamm)
* [模型上下文协议(MCP)](https://modelcontextprotocol.io)
* [Fraxtal 网络](https://frax.finance)
## 免责声明
该项目与区块链智能合约交互并处理加密货币交易。用户应谨慎行事,独立验证所有数据,并了解 DeFi 操作涉及的风险。
## 许可证
[MIT](LICENSE)