{"name":"fi.zxoar/zxoar","slug":"zxoar","title":null,"description":"Agent-first trading on the ZXOAR launchpad (Uniswap V4): scan, vet, guarded buy/sell, atomic launch","url":"https://mcp.market/server/zxoar","rating":null,"grade":"C","score":58,"certified":false,"status":"active","category":"ai","tags":["ai","security"],"presence":{"score":10,"stars":null,"forks":null,"downloads_week":23,"last_push_at":null,"license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/lockwood-launch/lockwood-protocol","website":"https://zxoar.fi","version":"0.2.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"zxoar-mcp","version":"0.2.2","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional trading key — without it the server is READ-ONLY (scan/vet/info only). Signs locally; never leaves your machine.","isSecret":true,"name":"PRIVATE_KEY"},{"description":"Server-enforced cap per trade in ETH (default 0.5).","name":"MAX_ETH_PER_TX"},{"description":"Server-enforced cumulative session spend cap in ETH (default 2).","name":"MAX_ETH_PER_SESSION"},{"description":"Server-enforced rate limit on state-changing calls (default 12).","name":"MAX_TX_PER_MINUTE"},{"description":"Override the chain RPC (defaults to Robinhood Chain mainnet; pair with CHAIN_ID and the *_ADDRESS vars for forks/testnets).","name":"RPC_URL"}]}],"tools":[{"name":"build_metadata","description":"Build a token metadata data URI from structured input. Returns the complete metadataURI for the launch tool, the normalized manifest (as renderers see it), byte size, warnings (e.g. invalid schemes, oversized URI). Social handles are normalized to full URLs. Max URI size: … bytes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"buy","description":"Buy a ZXOAR token with ETH via the pool's locked concentrated liquidity. Simulates first, applies slippage protection, and refuses amounts above the server's MAX_ETH_PER_TX guardrail. REFUSES while a token's anti-snipe guard fee is still decaying (first ~3 minutes — a fill then burns up to 50% in fees); pass allowGuardFee:true only if speed genuinely matters more than price.","write_action":true,"price_micros":0,"input_schema":null},{"name":"collect_fees","description":"Claim swap fees accrued to a token's locked liquidity position. Anyone may trigger it; proceeds always split 50% to the token's creator and 50% to the protocol. Principal liquidity cannot be withdrawn by anyone, ever.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_activity","description":"Recent on-chain activity across the whole market (launches, trades, fee collections), newest first — the event feed agents should read instead of repeatedly polling scan. Optionally filter to one token. Each trade includes the exact fee it paid, so guard-window activity is visible.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_market_stats","description":"Whole-market rollup: pool count, total trades, total volume, total fees paid (creator+protocol), most-active tokens, and newest launches. For dashboards and agent market-scanning.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_token_history","description":"Full history for one token: price series, per-trade fee paid (shows the snipe-guard decay in the data), total volume, fees collected, and recent trades. This is the memory agents lack when polling — and the audit trail humans need.","write_action":false,"price_micros":0,"input_schema":null},{"name":"launch","description":"Launch a new token: deploys a fixed 1B-supply ERC-20, initializes a Uniswap V4 pool with the anti-snipe hook, deposits 95% of supply as a locked single-sided bonding curve, and escrows the 5% graduation reserve (deployed as locked liquidity above the band when the curve fills, ~20.6 ETH FDV). Launching is free, forever. No presale, no team allocation; principal liquidity is never withdrawable by a","write_action":false,"price_micros":0,"input_schema":null},{"name":"scan","description":"List tokens on the ZXOAR launchpad, newest first: price in ETH, market cap, % of the bonding curve sold, graduation status, and whether the anti-snipe guard fee is still active (fee decays 50%→1% over 3 minutes after launch).","write_action":false,"price_micros":0,"input_schema":null},{"name":"sell","description":"Sell a Lockwood token back into its pool for ETH. Provide tokenAmount (whole tokens) or percent of current holding. Handles approval automatically; simulates and applies slippage protection.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_image","description":"Upload a token logo through Lockwood's moderation gate (the SAME gate the UI uses — no bypass). Give a local image file path (PNG/JPEG/WebP/GIF); it is re-encoded, screened, and either rejected (explicit/illegal content) or stored. Returns { url, nsfw }. Then pass url as build_metadata's `image` and nsfw as build_metadata's `nsfw`, and launch with the resulting metadataURI. Requires the image serv","write_action":true,"price_micros":0,"input_schema":null},{"name":"token_info","description":"Detailed live state for one token: price, market cap, band progress, guard fee, creator, metadata.","write_action":false,"price_micros":0,"input_schema":null},{"name":"vet","description":"Safety check for one launchpad token before trading it — the same ladder the ZXOAR site runs, sized for agents: launcher-registry membership (pins the factory bytecode, locked liquidity, and the SnipeGuard hook), guard/graduation state, and a REAL simulated buy→approve→sell round-trip through the actual router (0.01 ETH probe via eth_simulateV1 — an eth_call, spends nothing). Returns a plain verdi","write_action":false,"price_micros":0,"input_schema":null},{"name":"wallet","description":"The connected wallet's address, ETH balance, and holdings across Lockwood tokens with ETH valuations. Read-only servers report readOnly:true.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":58,"grade":"C","scanned_at":"2026-09-25T17:21:07.090Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-25T17:21:06.979Z","components":{"code":{"score":25,"max":25,"notes":["17 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"zxoar-mcp","version":"0.2.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-07-22T19:16:43.966Z","repositoryUrl":"git+https://github.com/lockwood-launch/lockwood-protocol.git","weeklyDownloads":23}],"repo":{"found":false,"owner":"lockwood-launch","repo":"lockwood-protocol","error":"repo not found"},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":23,"license":"MIT","lastPushAt":null,"score":10}}}},"grade_history":[],"reviews":[]}