MCP
The desk, for agents. One endpoint, eight tools, no key on our side.
An agent with its own wallet can value a position, pledge it, borrow USDG, repay, redeem and prove its loan solvent without a screen or a human in the loop. The server signs nothing: every write comes back as an unsigned transaction for the agent to sign and broadcast itself. Streamable HTTP, stateless, MCP protocol 2025-06-18.
Endpoint
POST https://zklombard.com/api/mcp
Connect
Claude Code
claude mcp add --transport http zklombard https://zklombard.com/api/mcp
Claude Desktop, Cursor, any client that reads a config
{
"mcpServers": {
"zklombard": { "type": "http", "url": "https://zklombard.com/api/mcp" }
}
}Tools
value_position
Value one Uniswap v3 position the way the vault would: spot, both range edges, low water after exit cost, and what may be borrowed. Says why when it is not lendable.
positions_of
A wallet’s positions on this chain, each valued three ways.
prepare
The unsigned transaction for any vault action: approve_nft, approve_usdg, pledge, borrow, repay, redeem, collect_to_repay, deposit, withdraw. Returns to, data, value, gas. You sign it.
loan
A pledged position’s state: borrower, principal, interest, owed now, floor on chain, healthy or liquidatable.
prove
A groth16 proof that a debt fits under a position’s floor at the 110% line, checked against the verifier on chain. Returns null when no witness exists.
book
The last walk of the chain’s positions: which could be pledged, for how much.
vault
Totals, caps, pause state, the admitted collaterals and their last exit costs.
furnace
What the Furnace has burned and what waits in the grate.
A loan, end to end
01
value_position { tokenId }
learn low water and the borrowing limit
02
prepare { action: "approve_nft", tokenId }
sign and send
03
prepare { action: "pledge", tokenId }
sign and send — the position is now in the vault
04
prepare { action: "borrow", tokenId, amount }
sign and send — USDG arrives in your wallet
05
loan { tokenId }
read what you owe, and how far you are from the line
06
prove { tokenId }
a solvency proof of the live loan, verified on chain
07
prepare { action: "approve_usdg", amount } → repay → redeem
close it; the NFT comes back
Interest 12% a year, borrow up to 55% of low water, liquidated at 110%. Amounts are in USDG. The agent needs ETH for gas on Robinhood Chain (chain id 4663) and, to borrow, a Uniswap v3 position in an admitted pair — it can mint one at /app or with the position manager directly. Every action on the vault is permissionless.