About Tradingcalc MCP
Tradingcalc MCP provides repeatable, verifiable trading and financial calculations for AI agents, spanning crypto futures, options, forex, risk statistics, prediction markets, and on-chain analysis. Results include signatures that can be verified offline, and formulas can be checked against canonical test vectors.
Key features
- 01Calculate PnL, liquidation, and position size
- 02Estimate option prices and Greeks
- 03Compute VaR, Sharpe, and risk metrics
- 04Analyze prediction-market odds and arbitrage
- 05Check Solana token and wallet risks
- 06Verify signed results offline
Use cases
- 01Estimate leveraged futures PnL and liquidation risk
- 02Size forex positions from stops and risk budgets
- 03Analyze return series with VaR or Sharpe
- 04Assess prediction-market opportunities and on-chain risks
MCP support
The remote MCP server exposes trading calculation tools over Streamable HTTP for clients such as Claude, Cursor, and VS Code, and also accepts direct HTTP requests. Calculation responses carry ECDSA P-256 signatures for offline verification.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://tradingcalc.io/api/mcpclaude mcp add --transport http tradingcalc https://tradingcalc.io/api/mcp{"mcpServers":{"tradingcalc":{"type":"http","url":"https://tradingcalc.io/api/mcp"}}}Open in Cursor{"servers":{"tradingcalc":{"type":"http","url":"https://tradingcalc.io/api/mcp"}}}Open in VS Code{"mcpServers":{"tradingcalc":{"type":"http","url":"https://tradingcalc.io/api/mcp"}}}{"mcpServers":{"tradingcalc":{"serverUrl":"https://tradingcalc.io/api/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
23| Parameter | Type | Required | Description |
|---|---|---|---|
| side | enum | Yes | Trade directionlong | short |
| entryPrice | number | Yes | Entry price (positive) |
| exitPrice | number | Yes | Exit price (positive) |
| size | number | Yes | Position size in base asset |
| feeOpenPct | number | No | Opening fee as fraction, e.g. 0.0002 = 0.02% |
| feeClosePct | number | No | Closing fee as fraction |
Details
From the project READMETradingCalc MCP Server
An LLM guesses trading maths. This server computes it: the same inputs always return the same numbers, every result carries a signature you can check, and the core formulas are tested against public vectors (live count in the badge above).
Your question MCP tool call Result
+------------------+ +---------------------------+ +---------------------------+
| "Risk $200 on | ► | workflow.run_forex_ | ► | 0.67 lots, plus an ECDSA |
| EUR/USD with a | | position_size_live | | P-256 signature you can |
| 30 pip stop" | | (deterministic maths) | | verify offline |
+------------------+ +---------------------------+ +---------------------------+
Ask Claude, Cursor or any MCP client trade questions and get exact numbers back, not guesses:
"What should a BTC call at a $90k strike, 30 days out, with 55% implied volatility be worth?" "How many lots of EUR/USD should I trade to risk $200 with a 30-pip stop?" "What's my 95% Value at Risk on this monthly return series?" "What's my PnL if I buy 0.5 BTC at $80k and sell at $95k with 5x leverage?"
What it covers (77 tools)
| Domain | Examples |
|---|---|
| Options | Black-Scholes price and Greeks (manual, or checked live against a Deribit BTC/ETH option), payoff and breakeven, straddle and strangle, vertical spreads, covered call and protective put, implied volatility |
| Forex | Position size from a risk amount, pip value, margin, swap cost, currency conversion, pair correlation, with live-rate variants for the account currency |
| Risk and statistics | VaR and CVaR, Sharpe with the Lo 2002 correction, Deflated Sharpe, Kelly frontier, GARCH(1,1), risk parity, Hurst exponent, cointegration, portfolio tearsheet, EVT tail risk |
| Prediction markets | Odds and vig, market-implied odds, edge sizing, spread and arbitrage checks across Kalshi, Polymarket, Limitless and Myriad |
| On-chain | Solana token and wallet checks, swap price impact, pump.fun bonding curve, impermanent loss |
| Crypto spot | Profit or loss on a coin bought and sold outright, after both fees |
| Crypto futures | PnL, liquidation price, breakeven, funding cost, position size, risk/reward, linear and coin-margined contracts |
Access via MCP (Claude Desktop, Cursor, VS Code and other clients) or a plain HTTP POST to the MCP endpoint. No signup. The server is remote, so nothing to install beyond a one-line client config; only the Claude Desktop bridge below needs Node.js 18 or newer.
Endpoints
| Surface | URL | Auth |
|---|---|---|
| MCP | https://tradingcalc.io/api/mcp | Bearer optional (free) |
| For agents / setup | https://tradingcalc.io/for-agents | None |
| Full API & MCP reference | https://docs.tradingcalc.io/api | None |
| Verification proof | https://tradingcalc.io/verify | None |
MCP transport: Streamable HTTP (MCP spec 2024-11-05)
Quick Start
One command or one config entry per client. Prerequisites: an MCP client; Node.js 18 or newer only for the Claude Desktop bridge and the skill installer. No account, no API key.
| Client | Install |
|---|---|
| Claude Code | claude mcp add --transport http tradingcalc https://tradingcalc.io/api/mcp |
| Gemini CLI | gemini extensions install https://github.com/SKalinin909/tradingcalc-mcp |
| Coding agents with skills (Claude Code, Cursor, Copilot) | npx skills add SKalinin909/tradingcalc-mcp |
| Claude Desktop, Cursor, VS Code | config entry below |
| Any other client | plain HTTP POST, see "Direct HTTP" below |
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"tradingcalc": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://tradingcalc.io/api/mcp"]
}
}
}
Cursor / VS Code
{
"tradingcalc": {
"url": "https://tradingcalc.io/api/mcp"
}
}
Agent Skill
For coding agents that support the skills.sh ecosystem (Claude Code, Cursor,
GitHub Copilot, and others) - installs a SKILL.md that teaches the agent when to reach for these
tools instead of estimating trade math itself:
npx skills add SKalinin909/tradingcalc-mcp
Direct HTTP
curl -X POST https://tradingcalc.io/api/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "workflow.run_liquidation_safety",
"arguments": {
"side": "long",
"entryPrice": 95000,
"leverage": 10
}
}
}'
Example prompts
After connecting, just ask naturally: the AI picks the right tool automatically:
Options payoff
"What does my BTC call payoff at $90,000? Strike $85,000, premium 0.02 BTC, long 1 contract."
Black-Scholes / IV check
"Is Deribit's BTC-27FEB27-90000-C fairly priced right now?"
Covered call yield
"I hold BTC bought at $80,000. What annualized yield do I get selling a $85,000-strike call for 0.02 BTC, 30 days out?"
Forex pip value
"What's a pip worth on 2 lots of EUR/USD, in my USD account?"
Forex position size
"How many lots should I trade to risk $200 on EUR/USD with a 30-pip stop?"
Forex margin level
"My equity is $5,000 and used margin is $1,800. How close am I to a margin call?"
Value at Risk
"What's my 95% Value at Risk and expected shortfall on this monthly return series? [paste returns]"
Sharpe ratio
"What's the Sharpe ratio of these monthly returns, corrected for autocorrelation?"
Cointegration
"Are these two price series cointegrated? Is there a pairs trade?"
Odds converter
"What odds does a 35% probability work out to?"
Market-implied odds
"What does the market think BTC will be worth by year end?"
Prediction market edge
"I think this event is 60% likely but the market prices it at 40%. Should I bet, and how much with a $10k bankroll?"
Token safety check
"Is this Solana token a rug pull risk? Mint: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"
Swap price impact
"How much slippage will I eat swapping 50,000,000 BONK to USDC?"
Bonding curve
"How many tokens do I get buying with 1 SOL on a pump.fun curve that's already raised 20 SOL?"
Market cap comparison
"If I put $1,000 into BONK and it reaches JUP's market cap, what's it worth?"
Wallet flag check
"Is this wallet address flagged for anything? [address]" (Solana or EVM)
Trade P&L
"I bought 0.5 BTC at $80,000 and want to sell at $95,000 with 5x leverage. What's my net profit after fees?"
Position sizing
"I have a $10,000 account and want to risk 1% going long BTC at $83,000 with a stop at $81,000. How many coins should I buy?"
Liquidation check
"Long ETH at $3,200 with 10x leverage, where do I get liquidated?"
Full pre-trade check
"Analyze this setup: long BTC at $83,000, stop $81,000, target $90,000, $10k account, 1% risk, 5x leverage. Is it worth taking?"
Funding cost
"I'm holding 0.5 BTC long on Bybit at $83,000 with 0.01% funding rate. How much will funding cost me over 3 days?"
Carry trade
"Is this carry trade worth it? Long on Bybit at 0.01% funding, short on Binance at 0.05%, $50k notional, 30 days."
DCA average entry
"I bought BTC at $78k (0.2 BTC), $80k (0.3 BTC), and $82k (0.1 BTC). What's my average entry and breakeven?"
Scale-out plan
"I'm long 1 BTC from $80k. I want to close 30% at $88k, 40% at $92k, 30% at $96k. What's my total P&L?"
Tools (77)
Tool naming follows the workflow.run_* / primitive.* / system.* namespace convention.
Old flat names (pnl, liquidation, etc.) are accepted for backward compatibility. All tools are
free via MCP, no signup; 100 calls/day anonymously, 200/day with a free API key.
| Category | Tools |
|---|---|
| Options (Deribit BTC/ETH, coin-settled) | Options payoff & breakeven, Black-Scholes price/Greeks (manual + live), straddle/strangle, vertical spread & iron condor, covered call/protective put, implied volatility solver (7) |
| Forex (quote-currency + live account-currency conversion) | Pip value, margin level, breakeven, PnL, risk/reward, scenario, average entry, position size, margin required, currency converter, swap/rollover cost, correlation/hedge ratio: manual + live-FX-rate variants (17) |
| Risk/Stats | VaR/CVaR (+ Modified VaR), Sharpe ratio (Lo 2002 + PSR), Hurst exponent, cointegration, portfolio tearsheet, GARCH(1,1), risk parity, Deflated Sharpe Ratio, Kelly growth-security frontier, return unsmoothing, EVT tail risk, order-book impact (12) |
| Prediction Markets (Kalshi, Polymarket, Limitless, Myriad, ADI Predictstreet crypto categories) | Odds converter, market-implied odds, prediction-market edge, window fair value, cross-venue spread reader, cross-venue arbitrage (6) |
| On-chain (Solana + 5 EVM chains, per tool) | Token risk check, swap price impact, bonding curve, market cap comparison, wallet flag check, impermanent loss (manual + live) (7) |
| Trade Planning | PnL, break-even, exit target, scenario, DCA entry, scale-out, average down (7) |
| Risk & Margin | Liquidation safety, position sizing, max leverage, risk/reward (4) |
| Funding & Carry | Funding cost, funding arbitrage, compound funding, funding break-even, carry trade (5) |
| Market Structure (Market Profile) | Open analysis, session structure, value migration, breakout acceptance (4) |
| Primitives | Average entry, hedge ratio (2) |
| Crypto spot | Crypto profit: profit or loss on a spot trade after both fees (1) |
| Cross-exchange | Price consensus: how far one perpetual futures price sits from 7 reference exchanges (1) |
| Integrated Decision | Pre-trade check (sizing + liquidation + breakeven + funding + go/no-go in one call), portfolio risk review (2) |
| System | system.verify - run the canonical test vectors, get a pass/fail report; system.pubkey - get the public key to verify signed responses offline (2) |
Full tool-by-tool reference (every input/output schema, request/response examples, per-tool descriptions): docs.tradingcalc.io/api
Formulas normalized across 17 exchanges: Binance, OKX, Bybit, Aster, Hyperliquid, MEXC, KuCoin, Gate, Deribit, Kraken, HTX, WOO, Phemex, Blofin, Backpack, dYdX, Polymarket Perps.
Rate Limits
| Access | Req/day | Price |
|---|---|---|
| Anonymous | 100 | Free |
| Free API key | 200 | Free |
The Service is free. Need a higher-limit key? Email [email protected].
Pass key as: Authorization: Bearer <your-api-key>
Self-Verification
Agents can verify all the canonical test vectors before trusting results:
{
"jsonrpc": "2.0", "id": 1,
"method": "tools/call",
"params": { "name": "system.verify", "arguments": {} }
}
Response: { "status": "pass", "passed": N, "failed": 0, "total": N }, where N is the current number of canonical vectors (live count in the badge at the top).
Live proof: tradingcalc.io/verify
Signed Responses
system.verify proves the formulas are correct. It doesn't prove the specific response you got
wasn't altered by a proxy, cache, or MITM in between. Every tools/call result carries a second
content block signed with ECDSA P-256, plus X-TradingCalc-Signature/Kid/Signed-At headers.
Call system.pubkey (or GET /api/mcp/pubkey) for the public key (PEM + JWK) and the canonical
string format needed to verify offline, no callback required.
Once a day the verification state is also signed and its SHA-256 is written to Solana mainnet in a Memo transaction (tcalc1 {date} {hash}), each record carrying the hash of the day before. Read the records at GET https://tradingcalc.io/api/anchors; the latest record and how to verify it yourself are at tradingcalc.io/verification.
Use Cases
- Options and forex desks: price an option, size a forex position, or check margin level in one exact call
- Quant research: Sharpe, VaR, cointegration and drawdown statistics from a return series, cross-checked against reference libraries
- Trading bots: check liquidation price before every trade
- AI agents: deterministic risk calculations without hallucination risk
- Multi-agent systems: drop-in risk management agent in analyst + risk + execution pipelines
- Dashboards: embed calculations programmatically
Why deterministic?
LLMs asked directly give plausible but potentially wrong numbers. TradingCalc MCP returns exact calculations: same inputs always produce the same outputs. No hallucination risk for financial data.
Risk Agent Wrapper
examples/risk-agent-wrapper.ts: a drop-in TypeScript wrapper for risk-gated trade execution.
Integrates with any agent framework (ElizaOS, CrewAI, AutoGen, Hummingbot, Freqtrade).
import { RiskAgent, preTradeGate } from './examples/risk-agent-wrapper';
const agent = new RiskAgent({ apiKey: 'tc_your_key', minLiqDistancePct: 3.0 });
const result = await agent.evaluate({
symbol: 'BTCUSDT', exchange: 'bybit',
side: 'long', entry_price: 83000, stop_loss: 81000,
account_balance: 10000, risk_pct: 1, leverage: 5,
funding_rate: 0.0001, hold_hours: 24,
});
if (result.approved) {
// execute trade: result.recommended_size, result.liquidation_price
} else {
console.log('Rejected:', result.rejection_reason);
}
// Binary gate for execution bots
const ok = await agent.isSafe({ symbol: 'ETHUSDT', side: 'short', ... });
// Standalone function (minimal integration)
const { approved, size, liqPrice } = await preTradeGate({ ... }, 'tc_your_key');
TypeScript SDK
For code-first integrations, use tradingcalc-sdk instead of raw JSON-RPC:
npm install tradingcalc-sdk
import { TradingCalcClient } from 'tradingcalc-sdk';
const tc = new TradingCalcClient({ apiKey: 'tc_your_key' });
// Workflows: orchestrated decisions
const check = await tc.workflows.preTradeCheck({ side: 'long', entry_price: 83000, leverage: 5, funding_rate: 0.0001, account_balance: 5000 });
// Primitives: single formula
const avg = await tc.primitives.averageEntry({ symbol: 'BTCUSDT', input: { fills: [{ price: 83000, quantity: 0.1 }] } });
// System
const report = await tc.system.verify();
tc.call() is available for raw MCP access. Full docs: npmjs.com/package/tradingcalc-sdk
Links
- For agents: tradingcalc.io/for-agents
- Full docs (API & MCP reference, methodology, architecture, changelog): docs.tradingcalc.io
- Verification proof: tradingcalc.io/verify
- Web calculators: tradingcalc.io
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.