Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
作者提供的说明(英文原文)
Free crypto-futures paper trading and live market data for AI agents. 29 tools; no key for data.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
X-API-Key标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http sdk https://marginpad.io/mcp --header 'X-API-Key: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"sdk": {
"url": "https://marginpad.io/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"sdk": {
"type": "http",
"url": "https://marginpad.io/mcp",
"headers": {
"X-API-Key": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
X-API-Key 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
get_priceLive price and 24h change for a crypto perp, stock, index, forex pair or metal. No API key needed.
get_klinesOHLC candles for a symbol. Use this to compute indicators or check a setup before trading.
get_marketsEvery tradable symbol with its asset class, maximum leverage and taker fee. Call this before sizing a trade.
get_screenerScored trade setups across top USDT perps: 0-100 technical score, RSI, MACD, funding and open interest.
get_fundingCurrent funding rates across exchanges - who pays whom to hold a perp position.
get_open_interestOpen interest per symbol - how much leveraged money is committed.
get_catalystsDated events that can move a coin, as they land: exchange listings and delistings, filings, macro prints, hacks (scored by the money lost), ETF and regulation headlines, official channels and fast news desks - one story per event with the desks that reported it, a 0-100 score, th
get_what_moved_itEvery abnormal jump or drop of the last 30 days for any market (coin, stock, index, forex, metal) with its causes and their shares, dated by the FIRST report of a story: the story that moved it (with desks and measured realism), a liquidation cascade or forced closes, the whale t
get_liquidationsRecent real liquidation events aggregated from eight exchanges.
get_fear_greedCrypto Fear and Greed index, current value and classification.
get_economic_calendarUpcoming macro events that move crypto (FOMC, CPI, NFP). Always check this before answering questions about dates - never answer those from memory.
calc_liquidationLiquidation price for a position: entry, leverage, side.
calc_position_sizeRisk-based position size from account balance, risk percent, entry and stop.
paper_balanceYour paper account: balance, equity, free margin, unrealized P&L. Requires an API key.
paper_positionsYour paper positions with live mark price and P&L net of fees; status "open" for just the open ones. Requires an API key.
paper_tradesClosed-trade ledger with paging - the full record for measuring a strategy. Requires an API key.
paper_openOpen a simulated position at the live price. Simulated money only - no real funds are ever at risk. Requires an API key.
paper_closeClose a simulated position, fully or partially. Requires an API key.
paper_sltpMove the stop-loss, take-profit or trailing stop on an open simulated position. Requires an API key.
paper_modify_orderChange a resting limit or stop order in place: its price, stop-loss, take-profit, margin, leverage or trailing stop. Requires an API key.
paper_feesWhich exchange fee schedule your paper fills are charged at: lists the venues we model (Bybit, Binance, OKX, Bitget, MEXC, Gate, KuCoin, Kraken, Hyperliquid) with their taker rate and the referral discount a MarginPad sign-up gets, and your current default. Pass set to change the
paper_simThe whole paper-trading simulation, configurable. By default this engine is deliberately easy: a market order fills whole at the live price, maintenance margin is a flat 0.5%, the balance is a scorecard that never refuses an open, and there is no latency, no size impact and no pa
paper_realismHow honestly your paper fills are simulated. By default a market order fills at the live price with no slippage and maintenance margin is a flat 0.5%, which is easier than a real exchange and increasingly so as a position grows. Pass slippage and/or margin_tiers to turn either on
paper_reportThe 30-day trading report for this account, measured from its own closed trades: totals and a skill score (free), win rate and return by coin, leverage band, side, hour and day plus written findings (API Pro and above). Requires an API key.
paper_accountsEvery book (sub-account) of this account with lifetime numbers and the keys bound to it. A book is a separate journal, balance and report; a key minted with a book name trades that book. Requires an API key.
paper_resetRestart this key’s book at $10,000: closed trades are archived (never deleted), resting orders cancelled, the report and equity curve start from now. Refused while positions are open - close them first. Requires an API key.
paper_equityThe equity curve of this key’s book: starting balance + realized P&L per bucket from the ledger, the live unrealized point at the end, and max drawdown. Requires an API key.
paper_replayBacktest with the real routes: replay one past UTC day on MarginPad’s 1-minute candles. With symbol+day it STARTS a replay (speed = market seconds per real second, 1-600, default 60): from then on paper_open / paper_positions / paper_close act on a separate replay journal priced
paper_limit_orderPlace a resting order that fills only when the market reaches your price, and fills AT that price. type "limit" = a pullback entry (long below the market, short above); type "stop" = a breakout entry (long above the market, short below). To open right now use paper_open instead.
paper_ordersYour resting limit orders, plus the last 20 that filled, expired or were cancelled. Requires an API key.
paper_cancel_orderCancel a resting limit order. Requires an API key.
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 marginpad 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 290 毫秒内响应(HTTP 200)
无需登录
已读取 31 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:X-API-Key
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(3.0.1)于13天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Finance Toolkit, SolidInvoice, Korea Tax Calculator
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Free crypto-futures paper trading for bots and free market data. One key, no KYC, no deposit. Test a strategy or an AI agent against live prices with real fee schedules, funding, liquidations, limit and stop orders, trailing stops, webhooks and a WebSocket stream, then take the same code to a real exchange.
The market data these clients read is measured by MarginPad itself and published free, with no key, as pages and JSON:
pip install marginpad # Python 3.8+, no dependencies (pip install "marginpad[stream]" for the WebSocket)
npm install marginpad # Node 18+, zero dependencies
from marginpad import MarginPad
mp = MarginPad("mpb_...") # key from https://marginpad.io/trading-api/ print(mp.price("BTC")) # keyless market data pos = mp.open("BTC", "long", margin_usd=100, leverage=10, sl=58000, tp=66000, client_order_id="sig-2026-09-12-1403") # idempotent: a retry returns the same position mp.sltp(pos["id"], trail_pct=1.5) # trailing stop, ratcheted server-side print(mp.account())
const { MarginPad } = require('marginpad');
const mp = new MarginPad('mpb_...'); const { position } = await mp.open({ symbol: 'BTC', side: 'long', margin_usd: 100, leverage: 10, client_order_id: 'sig-1' }); mp.stream(ev => console.log(ev.type, ev.data)); // positions pushed on change, prices each tick
mp.accounts() # every book of the account with lifetime numbers
mp.reset() # this key's book back to $10,000 (archived, never deleted) mp.equity(days=30, step_min=60) # equity curve + max drawdown mp.replay_start("BTC", "2026-09-11", speed=120) # run the same code through a past day, 12 minutes per day mp.replay(interval=5, bars=120) # cursor, price, candles up to the cursor mp.replay_stop() # summary: closes, win rate, P&L, return, liquidations
A key minted with book ({"act":"create","name":"rsi","book":"rsi"} on POST /api/bot/key) trades a separate journal: one strategy, one key, one clean result. During a replay every trading call of that key acts on a replay journal priced from the candle under the cursor; stops, targets and liquidations are checked on every candle between two calls.
Eighteen fields and eight presets, so the paper venue can be the one you will actually trade. The defaults are deliberately frictionless, and nothing you have already built moves until you change them.
mp.sim() # your profile, every field with its range, the presets
mp.sim(preset="realistic") # the honest middle, in one call mp.sim(preset="bybit") # Bybit's published taker fee and maintenance margin mp.sim(preset="brutal") # refusals, partial fills, a second of latency mp.sim(start_balance_usd=2500, margin_enforced=True, slippage_bps=8, latency_ms=250) mp.sim(reset=True) # back to the defaults
await mp.sim({ preset: 'realistic' });
await mp.sim({ start_balance_usd: 2500, margin_enforced: true, reject_rate_pct: 2 });
The book (start_balance_usd, margin_enforced, leverage_max, max_notional_usd), the fill (slippage, slippage_bps, impact_bps_per_100k, exit_slippage, latency_ms, partial_fills, min_fill_pct, reject_rate_pct), the cost (taker_bps, funding, funding_mult) and the liquidation (margin_venue, margin_tiers, mmr_pct).
Out-of-range values are refused, never clamped, and a position keeps the simulation it was filled under for life. margin_enforced turns the balance into a real budget: size past it and the open comes back 402, which is the failure a live bot has to handle and a frictionless simulator never shows you. reject_rate_pct is the one a retry loop is worth writing for.
Every field with its range: https://marginpad.io/trading-api/#sim
examples/agent_loop.py: a signal loop that opens, manages and closes positions once a minute without polling storms.examples/webhook_server.js: receive position.closed / order.filled events with signature verification.examples/mcp.md: let Claude Desktop or Cursor trade on your paper account through the MCP server.| Plan | Requests/min | Keys | Open positions | Books | Webhooks |
|---|---|---|---|---|---|
| Free $0 | 120 | 3 | 50 | 1 | - |
| Pro $27 | 600 | 10 | 200 | 5 | 3 |
| Max $69 | 2000 | 30 | 500 | 20 | 15 |
| Business $139 | 5000 | 100 | 1000 | 50 | 50 |
An API plan is its own product: a MarginPad Premium subscription buys nothing here, and an API plan buys nothing on the site. Every market-data endpoint is free and keyless, with no account and no trial. The paper-trading engine, the simulation, books, replay and the WebSocket stream are free for 7 days from the day the first key is minted (since 2026-10-13); after that they need a paid plan, and only webhooks and the AI read are gated by tier within it. Trade history is 30 days on the trial and 90 on a paid plan.
Measured in production: the busiest bot peaks at 66 requests a minute against the Free ceiling of 120, and no key has ever been rate-limited on any plan. Choose on keys and history, not on throughput.
Every response carries X-RateLimit-Limit / Remaining / Reset; on 429 both clients wait Retry-After and retry once. Out-of-range input is refused with a named error (leverage_max carries the market's cap), never silently clamped.
This is a simulator. Fees, funding and liquidation maths mirror real exchanges and every fill condition above is yours to set - but there is no order book behind impact_bps_per_100k, so market impact is modelled rather than measured on depth, and a stop, target or liquidation fills at its own level without paying the crossing cost. A bot that passes here still needs a small live test. Educational use, not financial advice.
MIT licensed.