find_tool
Find a tool
Search the 236 quant tools by what you need, e.g. "value at risk", "black scholes greeks", "max drawdown". Returns names, toolsets and one-line descriptions, best first.
limitquery必填toolsetio.github.arhancanli由 GitHub 帳號 arhancanli 發布v0.3.0更新於 Nov 4, 2026
235 quant tools and 399 strategy sleeves, checked against QuantLib, statsmodels, arch or TA-Lib.
本機 MCP 伺服器,提供 236 個量化金融計算工具,涵蓋績效、選擇權、指標、計量經濟、投資組合、策略袖套與標註,全部依你提供的資料計算。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
參照 儲存庫 中的啟動說明。
236 quant finance tools in one MCP server: performance and risk, options and exotics, fixed income, portfolio construction, econometrics, technical indicators, execution, sizing, crypto and FX, valuation, strategy backtests, a library of 399 strategy sleeves, data checks, and data annotation and ML labeling. Every tool computes on the data you send, and every tool's results are checked in the test suite against an independent implementation (QuantLib, statsmodels, arch, TA-Lib, numpy-financial, scikit-learn, empyrical, scipy, pandas, dcor): 465 reference cases, plus planted-defect tests for the data checks.
Local stdio, no key, no account, no network calls: your data never leaves your machine (see Privacy, enforced by tests).
Computed NaN and Infinity values are refused with a tool error naming the affected fields. They do not become unexplained nulls or receive a success receipt. Check the input scale and the calculation's domain. Ordinary finite answers and null warm-up positions are preserved.
canli-quant-mcp on canlicapital.com · All Canli Capital MCP servers. Free, MIT-licensed. For every server behind one install, use canli-mcp.
Listing 238 tools directly costs 83,944 tokens of context (o200k) on every request. By default this server lists three, 680 tokens:
find_tool ranks with BM25 over each tool's name, title, keywords and description, with stemming
and finance abbreviations (cvar, npv, irr, ytm...). On 110 test requests it returns the right tool
first 94% of the time and in the top three 99% (test/search.test.mjs), so a model rarely needs a
second search. run_tool takes digits (3-10 significant figures; default 10) to cut output tokens
when full precision is not needed: 9-19% fewer tokens at 4-6 digits on the results we measured.
Measured on an Apple-silicon laptop (Node 24): connect and initialize 140 ms; a typical tool call
0.26 ms median over stdio; find_tool 1 ms; a full 399-sleeve tournament on 1,200 days of six
assets about 2 s.
The tool list is byte-identical across launches, so providers can cache it. To list toolsets
directly instead, set CANLI_TOOLSETS to a comma-separated list (e.g. performance,options, 8,053
tokens for performance alone) or all.
Claude Code:
Claude Desktop, Cursor or any MCP client:
Then ask, for example:
Prompts chain the tools for common jobs: analyze_strategy, audit_backtest, value_company,
price_option, test_mean_reversion, build_portfolio, analyze_trade_log, sleeve_tournament,
build_sleeve_book, label_dataset, check_dataset.
Resources: canli-quant://catalog (every tool), canli-quant://methods (what each toolset is
checked against), canli-quant://tools/{name} (one tool's schema), canli-quant://sleeves (the sleeve
library), canli-quant://sleeves/{id} (one sleeve's spec) and canli-quant://privacy.
399 strategy sleeves in 18 families, each a published idea with its usual parameters swept on a plain grid: moving-average crossovers, time-series momentum, multi-horizon trend, channel breakouts, MACD, z-score and RSI reversion, volatility targeting, cross-sectional momentum, dual momentum, risk parity, equal weight, minimum variance, low volatility, short-term reversal, trend-filtered allocation, 52-week-high momentum and pairs. Every sleeve has a fixed rule, a stated warm-up, references, known risks and a SHA-256 of its spec. None was picked because it backtested well: they are definitions, not track records.
Running many strategies and keeping the best is how backtests overfit, so the tools that run many sleeves at once correct for it:
The tests check that no sleeve looks ahead (rewriting future prices never changes an earlier
target), that none trades before its warm-up, and that the tournament's statistics match arch's Reality Check and an independent re-studentized SPA
and StepM on the same bootstrap draws, scipy's clustering and an independent numpy CSCV.
run_sleeve and combine_sleeves return target_weights by symbol, which a paper broker such as
canli-paper-trading-mcp can rebalance to.
The labeling toolset annotates your own data and turns it into training labels without leakage:
Each label says which future periods it used, so purging and embargoing are exact. The methods follow Lopez de Prado's Advances in Financial Machine Learning, checked against pandas ports of its code.
Your data stays on your machine. The server is a local stdio process with no network code, writes
nothing to disk, logs nothing, starts no processes, and keeps arguments only for the duration of a
call. test/privacy.test.mjs holds the code to that with a static scan of every source file and by
running the server under Node's permission model, with reads limited to its own package and
writes, child processes and workers denied. For the same lockdown in use:
canli-quant://privacy states the guarantees from inside the server. Calculation receipts carry
hashes, never the data.
run_tool with receipt: true returns the SHA-256 of the tool name and arguments, the SHA-256 of
the result, and the server version. Anyone can run the same tool with the same arguments on that
version and compare the output hash. Results are deterministic: no clock, no network, and the only
randomness is the sleeve bootstrap, drawn from a stated seed.
Every recipe and backtest_weights take curve: true (and optional dates) to add the equity curve against buy-and-hold, the drawdown, the exposure and every trade, for charts.
A number from a correct formula on bad inputs is still wrong. Run the data_checks tools on
unfamiliar data first. A backtest of one parameter set says little if many were tried: count them,
and use strategy_sweep, sleeve_tournament or deflated_sharpe_ratio. A sleeve that survives
every correction on one history is still a backtest: forward results are the evidence. Closed-form models (Black-Scholes, Heston,
SABR, Kirk) carry their assumptions; the result names the model.
Reference fixtures are regenerated by the Python scripts in scripts/reference/ (each script's
docstring gives its exact uv run command). The tests never call Python; they compare against the
committed fixtures.
MIT licence.
來源:mcp-quant/README.md,提交 29fcad6
Find a tool
Search the 236 quant tools by what you need, e.g. "value at risk", "black scholes greeks", "max drawdown". Returns names, toolsets and one-line descriptions, best first.
limitquery必填toolsetDescribe a tool
Get one tool's full description and exact input JSON Schema before calling run_tool.
name必填Run a tool
Run any quant tool by name with its arguments, e.g. {name: "sharpe_ratio", arguments: {returns: [0.01, -0.02, 0.015]}}.
name必填digitsreceiptarguments已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
npx -y canli-quant-mcpclaude mcp add canli-quant -- npx -y canli-quant-mcp{ "mcpServers": { "canli-quant": { "command": "npx", "args": ["-y", "canli-quant-mcp"] } } }npm i -g canli-quant-mcpnode --permission --allow-fs-read="$(npm root -g)/canli-quant-mcp" "$(npm root -g)/canli-quant-mcp/src/server.mjs"npm ci && npm test