MCP Guide
Deterministic finance compute tools for Claude Desktop, Cursor, and any MCP-compatible client.
Package: @wynexlabs/strata-mcp@0.1.0 · Canonical source: github.com/WynexLabs/strata-mcp
What it is
A thin stdio-based Model Context Protocol server that forwards tool calls to Strata's hosted v1 API. Each tool is a Zod-validated input schema that maps to exactly one REST endpoint; no finance math runs in the MCP layer. All tools are read-only and idempotent.
Use Strata MCP for deterministic finance compute that LLMs are unreliable at: iterative YTM solves, Greeks scaling, Monte Carlo VaR, binomial trees, curve interpolation. Do not use it for commodity data lookup where a dedicated source exists (raw stock quotes, SEC filing search, FX spot rates, macro time series, definitions, or generic explanations).
Install
You need a Strata API key — create one at /account?tab=developer. Free tier: 100 req/day + 10 req/min. Plus: 1,000 + 60. Pro: 10,000 + 300.
Claude Desktop · ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"strata": {
"command": "npx",
"args": ["-y", "@wynexlabs/strata-mcp"],
"env": {
"STRATA_API_KEY": "sk_strata_live_your_key_here"
}
}
}
}Claude Code CLI · Register for this project
claude mcp add strata \
-s local \
-e STRATA_API_KEY=sk_strata_live_your_key_here \
-- npx -y @wynexlabs/strata-mcp
Cursor · ~/.cursor/mcp.json
{
"mcpServers": {
"strata": {
"command": "npx",
"args": ["-y", "@wynexlabs/strata-mcp"],
"env": { "STRATA_API_KEY": "sk_strata_live_your_key_here" }
}
}
}Tool reference
| Tool | Use when | Do not use when |
|---|
strata_price_bond POST /api/v1/compute/bond | Fixed-coupon bond price, YTM solve, clean/dirty/accrued, modified + Macaulay duration, convexity, DV01. | Callable / putable / OAS / FRN / TIPS / zero-coupon — those are v2. |
strata_bond_spreads POST /api/v1/compute/bond?benchmark=ust|ecb-aaa | G-spread vs UST (USD bonds) or ECB AAA euro-area govt curve (EUR bonds). | I-spread, ASW, Z-spread, OAS — v2 (blocked on trading-grade swap data). |
strata_bond_horizon POST /api/v1/compute/bond/horizon | Decompose total return over a horizon into carry + roll-down + price + reinvestment; scenario grid across yield-change shocks. | Spot YTM / price only — use strata_price_bond. |
strata_bond_stress POST /api/v1/compute/bond/stress | Named historical or non-parallel curve scenarios: covid-mar-2020, taper-tantrum-2013, fed-hike-cycle-2022, lehman-2008, bull/bear-steepener, bull/bear-flattener, positive/negative-butterfly. | Multi-bond portfolio stress — v2. |
strata_bond_oas POST /api/v1/compute/bond/oas | OAS, OAD, OAC for callable / putable bonds via a BDT lognormal binomial tree. Requires curvePoints + cleanPrice + at least one of callSchedule/putSchedule. | Option-free bullets — OAS collapses to Z-spread there; use strata_bond_spreads instead. |
strata_bond_krd POST /api/v1/compute/bond/krd | Key-rate durations and DV01 per bucket on the zero curve. Default tenors [0.5, 2, 5, 10, 30]. Returns krdSum and effectiveDuration for cross-check. | Single parallel-shift duration — use the duration field returned by strata_price_bond. |
strata_bond_zspread POST /api/v1/compute/bond/zspread | Zero-volatility spread — the constant continuous spread over the WHOLE zero curve that reprices the bond to its clean price (solved by bisection). Accounts for the full term structure, unlike a single-point G-spread. Pass faceValue + couponPct + frequencyPerYear + settlement/maturity + cleanPrice + curvePoints. | Callable/putable bonds — the option-adjusted spread differs; use strata_bond_oas. |
strata_bsm POST /api/v1/compute/bsm | European option price + full Greeks (delta, gamma, theta, vega, rho). Pass marketPrice to also get implied vol. | American early-exercise features, or path-dependent payoffs. |
strata_american_option POST /api/v1/compute/option/american | American call / put via CRR binomial tree; returns price + early-exercise boundary. | European vanilla options — strata_bsm is faster and closed-form. |
strata_portfolio_var POST /api/v1/compute/var | Monte Carlo VaR / CVaR from weights + expected returns + covariance matrix (N ≤ 50 assets). Normal or Student-t. | Full portfolio CRUD, benchmark attribution — v2. Mean-variance optimization — strata_compute_frontier. |
strata_compute_strategy POST /api/v1/compute/strategy | Multi-leg option strategies (straddle, spread, butterfly, condor, custom): net debit, position Greeks, exact max profit/loss, breakevens, P&L-at-expiry curve. Unbounded payoffs flagged. | Single-option pricing — strata_bsm. American exercise — strata_american_option. |
strata_compute_forward POST /api/v1/compute/forward | No-arbitrage forward pricing — equity cost-of-carry (F = S·e^{(r−q)T}, with carry decomposition) or FX covered interest-rate parity (F = S·e^{(r_d−r_f)T}, with forward points + % premium). | Options/Greeks — strata_bsm / strata_compute_strategy. Swap valuation — v2. |
strata_compute_frontier POST /api/v1/compute/frontier | Long-only box-constrained mean-variance efficient frontier from expected returns + a covariance matrix: the GMV portfolio, the max-Sharpe (tangency) portfolio, and the efficient arc. Exact convex QP (primal active-set). | Monte Carlo VaR/CVaR — strata_portfolio_var. Short-selling / leverage — not exposed (long-only). |
Example — price a 5-year corporate bond
Ask the assistant a question and it will decide which tool to call. The model will forward your input as a Zod-validated JSON object to strata_price_bond.
> Price a 5-year 4.30% semi-annual corporate bond at 4.25% YTM,
settling 2026-04-24, 30/360 day count, face 100.
[tool call] strata_price_bond {
faceValue: 100,
couponPct: 4.30,
frequencyPerYear: 2,
settlementDate: "2026-04-24",
maturityDate: "2031-04-24",
ytmPct: 4.25,
dayCountConvention: "30/360"
}
[result] price 100.2117
modDur 4.4606
convexity 23.2693
dv01 0.0447
accrued 0Example — American put with early-exercise boundary
> Price a 1-year American put, S=K=100, r=5%, sigma=25%, 500 steps.
[tool call] strata_american_option {
S: 100, K: 100, r: 0.05, sigma: 0.25, T: 1,
optionType: "put", steps: 500
}
[result] price 7.9724
everExercisesEarly true
earlyExerciseBoundary [{step:8, boundary:75.36}, …]Rate limits + auth
Every tool call sends your STRATA_API_KEY as a Bearer token. Rate limits are enforced per-key; when a 429 comes back, the assistant should stop retrying until retryAfter seconds have passed. Every response also carries an X-Request-ID header for support correlation.
Full REST endpoint reference, envelope shape, and error-code table: /docs/api.
Not in v1 scope
- Raw equity quotes, historical prices, SEC filings, FX spot, macro series — use the REST endpoints directly.
- Glossary / generic finance definitions.
- Multi-bond portfolio stress, efficient frontier, full IV surface, swap pricing — all tracked for v2.
- I-spread, ASW, Z-spread, OAS — blocked on trading-grade swap-curve data.