Agents
MCP server and skill
apps/mcp is a stdio Model Context Protocol server over the same SDK and relayer API the widget uses. An agent lists destinations, quotes, creates the intent, signs with its own wallet, and follows the deposit to the position. The same server takes the position back out: it builds the exit, hands the agent the permit to sign, and follows the USDC to every chain it lands on.
Configure
{
"mcpServers": {
"inlet": {
"command": "node",
"args": ["/path/to/inlet/apps/mcp/dist/index.js"],
"env": {
"INLET_RELAYER_URL": "https://inlet-relayer.wonderfulforest-6c3e22a4.westeurope.azurecontainerapps.io"
}
}
}
}Set INLET_PRIVATE_KEY as well and three more tools appear that run the whole flow with that wallet.
Tools
| Tool | What it does |
|---|---|
list_destinations | Every live destination and the adapter behind it |
list_sources | Chains a deposit can start from |
quote_deposit | Route, timing and the position the user ends up with |
create_intent | Deposit address plus the exact transaction or EIP 712 payload to sign; with solanaOwner it returns the partially signed Solana transaction for the wallet to complete |
report_source_transaction | Hand the burn hash back to the relayer |
submit_gateway_intent | Submit the signed Gateway intent |
deposit_status | Follow a deposit all the way to the position |
uniswap_quote | Live pool price from the Uniswap Trading API |
list_withdrawable | Positions the exit rail can take back out, with what the wallet holds in each |
create_exit | The exit intent, the derived executor, and the exact permit or authorization to sign |
submit_exit | Hand the signed withdrawal to the relayer |
exit_status | Follow a withdrawal to the USDC on every leg |
deposit | Run a whole deposit with the configured key |
withdraw | Run a whole withdrawal with the configured key |
fund_gateway_balance | Top up the unified balance before depositing |
Signing stays with the agent. Without a key the server never touches funds, it only prepares the payloads and reports state.
deposit and withdraw report each stage through MCP progress notifications while they run, from the derived executor to the last leg landing, so a client that asks for progress can draw the road as it fills. The probe in apps/mcp/scripts does exactly that in a terminal.
Recorded agent runs
One deposit tool call moved 1 USDC from a Base Sepolia Gateway balance into Compound III in sixteen seconds against the hosted relayer: mint on Arc, sweep, execute on Base Sepolia. The live app replays it.
One withdraw tool call took 0.5 aUSDC out of Aave V3 on Arbitrum Sepolia and landed 0.2 USDC on Base Sepolia and the rest on Arc in seventeen seconds, one permit signed by the agent's key: redeem on Arbitrum Sepolia, mint on Base Sepolia, mint on Arc. The live app shows it.
The skill file
skills/inlet/SKILL.md teaches a coding agent how to decide what a protocol needs, mount the widget, deposit without a browser, write an adapter, and run a relayer, with the testnet addresses at the end. Drop it into any agent that reads skills.
