Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Hyperliquid perps for AI agents. The agent trades; the keys stay offline in Locker Vault.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
LPA_HOMEYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"agentic": {
"command": "npx",
"args": [
"-y",
"@locker-protocol/agent-wallet-hyperliquid-trader-mcp"
],
"env": {
"LPA_HOME": "your-value"
}
}
}
}Run this in your terminal
claude mcp add agentic --env LPA_HOME=your-value -- npx -y @locker-protocol/agent-wallet-hyperliquid-trader-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"agentic": {
"command": "npx",
"args": [
"-y",
"@locker-protocol/agent-wallet-hyperliquid-trader-mcp"
],
"env": {
"LPA_HOME": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"agentic": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@locker-protocol/agent-wallet-hyperliquid-trader-mcp"
],
"env": {
"LPA_HOME": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
LPA_HOME envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account locker-protocol, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.5.0) reached the registry 17 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, debuff
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Your private key is nowhere: not on our servers, not on the agent's machine, not with anyone.
The agent trades. It holds nothing.
Documentation: doc.lockerprotocol.com/agent-wallet: install, the setup in steps, how it trades and every command. Website: hyperagentictrader.com.
Locker Protocol Agentic is an agent wallet for Hyperliquid perps: the lpa command for people and for AI agents, an MCP server, and two SDK packages. It comes with a simulation account on the real order book, a local policy checked before every order, and every movement of funds signed on the phone.
This repository is its home: the documentation, the changelog, the release log with the SHA-256 of every tarball, and the issue tracker. The four npm packages point their repository field here. The source is not published.
Three places, and one rule: the key that owns the money never leaves the phone.
PHONE (offline) THIS COMPUTER HYPERLIQUID
+--------------------+ +-----------------------------------+ +----------------+ | Locker Vault | | lpa <- you, a script, or an AI | | | | | | | agent (shell or MCP) | | order book | | holds the ACCOUNT | | | | | | | key; it never | QR | | 1. quote on the live book | | your account | | leaves the phone |<---->| | 2. local policy | | | | |codes | | 3. your go | | | | signs: the agent's | | v | | | | approval, deposits,| | guardian (background process) | | | | withdrawals, dex | | holds the AGENT key in memory, |----->| orders, | | transfers, revoke | | checks the policy again, signs | | cancels, | +--------------------+ | trading actions only | | leverage, | +-----------------------------------+ | TP/SL | +----------------+
lpa init, approved once by the vault, sealed on disk under a password. Hyperliquid lets it trade, and refuses it every withdrawal and every send. It expires on its own.lpa unlock starts. It holds the agent key in memory, checks every order against the policy a second time, and against the mandate once you sign one on the phone, and signs only a closed list of trading actions. It answers only requests that carry the token it writes at start, which a plugin cannot read. The agent that calls lpa never sees the password nor the key.| What | Signed by | Where |
|---|---|---|
| Markets, quotes, positions, balances | nobody | public reads |
| Simulated orders | nobody | simulated on the computer, on the live book |
| Open, close, cancel, modify | the agent key, in the guardian | after the quote, the policy and your go |
| Approve the agent, revoke it | your wallet: Locker Vault, or the extension or mobile wallet you chose | QR ceremony on the phone, or a request you approve in your wallet |
| Deposit, withdraw, move margin between dexes | your wallet | the same |
| The mandate: the agent's limits, signed once | your wallet | the same |
| A live copy's orders | the agent key, in the guardian | under the policy and the mandate that names the trader |
| A plugin's commands | nothing for the real account | a separate process that reads its own folder only |
The drawing above follows Locker Vault, the safest way and the one we recommend. lpa setup asks how your account signs, Locker Vault first; lpa init --with vault|browser|mobile says it on one line, and lpa signer show says it afterwards.
| Way | What you need | What leaves this computer |
|---|---|---|
| Locker Vault, the safest, recommended | Locker Vault on a phone or tablet kept offline, a webcam | nothing: requests and answers travel as QR codes |
| Your browser extension (MetaMask, Rabby) | the extension, in the browser that opens the local page of lpa | nothing more: the extension signs on that page |
| Your mobile wallet | the wallet on your phone: you scan a WalletConnect QR once, then approve each request there | the requests, end-to-end encrypted, through WalletConnect's relay, which sees this computer's IP address and the time |
With an extension or a mobile wallet, the account is proven first, before any money, by one signature that moves nothing, checked here and sent nowhere; an address that is a contract is refused. Those two are online wallets and show a typed signature as raw fields, so the local page says what your wallet will show, field by field. Locker Vault keeps the key on a device that is never online and shows every request in words. lpa signer use changes the way for the same address; the agent key and the mandate stay.
MANDATE_OUTDATED) until you sign it again with lpa mandate sign. The guardian checks it before every opening and never lets it widen the local policy. The folder remembers the highest mandate signed and the revocation, so a file gone, an older one put back or a revoked one opens nothing, in this guardian and the next; lpa mandate revoke stops every opening until you sign a new one, and lpa mandate release (your password) goes back to the local policy alone.lpa copy start --live) mirrors a trader on the real account. It needs the guardian unlocked by you and a mandate that names the trader, with room in its copy budget. Each order goes through the policy and the mandate like yours, signed by the agent key, never by the account's key. A reduction the guardian could not place is kept and tried again, never lost; the copy's budget stays counted while its positions are open; your own account is never copied. Simulation stays the default.Measured on Hyperliquid mainnet on 2026-09-28, with an approved agent key:
| Action | Signed by the agent key |
|---|---|
| Place, modify and cancel orders, set leverage | accepted |
withdraw3, usdSend, spotSend, sendAsset, usdClassTransfer | refused |
approveAgent (approve another agent), approveBuilderFee | refused |
vaultTransfer (deposit the account into a vault) | accepted |
A stolen agent key cannot withdraw, but it can lose money: by trading against an accomplice on a thin market, or by depositing the account into a vault run by someone else. lpa never signs vaultTransfer (its guardian signs a closed list of trading actions), but a thief with the key and the password does not need lpa. The real bound is a dedicated account that holds only what you are ready to risk.
How this compares with the other agent wallets, quote by quote and source by source: COMPARISON.md.
Each package's page on npm is its complete reference: how it works, then every command, tool or function with an example.
| Package | What it is | Reference |
|---|---|---|
@locker-protocol/agent-wallet-hyperliquid-trader | The lpa command: an agent wallet for Hyperliquid perps whose keys stay offline in Locker Vault. Also a library. | npm |
@locker-protocol/agent-wallet-hyperliquid-trader-mcp | The MCP server: the same commands as 42 tools over stdio, and the tools of the plugins you install, for Claude Code, Cursor, Codex and any MCP client. | npm |
@locker-protocol/agent-wallet-hyperliquid-signer | Hyperliquid signing, orders, account reads and live data, for programs whose keys stay in Locker Vault. ESM and CommonJS, with types. | npm |
@locker-protocol/agent-wallet-vault | The codec of Locker Vault: sign requests and signatures as QR codes, account sync. ESM and CommonJS, with types. | npm |
The four versions move together, one version per release. Node 22.13 or later for the wallet and the MCP server; the two SDKs alone run on any Node 22.
What gets installed where: the one-line installers put lpa and the MCP server in ~/.lpa, on one copy of the packages, with two launchers, lpa and locker-mcp, so both always run the same version. npm install -g installs lpa alone; an MCP client can then fetch the server with npx at @latest, the newest release at each start: when a version comes out, run the installer again so that lpa follows. Either way they share the ~/.lpa folder and the guardian, and a guardian signs nothing for a program of another version.
npm install -g @locker-protocol/agent-wallet-hyperliquid-trader@latest
Or the one-line installers, which fetch Node when it is missing and put everything in ~/.lpa, with no administrator rights.
On macOS and Linux:
curl -fsSL https://hyperagentictrader.com/agent-wallet-install.sh | sh
On Windows (PowerShell):
irm https://hyperagentictraOnly the beginning is shown; read the rest in the repo