MCP BAMM
Interact with Borrow Automated Market Maker (BAMM) contracts on the Fraxtal blockchain.
- Package:
@iqai/mcp-bamm - Provider: IQ AI
Overview
The BAMM MCP server enables your agent to interact with Borrow Automated Market Maker contracts on the Fraxtal blockchain. It supports managing BAMM positions, adding or removing collateral, borrowing against LP tokens, and querying pool data — all through natural language.
Private Key Security
This server signs on-chain transactions using your wallet private key. Never commit your private key to source control. Always load it from a secure environment variable.
Getting Started
Install the package:
pnpm add @iqai/mcp-bammUse the server in your agent:
import { McpBamm } from "@iqai/adk";
const toolset = McpBamm({
env: {
WALLET_PRIVATE_KEY: process.env.WALLET_PRIVATE_KEY,
},
});
const tools = await toolset.getTools();import { McpToolset } from "@iqai/adk";
const toolset = new McpToolset({
name: "BAMM MCP Client",
description: "Client for BAMM DeFi operations on Fraxtal",
transport: {
mode: "stdio",
command: "npx",
args: ["-y", "@iqai/mcp-bamm"],
env: {
WALLET_PRIVATE_KEY: process.env.WALLET_PRIVATE_KEY,
PATH: process.env.PATH || "",
},
},
});
const tools = await toolset.getTools();{
"mcpServers": {
"bamm-mcp-server": {
"command": "npx",
"args": ["-y", "@iqai/mcp-bamm"],
"env": {
"WALLET_PRIVATE_KEY": "your_wallet_private_key_here"
}
}
}
}Environment Variables
| Variable | Required | Description |
|---|---|---|
WALLET_PRIVATE_KEY | Yes | Private key of the wallet used to sign BAMM transactions |
Available Tools
ADD_COLLATERALbammAddress:stringamount:stringcollateralToken:stringcollateralTokenSymbol:string
ADD_COLLATERALDescription
Add collateral to your BAMM position
BORROWbammAddress:stringamount:stringborrowToken:stringborrowTokenSymbol:string
BORROWDescription
Borrow tokens from a BAMM position
GET_POSITIONSNo parameters
GET_POSITIONSNo parameters
Description
Get all your active BAMM positions
LENDbammAddress:stringamount:string
LENDDescription
Lend Fraxswap LP tokens to a BAMM contract
POOL_STATSNo parameters
POOL_STATSNo parameters
Description
Get statistics for all BAMM pools
REMOVE_COLLATERALbammAddress:stringamount:stringcollateralToken:stringcollateralTokenSymbol:string
REMOVE_COLLATERALDescription
Remove collateral from your BAMM position
REPAYbammAddress:stringamount:stringborrowToken:stringborrowTokenSymbol:string
REPAYDescription
Repay borrowed tokens to a BAMM position
Integration Example
import { AgentBuilder, McpBamm } from "@iqai/adk";
import * as dotenv from "dotenv";
dotenv.config();
async function main() {
// Initialize McpBamm toolset
const toolset = McpBamm({
env: {
WALLET_PRIVATE_KEY: process.env.WALLET_PRIVATE_KEY,
},
});
// Get available McpBamm tools
const bammTools = await toolset.getTools();
// Create agent with McpBamm tools
const { runner } = await AgentBuilder.create("bamm_agent")
.withModel("gemini-2.5-flash")
.withDescription("A DeFi agent that manages BAMM positions on Fraxtal")
.withTools(...bammTools)
.build();
const response = await runner.ask(
"Add 100 FRAX as collateral to BAMM position at 0xC5B225cF058915BF28D7d9DFA3043BD53C63Ea84",
);
console.log(response);
}
main().catch(console.error);