DorkFiMCP
Provides tools for interacting with the DorkFi lending protocol on Algorand, including market discovery, user position queries, liquidation scanning, TVL analytics, and transaction preparation (deposit, borrow, repay, withdraw, liquidate).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DorkFiMCP list all Voi lending markets"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DorkFiMCP
Protocol MCP server for the DorkFi lending protocol on Voi and Algorand.
Architecture
DorkFiMCP is a protocol-level MCP that sits above the infrastructure MCP layer:
UluCoreMCP / UluVoiMCP / UluAlgorandMCP / UluWalletMCP / UluBroadcastMCP
↓
DorkFiMCP
↓
DorkFi API (reads)
On-chain (writes)Data sources:
DorkFi API (
dorkfi-api.nautilus.sh) — Pre-indexed market data, user health factors, TVL, and position data. Used for all read operations.On-chain (algod) — Used for transaction preparation (suggested params, ABI encoding).
DorkFiMCP handles:
Market discovery with live data from the DorkFi API
User position queries with pre-computed health factors
Liquidation candidate scanning (202+ indexed users on Voi)
TVL analytics across all chains and pools
Transaction preparation (unsigned)
DorkFiMCP does NOT:
Sign transactions (use UluWalletMCP)
Broadcast transactions (use UluBroadcastMCP)
Manage wallets
Related MCP server: AramidBridgeMCP
Tools
Markets
Tool | Description |
| List lending markets with live rates, deposits, borrows, and prices |
| Get total value locked per market and aggregate totals |
Positions
Tool | Description |
| Get a user's positions with per-pool health factors |
| Check health factor and risk level per pool |
Liquidations
Tool | Description |
| Find undercollateralized accounts from pre-indexed health data |
Transaction Preparation
Tool | Description |
| Build unsigned transactions to deposit (supply) tokens |
| Build unsigned transactions to borrow tokens |
| Build unsigned transactions to repay debt |
| Build unsigned transactions to withdraw supplied tokens |
| Build unsigned transactions to liquidate a position |
Agent Workflow
Agent calls DorkFiMCP: deposit_txn(chain, symbol, amount, sender)
→ returns { transactions: [base64, ...] }
Agent calls UluWalletMCP: wallet_sign_transactions(signerId, transactions)
→ returns signed transactions
Agent calls UluBroadcastMCP: broadcast_transactions(network, txns)
→ returns transaction IDsChain Support
All tools accept a chain parameter:
"voi"— Voi mainnet (pools: 47139778, 47139781)"algorand"— Algorand mainnet (pools: 3333688282, 3345940978)
Project Structure
index.js MCP server entry point (11 tools)
lib/
api.js DorkFi API client (dorkfi-api.nautilus.sh)
client.js Algod client factory, ABI definitions, simulation helpers
markets.js Market data from API with symbol resolution
positions.js User positions and health factors from API
liquidation.js Liquidation candidates from pre-indexed health data
builders.js Unsigned transaction group builders (on-chain)
data/
contracts.json Chain configs, pool IDs, and token definitionsSetup
npm installRun
node index.jsOr configure as an MCP server in your agent:
{
"mcpServers": {
"dorkfi": {
"command": "node",
"args": ["/path/to/DorkFiMCP/index.js"]
}
}
}DorkFi API
Read operations use the DorkFi API which provides pre-indexed data:
Endpoint | Used by |
|
|
|
|
|
|
|
|
Supported Markets
Voi (22 markets across 2 pools)
Pool 47139778: VOI, aUSDC, UNIT, POW, aALGO, aETH, aBTC, acbBTC, WAD (borrow-only)
Pool 47139781: WAD, GM, CORN, SHELLY, BUIDL, F, NODE, AMMO, IAT, bVOI, NV, EV, FV
Algorand (29 markets across 2 pools)
Pool 3333688282: ALGO, USDC, UNIT, POW, goBTC, aVOI, wBTC, goETH, wETH, LINK, SOL, AVAX, WAD (borrow-only)
Pool 3345940978: WAD, FINITE, FOLKS, COOP, HOG, USDt, xUSD, MONKO, HAY, BRO, ALPHA, COMPX, AKTA, PEPE, GOLD$, TINY
On-Chain ABI
Transaction preparation uses the verified ABI from DorkFiLendingPoolClient.ts:
Method | Signature |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Known Limitations
WAD in multiple pools — WAD appears in two pools per chain.
findMarketreturns the first match. For borrow-only WAD pools, specify the pool ID explicitly if needed.Transaction groups — The
prepare_*tools build simplified transaction groups. The DorkFi frontend usesulujsCONTRACT class for more sophisticated group construction with automatic box funding and resource sharing.Price scale — Prices from the API use 18 decimal precision referenced against aUSDC = 1,000,000. USD values in health/position responses are approximated by dividing raw values by 10^12.
API freshness — Read data comes from the DorkFi API which periodically refreshes from on-chain state. For the most current data, the API's POST endpoints can trigger a fresh blockchain query.
Available Tools
10 toolsborrow_txnA
Build unsigned transactions to borrow tokens from a DorkFi lending market. Requires sufficient collateral. Returns base64-encoded transactions for signing.
Inputs: chain (required), amount (required), sender (required), symbol (required).
deposit_txnA
Build unsigned transactions to deposit (supply) tokens into a DorkFi lending market. Returns base64-encoded transactions for signing via UluWalletMCP.
Inputs: chain (required), amount (required), sender (required), symbol (required).
get_health_factorA
Check a user's health factor and risk level per pool. Health factor <= 1.0 means the position is liquidatable.
Inputs: chain (required), address (required).
get_liquidation_candidatesA
Find accounts eligible for liquidation using pre-indexed health data. Returns those below the health factor threshold.
Inputs: chain (required), limit, addresses, threshold.
get_marketsA
List DorkFi lending markets with live data (rates, deposits, borrows, prices). Optionally filter by symbol.
Inputs: chain (required), symbol.
get_positionA
Get a user's DorkFi lending positions across all markets. Returns per-pool health factors and portfolio summary.
Inputs: chain (required), address (required), symbol.
get_tvlA
Get total value locked (TVL) across DorkFi lending pools. Returns TVL per market and aggregate totals.
Inputs: chain.
liquidate_txnA
Build unsigned transactions to liquidate an undercollateralized position. The liquidator repays part of the debt and receives collateral at a bonus. Returns base64-encoded transactions for signing.
Inputs: chain (required), amount (required), sender (required), borrower (required), +2 more.
repay_txnA
Build unsigned transactions to repay borrowed tokens to a DorkFi lending market. Returns base64-encoded transactions for signing.
Inputs: chain (required), amount (required), sender (required), symbol (required).
withdraw_txnA
Build unsigned transactions to withdraw supplied tokens from a DorkFi lending market. Returns base64-encoded transactions for signing.
Inputs: chain (required), amount (required), sender (required), symbol (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes: market data, positions, health checks, liquidation candidates, and transaction builders for specific actions. However, get_health_factor overlaps with get_position since get_position already returns per-pool health factors, creating minor ambiguity.
Naming follows a consistent verb_noun pattern: get_ for read operations and <action>_txn for transaction builders. This makes the tool set predictable and easy to navigate.
At 10 tools, the server is well-scoped for a lending protocol. It covers market discovery, position monitoring, liquidation screening, and all core lending actions without unnecessary bloat.
The tool surface covers the full lending lifecycle: deposit, borrow, repay, withdraw, and liquidate, plus the necessary read operations for markets, positions, health, and liquidation candidates. No obvious dead-end workflows remain for the stated domain.
Maintenance
Related MCP Connectors
Official Aave MCP for V3 and V4 markets, positions, governance, and transaction preparation.
Market data for agents: perps, OI, funding, Solana wallet swaps. Paid per call in USDC over x402.
Analyse crypto wallets (EVM, Solana, Bitcoin) and compare DeFi lending, borrowing and pool rates.
Read-only THORChain swap quotes, liquidity pools, and network status.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables interaction with the DorkFi lending protocol on Voi and Algorand, supporting market queries, user positions, liquidation scanning, TVL analytics, and transaction preparation.21MIT
- AlicenseAqualityDmaintenanceEnables cross-chain bridging between Voi and Algorand networks, providing asset discovery and unsigned bridge transaction preparation.2MIT
- AlicenseBqualityDmaintenanceProvides normalized reads and unsigned transaction payloads for ASA, ARC-200, and ARC-72 assets on Algorand and Voi mainnets via the Model Context Protocol.29MIT

Syeniteofficial
FlicenseNot gradedqualityCmaintenanceA DeFi MCP server enabling AI agents to query lending rates, execute swaps/bridges, monitor positions, and access prediction markets across 30+ chains with a trust layer for calldata verification.-