onestop

trade.onestop由 onestop.trade 發布v1.0.2更新於 Nov 4, 2026

無Gas費Solana兌換、市值上限、追蹤止損與TWAP訂單及計劃。您的金鑰儲存在本機。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Gasless Solana swaps, market-cap limit, trailing and TWAP orders, and plans. Your key stays local.

已驗證STDIO僅桌面

概覽

onestop 的本機 MCP 服務,由 onestop.trade 發布;無需登入;STDIO;19 個工具。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

發布者
onestop.trade

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 onestop,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

onestop MCP

Lets an AI agent trade Solana tokens through onestop: gasless swaps (no SOL needed; the network cost and any fee are taken from the trade), market-cap orders (limit, trailing, limit then trail, TWAP) and plans that buy and then protect the position. Your wallet's key stays on your machine.

json
{ "mcpServers": { "onestop": { "command": "npx", "args": ["-y", "@onestop-trade/onestop-mcp"],    "env": { "ONESTOP_PRIVATE_KEY": "your-wallet-private-key" } } } }

Node 20.18 or later.

Setting
ONESTOP_PRIVATE_KEY or ONESTOP_KEYPAIR_PATHthe wallet that trades: its private key as your wallet exports it (Phantom: Settings → your account → Show private key), or the path to a keypair file. Use a wallet you keep for trading
SOLANA_RPC_URLyour RPC, used to simulate every transaction before signing (default: public mainnet)
ONESTOP_DRY_RUN=1trade nothing: order and plan tools answer without calling onestop, and swaps stop after the guard. Paper orders still run
ONESTOP_SKIP_SPEND_CHECK=1turn off the guard's balance checks (the structural checks stay). For debugging only
ONESTOP_STATEwhere the MCP keeps the orders and plans it placed (default ~/.onestop-mcp/<wallet>.json)
ONESTOP_API_URL, ONESTOP_SERVER_PUBKEY (+ _NEXT)for a self-hosted engine: its URL, its signing key

Tools

Amounts are raw units (lamports for SOL); levels and shares are basis points (20000 = 2x, 10000 = all).

Walletwallet (address and link, no network call), connect (wait for the engine login)
Swapsquote (price it, get the unsigned transaction), submit_swap (trade a quoted transaction), swap (both in one call)
Market datatokens (price, market cap, liquidity), holdings (balances in USD)
Orderslimit_order, trailing_order, limit_trailing_order, twap_order; each but the TWAP can also fill in slices. list_orders, get_order, cancel_order, extend_order
Plansplace_plan (an entry buy, then a protect or take-profit exit for exactly what it bought), get_plan, cancel_plan
Logactivity: fills signed or refused (and why), paper fills, order and plan updates

paper: true on an order or plan rehearses it with real prices: fills are priced from the route and recorded, and nothing is signed or traded.

What it signs

Every message from onestop must carry onestop's engine signature. A fill is signed only for an order this MCP placed, after checking onestop committed to exactly what was asked, or for the exit of one of its plans, selling no more than the entry bought. Before signing, the transaction is simulated on your RPC and checked: onestop's gas wallet pays the fee and your wallet is the only other signer; your SOL can't fall by more than the quote says; no token balance falls except the one you're selling, by at most the amount; the output arrives; no approvals, authority changes or account reassignment; nothing closes an account you already had.

It has to be running

onestop watches the market 24/7, but this MCP signs each fill, so it needs to be running: if it's closed when an order fires, the fill waits and runs when it's back, at the price then.

來源:README.md,提交 41fd681

工具

19

wallet

This MCP's wallet address and its link to onestop: whether it's logged in to the engine, the API it uses, whether dry run is on, and how many orders and plans it's tracking. No network call. Call it first: every other tool acts for this wallet.

無需輸入參數。

connect

Wait up to 20 seconds for the engine login, then report the same as wallet. The MCP logs in by itself at start and again after any drop, backing off up to 30 seconds between tries, so use this to wait for it rather than retrying another tool.

無需輸入參數。

quote

Price a swap without trading. Returns amount_in, expected_out, min_out, the fee and the gas (both taken from the trade), and transaction.base64: the unsigned transaction, good for about 45 seconds. Nothing is signed or sent. Pass the transaction to submit_swap to trade it after looking at the quote, or use swap to do both at once.

輸入參數input必填amountoutput必填holdings_bpsslippage_bps

submit_swap

Trade a transaction from quote. The MCP checks it with the guard first, simulating it on the wallet's own RPC: onestop pays the fee, only this wallet signs besides it, nothing approves or reassigns the wallet's accounts, the wallet loses no more than the quote says, and the output arrives. Then it signs, sends it through onestop's MEV-protected lane and waits for it to land. Only a transaction this MCP quoted recently is accepted, because the guard needs its quote and onestop co-signs only trades it quoted. Returns confirmed with the signature and the wallet's balance changes, or refused with the guard's reasons. With dry run it stops after the guard.

輸入參數transaction必填

swap

Swap now in one call: quote, guard, sign and send, the same as quote followed by submit_swap. No SOL needed for gas: onestop pays it and takes it, with any fee, from the trade. Returns the amounts and the result: confirmed with the signature and balance changes, refused with the guard's reasons, or dry_run.

輸入參數input必填amountoutput必填holdings_bpsslippage_bps

tokens

Price, market cap, liquidity and main pool for up to 100 tokens. Read only.

輸入參數mints必填

holdings

A wallet's SOL and token balances, valued in USD. Read only.

輸入參數wallet

limit_order

A limit order: buy or sell when the market cap crosses a level, given as target_bps of the market cap now (above it, a take profit or a breakout buy; below it, a stop loss or a dip buy) or as target_mcap_usd. It fires only on a cross after placement. Add twap_slices and twap_interval_s to fill in slices. A buy takes amount in lamports; a sell takes amount in raw token units or holdings_bps of the balance when it fires. paper: true rehearses with real prices and never trades. It lapses after expires_h hours if it hasn't fired. Returns the order with its order_id; follow it with get_order. Signing: fills are signed by this MCP process. If it isn't running when an order fires, the fill is queued and executed on reconnect at the then-current price.

輸入參數mint必填side必填paperamountexpires_htarget_bpstwap_slicesholdings_bpsslippage_bpstarget_mcap_usdtwap_interval_s

trailing_order

A trailing order: a sell follows the market cap up and fires when it falls trail_bps from its high; a buy follows it down and fires when it rises trail_bps from its low. Add twap_slices and twap_interval_s to fill in slices. A buy takes amount in lamports; a sell takes amount in raw token units or holdings_bps of the balance when it fires. paper: true rehearses with real prices and never trades. It lapses after expires_h hours if it hasn't fired. Returns the order with its order_id; follow it with get_order. Signing: fills are signed by this MCP process. If it isn't running when an order fires, the fill is queued and executed on reconnect at the then-current price.

輸入參數mint必填side必填paperamountexpires_htrail_bps必填twap_slicesholdings_bpsslippage_bpstwap_interval_s

limit_trailing_order

A limit, then a trail: it waits for the market cap to reach the level (target_bps of the market cap now, or target_mcap_usd), then trails from there and fires when the market cap moves back trail_bps from its best. A sell above the market cap now lets a winner run past the target and keeps the gain. Add twap_slices and twap_interval_s to fill in slices. A buy takes amount in lamports; a sell takes amount in raw token units or holdings_bps of the balance when it fires. paper: true rehearses with real prices and never trades. It lapses after expires_h hours if it hasn't fired. Returns the order with its order_id; follow it with get_order. Signing: fills are signed by this MCP process. If it isn't running when an order fires, the fill is queued and executed on reconnect at the then-current price.

輸入參數mint必填side必填paperamountexpires_htrail_bps必填target_bpstwap_slicesholdings_bpsslippage_bpstarget_mcap_usdtwap_interval_s

twap_order

A TWAP order: buy or sell now in twap_slices swaps twap_interval_s seconds apart, to spread the price impact. Each slice is what's left divided by the slices left. A buy takes amount in lamports; a sell takes amount in raw token units or holdings_bps of the balance when it fires. paper: true rehearses with real prices and never trades. It lapses after expires_h hours if it hasn't fired. Returns the order with its order_id; follow it with get_order. Signing: fills are signed by this MCP process. If it isn't running when an order fires, the fill is queued and executed on reconnect at the then-current price.

輸入參數mint必填side必填paperamountexpires_htwap_slices必填holdings_bpsslippage_bpstwap_interval_s必填

list_orders

This wallet's orders, newest first. An order is waiting, armed (trailing from its best), filling, then filled, cancelled, expired or failed.

無需輸入參數。

get_order

One order: its status, trigger levels, the market cap it saw last, its slices and its fills with their signatures.

輸入參數order_id必填

cancel_order

Cancel an order. A slice that's already signed can't be called back; the rest of the order stops. A plan's orders are cancelled with cancel_plan.

輸入參數order_id必填

extend_order

Set an open order's expiry to expires_h hours from now.

輸入參數order_id必填expires_h必填

place_plan

A plan: an entry buy, then an exit onestop creates for exactly the tokens the entry bought. protect arms once the market cap reaches arm_bps of the entry's (30000 = 3x) and then sells when it falls trail_bps from its high. exit takes profit at target_bps of the entry market cap, or shapes the protected sell (twap, and sell_bps of the tokens); with neither level the exit sells at once. A plan needs protect or exit. To protect tokens already held, leave out entry and give amount or holdings_bps. Returns the plan with its plan_id; follow it with get_plan. Signing: fills are signed by this MCP process. If it isn't running when an order fires, the fill is queued and executed on reconnect at the then-current price.

輸入參數exitmint必填entrypaperamountprotectexpires_hholdings_bpsslippage_bps

get_plan

A plan's progress: the entry's fills, the tokens it bought and its average entry market cap, the exit (armed with its high and stop, or its take-profit level), and the market cap now as a multiple of the entry.

輸入參數plan_id必填

cancel_plan

Cancel a plan and every stage that hasn't run. Tokens already bought stay in the wallet.

輸入參數plan_id必填

activity

What this MCP did since it started, newest first: fills it signed (with signatures) or refused (with the reason), paper fills, exits it took on, and order and plan updates.

輸入參數limit

版本歷史

1
  1. v1.0.2最新Nov 4, 2026

評分

已滿足適用檢查項的 80%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。