Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
Hyperliquid execution for AI agents: limits, human approval, kill switch. Keyless demo + live paper.
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.
OMX_CONFIGYou 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": {
"omx-hyperliquid-trading": {
"command": "uvx",
"args": [
"omx-hyperliquid"
],
"env": {
"OMX_CONFIG": "your-value"
}
}
}
}Run this in your terminal
claude mcp add omx-hyperliquid-trading --env OMX_CONFIG=your-value -- uvx omx-hyperliquidFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"omx-hyperliquid-trading": {
"command": "uvx",
"args": [
"omx-hyperliquid"
],
"env": {
"OMX_CONFIG": "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": {
"omx-hyperliquid-trading": {
"type": "stdio",
"command": "uvx",
"args": [
"omx-hyperliquid"
],
"env": {
"OMX_CONFIG": "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.
OMX_CONFIG 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 8, 2026
The registry name was verified with the GitHub account Lumen-Founder, 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 (0.1.8) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
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.
OMX is a non-custodial execution engine for Hyperliquid perpetuals. It runs on your own machine, turns an order intent (market, limit, TWAP, POV, chase, or Hyperliquid's own TWAP when you turn it on) into child orders, checks every child against a pre-trade policy you configure, and writes every decision to a hash-chained audit log. A command line and an MCP server let a human or an AI agent drive it inside those limits.
OMX makes no claim about trading performance or profit. It is execution plumbing with guard rails.
| You worry about | What OMX does |
|---|---|
| Your keys | Signs only with a Hyperliquid API (agent) wallet you create in your own account; never asks for your main key or seed. The config holds the key file's path, not the key. No withdrawal or transfer code. |
| Limits | Every child order is checked locally: coin allowlist, liquidity and depth, price band and slippage, per-coin and account notional (resting orders included), leverage, daily loss, data age. The engine refuses any child the policy rejects. No MCP tool can change limits; they come from the config the daemon loaded. An agent that also has shell or file access as your OS user could edit that file, so run such agents under another OS user (trust boundary). |
| Human approval | An agent intent above approval_above_usd, or beyond the agent's daily budget, waits for you: omx approvals approve , then a confirm code typed in the daemon's terminal. Pending approvals expire. |
| Stopping it | Any agent or human can trip the kill switch; it cancels resting OMX orders. Only a human can clear it (omx unkill). |
| Audit | Every decision goes to a hash-chained log; omx audit verify detects tampering. |
| Fees | Optional 1 bp builder fee, charged only after you approve it in your own wallet; --no-builder for none. See docs/FEES.md. |
Path: the keyless demo, then paper trading on live Hyperliquid books (also keyless), then testnet, then mainnet with small size.
One click installs the MCP server in demo mode (a simulated venue in its own process; nothing real can be traded):
Or one line:
claude mcp add omx -- uvx omx-hyperliquid # Claude Code
codex mcp add omx -- uvx omx-hyperliquid # OpenAI Codex CLI gemini mcp add omx uvx omx-hyperliquid # Gemini CLI
/plugin marketplace add Lumen-Founder/omx-hyperliquid-mcp, then /plugin install omx@omx.gemini extensions install https://github.com/Lumen-Founder/omx-hyperliquid-mcp.{"mcpServers": {"omx": {"command": "uvx", "args": ["omx-hyperliquid"]}}}. Claude Desktop keeps it in claude_desktop_config.json (Settings > Developer > Edit Config; Windows %APPDATA%\Claude\, macOS ~/Library/Application Support/Claude/); Cursor in ~/.cursor/mcp.json. Pin a version with "omx-hyperliquid@0.1.8".uv? Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"; macOS / Linux: curl -LsSf https://astral.sh/uv/install.sh | sh; then open a new terminal. Or pip install omx-hyperliquid and use omx-hyperliquid as the command.With no --config, no OMX_CONFIG and no ./omx.toml, omx-hyperliquid runs the demo (--demo forces it). The engine, policy checks, approval threshold, agent budget, kill switch and audit log are the real code; prices are a random-walk model, not Hyperliquid data. Every answer carries "demo": true. State lives in a temporary directory that is deleted on exit. A config that is named but missing is an error, never a silent demo.
Then ask the agent to quote ETH, preview a small TWAP and submit it (for example buy 0.1 ETH over 10 s in 5 slices), and poll order_status until it is done. An intent above 1,000 USD returns an approval_id and waits for a human; the demo has no approval step, so it stays pending and expires. After kill_switch every new order is refused. In real use only a human clears it, with omx unkill (it asks you to type I UNDERSTAND); the demo has no unkill, so restart the server to start fresh.
omx-hyperliquid --paper (or omx-mcp --paper, omx paper) runs the same tools with simulated fills against Hyperliquid mainnet's live public order books. No key, no account, no config, no daemon: it only reads public market data (/info l2Book, allMids, metaAndAssetCtxs) and never signs or sends an order. The paper account starts at 10,000 USD (--paper-equity 2500 to change it); taker orders walk the real book at Hyperliquid's base-tier fees (0.045 % taker, 0.015 % maker), resting orders fill only when the book trades through their price, and the default policy limits apply (including Hyperliquid's 10 USD minimum order). Every answer carries "paper": true. Fills are a model, not Hyperliquid's matching engine; see docs/PAPER.md.
claude mcp add omx-paper -- uvx omx-hyperliquid --paper
Any other client: {"command": "uvx", "args": ["omx-hyperliquid", "--paper"]}.
Codex CLI waits 10 s for a server to start by default, and the first uvx run downloads the dependencies; if it times out, add startup_timeout_sec = 60 under [mcp_servers.omx] in ~/.codex/config.toml.
pip install omx-hyperliquid # or: uv tool install omx-hyperliquid
omx setup # one guided terminal session, testnet first omx --config daemon # in its own terminal, keep it open omx mcp-config # prints the settings for your MCP client
omx setup walks you through the network (testnet first), your main account's public address, an API wallet key (typed into a hidden prompt and saved to a file only your user can read, or a key file you already saved), the eligibility questions, agent limits, the builder-fee choice, then read-only checks. It never asks for your main wallet key or seed phrase, and refuses a key whose address is your main account. omx mcp-config prints the settings for Claude Code, Codex, Gemini, VS Code, Cursor or Claude Desktop, filled in with your config's absolute path. See docs/SETUP.md and the Quick start for each step by hand.
Agent frameworks: omx-integrations has copy-and-run examples for the OpenAI Agents SDK, LangChain, the Claude Agent SDK, PydanticAI and CrewAI, each checked against this server with the framework's own MCP client (demo mode by default).
Status (v0.1.8): pre-1.0. The full path (agent intent -> policy -> signed order with a builder code -> fill -> kill switch -> audit verify) has been run end to end on Hyperliquid testnet. The native TWAP route (v0.1.8, off by default) and execution receipts are tested against the local simulator and recorded exchange answers, not yet on testnet. OMX has not had an external security audit. Start on testnet, then mainnet with small size. MIT licensed, no warranty.
OMX is not available to persons or entities residing, located, incorporated or with a registered office in the United States, Ontario (Canada) or sanctioned territories, nor to citizens of sanctioned territories, per the Hyperliquid Terms of Use. Using a VPN or proxy, or a false residency statement, to get around this is a breach; OMX offers no way around a block. OMX does not offer outcome markets. omx eligibility asks these questions and refuses to trade when the answer is blocked; it stores only country/region codes and yes/no answers.
pip install omx-hyperliquid # PyPI; gives the `omx`, `omx-mcp` and `omx-hyperliquid` commands
From a checkout (development, tests):
python -m venv .venv
.venv/Scripts/python -m pip install -e ".[test]" # Windows; .venv/bin/python elsewhere .venv/Scripts/python -m pytest -q tests
The commands below also work as python -m omx.cli ... from a checkout. Requires Python 3.11+ (tomllib; developed on 3.12). The MCP server uses the official mcp Python SDK 2.x. The live Hyperliquid venue also needs eth_account for signing.
OMX runs as one long-lived process, omx daemon, which owns the engine (the only thing that talks to Hyperliquid and holds the agent key), the audit-log writer and the approval executor. The CLI and the MCP server are thin clients that talk to it through files in state_dir/ipc/.
secrets/hl_agent_testnet.key. python -m omx.cli --config omx.toml init --account 0xYOUR_MAIN_ADDRESS --key-path secrets/hl_agent_testnet.key
config.example.toml shows every field. Eligibility must be renewed every eligibility_ttl_days (default and maximum 30): omx eligibility.
python -m omx.cli --config omx.toml daemon
It steps every working intent every 200 ms (TWAP/POV/chase slices are sent only while it runs). Only one daemon can run per state_dir, and only one per account (a per-account lock in %LOCALAPPDATA%\omx\locks, or lock_dir in the config). It refuses to start without a valid eligibility attestation; there is no bypass for trading. It re-checks eligib
Only the beginning is shown; read the rest in the repo