AramidBridgeMCP
# AramidBridgeMCP
Protocol MCP server for the [Aramid Bridge](https://aramid.finance) — cross-chain bridging between Voi and Algorand.
## Architecture
AramidBridgeMCP is a protocol-level MCP that sits above the infrastructure MCP layer:
```
UluCoreMCP / UluWalletMCP / UluBroadcastMCP
↓
AramidBridgeMCP
↓
On-chain (writes)
```
**AramidBridgeMCP handles:**
- Asset discovery with bridge routes between Voi and Algorand
- Transaction preparation for bridging native tokens and ASAs
- Automatic 0.1% fee calculation
**AramidBridgeMCP does NOT:**
- Sign transactions (use UluWalletMCP)
- Broadcast transactions (use UluBroadcastMCP)
- Manage wallets
## Tools
### Asset Discovery
| Tool | Description |
|------|-------------|
| `get_supported_assets` | List bridgeable assets with source/destination token IDs and routes |
### Transaction Preparation
| Tool | Description |
|------|-------------|
| `bridge_txn` | Build unsigned bridge transaction for Voi ↔ Algorand transfers |
## Agent Workflow
```
Agent calls AramidBridgeMCP: bridge_txn(chain, symbol, amount, sender, destinationAddress)
→ returns { transactions: [base64, ...] }
Agent calls UluWalletMCP: wallet_sign_transactions(signerId, transactions)
→ returns signed transactions
Agent calls UluBroadcastMCP: broadcast_transactions(network, txns)
→ returns transaction IDs
```
## Chain Support
All tools accept a `chain` parameter:
- `"voi"` — Voi mainnet (chain ID 416101)
- `"algorand"` — Algorand mainnet (chain ID 416001)
## Supported Assets
| Symbol | Name | Voi Asset ID | Algorand Asset ID |
|--------|------|-------------|-------------------|
| VOI | Voi | 0 (native) | 2320775407 (aVOI) |
| ALGO | Algorand | 302189 (aALGO) | 0 (native) |
| USDC | USD Coin | 302190 (aUSDC) | 31566704 |
| ETH | Ethereum | 302193 (aETH) | 770071959 (aETH) |
| cbBTC | Coinbase BTC | 40152648 (acbBTC) | 3081230356 (acbBTC) |
| WBTC | Wrapped BTC | 40152643 (aWBTC) | 3081228451 (aWBTC) |
| UNIT | UNIT | 40266690 | 3121954282 |
| POW | Power | 40152679 | 2994233666 |
| GOLD | Gold | 302228 (aGOLD) | 1241944285 |
| VOTE | Vote Coin | 797372 (aVOTE) | 452399768 |
| FINITE | DeFi-nite | 797369 | 400593267 |
| AMMO | Ammo | 40266675 | 3121959207 |
| COOP | Coop Coin | 40266636 | 796425061 |
| CORN | Corn Coin | 40266686 | 3121962516 |
*Plus BALLSACK, BLAPU, GEMS, GPEPE, JIMMY, PANDA, TURTLE*
## Bridge Details
- **Bridge Address:** `ARAMIDFJYV2TOFB5MRNZJIXBSAVZCVAUDAPFGKR5PNX4MTILGAZABBTXQQ`
- **Fee:** 0.1% fixed fee deducted from bridged amount
- **Delivery:** Automatic on AVM destinations (no claim step required)
- **Protocol:** Aramid transfer note format (`aramid-transfer/v1:j{...}`)
## Project Structure
```
index.js MCP server entry point (2 tools)
lib/
client.js Algod client factory
assets.js Asset lookup and route resolution
bridge.js Bridge transaction builder
data/
config.json Chain configs, bridge address, and supported asset pairs
```
## Setup
```bash
npm install
```
## Run
```bash
node index.js
```
Or configure as an MCP server in your agent:
```json
{
"mcpServers": {
"aramid-bridge": {
"command": "node",
"args": ["/path/to/AramidBridgeMCP/index.js"]
}
}
}
```
## Documentation
- [Aramid Finance Docs](https://docs.aramid.finance/)
- [Supported Networks and Assets](https://docs.aramid.finance/docs/supported-networks-and-assets)
- [Fee Structure](https://docs.aramid.finance/docs/fee-structure)
- [Using the Bridge](https://docs.aramid.finance/docs/using-aramid-bridge)
TDQS
Scored across 2 tools
get_supported_assets is a read-only query for available assets and routes; bridge_txn is a transaction builder. Their purposes are clearly distinct with no overlap, so an agent can easily select the right tool.
Both tools use snake_case with a consistent verb_noun pattern: get_supported_assets and bridge_txn. The abbreviation 'txn' is minor and does not break the pattern.
Only 2 tools are provided, which is below the typical 3-15 range. While each tool earns its place for a minimal bridge service, the count feels thin for a production bridging MCP.
The surface covers asset discovery and transaction building but lacks tools for checking bridge status, estimating fees, or retrieving transaction history. These are notable gaps for a bridge lifecycle, though signing is delegated to UluWalletMCP.