Clear Tape
Free trading calculators, trading-system rules, a glossary and lesson search. No market data.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"clear-tape": {
"url": "https://app.cleartape.ai/mcp"
}
}
}Remote endpoints
https://app.cleartape.ai/mcpstreamable-httpWhat it can do
Tool inventory
Tools (11)
π’calculate_position_size(account, riskPct, entry, stop, lang)
Position size from the stop: how many shares to buy (or short) so that a stop-out loses a set percentage of the account. Computed with the same function as Clear Tape's free position size calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"account": {
"type": "number",
"description": "Account size in USD.",
"exclusiveMinimum": 0,
"maximum": 1000000000000
},
"riskPct": {
"type": "number",
"description": "Risk per trade, percent of the account (1 = 1%). Above 0, at most 100.",
"exclusiveMinimum": 0,
"maximum": 100
},
"entry": {
"type": "number",
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"stop": {
"type": "number",
"description": "Stop price per share in USD. Below the entry for a long, above it for a short; not equal to the entry.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"account",
"riskPct",
"entry",
"stop"
],
"additionalProperties": false
}π’calculate_risk_reward(entry, stop, target, exit, lang)
Risk/reward ratio of a planned trade, the win rate it needs to break even, and (optionally) an exit expressed as an R multiple. Computed with the same function as Clear Tape's free risk/reward and r-multiple calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"entry": {
"type": "number",
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"stop": {
"type": "number",
"description": "Stop price per share in USD; not equal to the entry.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"target": {
"type": "number",
"description": "Target price per share in USD, on the other side of the entry from the stop.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"exit": {
"type": "number",
"description": "Optional: an actual or planned exit price in USD, returned as an R multiple.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"entry",
"stop",
"target"
],
"additionalProperties": false
}π’calculate_expectancy(winRate, avgWin, avgLoss, lang)
Expectancy per trade, per 100 trades, payoff ratio, break-even win rate and profit factor from a win rate and average win and loss. Computed with the same function as Clear Tape's free trading expectancy calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"winRate": {
"type": "number",
"description": "Win rate in percent (40 = 40%). Above 0, at most 100.",
"exclusiveMinimum": 0,
"maximum": 100
},
"avgWin": {
"type": "number",
"description": "Average winning trade as a positive amount, in USD or in R.",
"exclusiveMinimum": 0,
"maximum": 1000000000000
},
"avgLoss": {
"type": "number",
"description": "Average losing trade as a positive amount, in the same unit as avgWin.",
"exclusiveMinimum": 0,
"maximum": 1000000000000
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"winRate",
"avgWin",
"avgLoss"
],
"additionalProperties": false
}π’calculate_atr_stop(entry, atr, ranges, multiple, side, ...)
A volatility (ATR) stop: entry minus (long) or plus (short) a multiple of the average true range. Give atr, or at least five recent daily ranges (high minus low). Computed with the same function as Clear Tape's free atr stop-loss calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"entry": {
"type": "number",
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"atr": {
"type": "number",
"description": "Average true range in USD (e.g. the 14-day ATR). Give this or ranges.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"ranges": {
"type": "array",
"description": "Alternative to atr: 5 to 500 recent daily ranges (high minus low) in USD; their average stands in for the ATR.",
"minItems": 5,
"maxItems": 500,
"items": {
"type": "number",
"description": "One daily range in USD.",
"exclusiveMinimum": 0,
"maximum": 10000000
}
},
"multiple": {
"type": "number",
"description": "ATR multiple for the stop distance, commonly 1.5 to 3.",
"exclusiveMinimum": 0,
"maximum": 100
},
"side": {
"type": "string",
"enum": [
"long",
"short"
],
"default": "long",
"description": "Trade direction: \"long\" (default) or \"short\"."
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"entry",
"multiple"
],
"additionalProperties": false
}π’calculate_drawdown_recovery(loss, riskPct, lang)
The gain needed to recover from a drawdown and, optionally, how many losing trades in a row at a fixed risk per trade cause it. Computed with the same function as Clear Tape's free drawdown recovery calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"loss": {
"type": "number",
"description": "Drawdown in percent of the account (20 = 20%). Above 0, below 100.",
"exclusiveMinimum": 0,
"exclusiveMaximum": 100
},
"riskPct": {
"type": "number",
"description": "Optional: risk per trade in percent of the account. Above 0, below 100.",
"exclusiveMinimum": 0,
"exclusiveMaximum": 100
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"loss"
],
"additionalProperties": false
}π’calculate_kelly_criterion(winRate, payoff, fraction, lang)
Full and fractional Kelly risk per trade from a win rate and payoff ratio, with the edge per 1R and the break-even win rate. Computed with the same function as Clear Tape's free kelly criterion calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"winRate": {
"type": "number",
"description": "Win rate in percent. Above 0, below 100.",
"exclusiveMinimum": 0,
"exclusiveMaximum": 100
},
"payoff": {
"type": "number",
"description": "Payoff ratio: average win divided by average loss (2 = winners twice the size of losers).",
"exclusiveMinimum": 0,
"maximum": 1000000
},
"fraction": {
"type": "number",
"description": "Share of full Kelly to use, in percent: 25 = quarter Kelly, 50 = half, 100 = full. Above 0, at most 100.",
"exclusiveMinimum": 0,
"maximum": 100
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"winRate",
"payoff",
"fraction"
],
"additionalProperties": false
}π’calculate_trading_cost(entry, stop, target, shares, commission, ...)
The cost of one round trip (commissions, bid-ask spread, slippage) in USD, in R, as a share of the target move and of the position, and over a year of trades. Computed with the same function as Clear Tape's free trading cost calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"entry": {
"type": "number",
"description": "Entry price per share in USD.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"stop": {
"type": "number",
"description": "Stop price per share in USD; not equal to the entry.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"target": {
"type": "number",
"description": "Optional: target price per share in USD, on the other side of the entry from the stop.",
"exclusiveMinimum": 0,
"maximum": 10000000
},
"shares": {
"type": "number",
"description": "Number of shares.",
"exclusiveMinimum": 0,
"maximum": 1000000000
},
"commission": {
"type": "number",
"description": "Commission per order (each side) in USD; 0 if none.",
"minimum": 0,
"maximum": 1000000
},
"spread": {
"type": "number",
"description": "Bid-ask spread per share in USD (paid once per round trip, half on each side).",
"minimum": 0,
"maximum": 10000000
},
"slippage": {
"type": "number",
"description": "Slippage per share per side in USD.",
"minimum": 0,
"maximum": 10000000
},
"trades": {
"type": "number",
"description": "Optional: round trips per year, for the annual cost.",
"exclusiveMinimum": 0,
"maximum": 1000000
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"entry",
"stop",
"shares",
"commission",
"spread",
"slippage"
],
"additionalProperties": false
}π’calculate_losing_streak(winRate, trades, streak, lang)
The exact probability of at least one losing streak of a given length over a number of independent trades, the expected longest streak and the streak 95% of sequences stay within. Computed with the same function as Clear Tape's free losing streak calculator page (linked in the result), not estimated. Returns the inputs, each result with its unit, the formula and the page link. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"winRate": {
"type": "number",
"description": "Win rate in percent. Above 0, at most 100.",
"exclusiveMinimum": 0,
"maximum": 100
},
"trades": {
"type": "integer",
"minimum": 1,
"maximum": 2000,
"description": "Number of trades, a whole number from 1 to 2000."
},
"streak": {
"type": "integer",
"minimum": 1,
"maximum": 2000,
"description": "Losing streak length to test, a whole number no larger than trades."
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"winRate",
"trades",
"streak"
],
"additionalProperties": false
}π’get_trading_system_rules(id, lang)
Without id: lists Clear Tape's eleven preset trading systems (trend, breakout, momentum and volume) with their style, holding period and one-line entry, stop and exit. With id: one system's exact written rules (entry, stop, exit, target, parameters, the data it needs, terms, where it differs from the published method), its strengths, weaknesses, who it suits and its sources, worded exactly as on its strategy page. Rules only: no signals, no prices, no performance figures. Educational, not investment advice.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"leader-trend-filter",
"20-day-breakout",
"52-week-high-breakout",
"volume-base-breakout",
"21-ema-pullback",
"10-20-ema-crossover",
"rsi-2-strategy",
"bollinger-band-squeeze",
"pocket-pivot",
"nr7-inside-day-breakout",
"rs-line-new-high"
],
"description": "The system to describe; leave out to list them all."
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [],
"additionalProperties": false
}π’lookup_glossary_term(term, lang)
Looks up a trading term in Clear Tape's bilingual (English and Simplified Chinese) glossary of about 70 terms, such as "R multiple", "ATR", "drawdown" or "ζ’ζ". Matches names, abbreviations and pinyin, and tolerates misspellings. Returns the definition, the term in the other language, close matches and links.
Input Schema
{
"type": "object",
"properties": {
"term": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The term to look up, in English or Chinese."
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"term"
],
"additionalProperties": false
}π’search_learning(query, limit, lang)
Searches Clear Tape's free trading education by keyword: the Learn articles, the Academy lessons, the trading-strategy pages and the calculators, in English or Chinese. Returns titles, one-line summaries and links to read the full page. No market data.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Keywords, e.g. \"position sizing\" or \"εεΌεε½\"."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 8,
"description": "Most results to return (1 to 20, default 8)."
},
"lang": {
"type": "string",
"enum": [
"en",
"zh"
],
"default": "en",
"description": "Language of the returned text: \"en\" (default) or \"zh\" (Simplified Chinese)."
}
},
"required": [
"query"
],
"additionalProperties": false
}Community
Evidence