385 functions,
right inside your agent.
8 domain skills, 5 architecture skills, and an MCP server exposing every pyvar function as a Claude Code tool — all generated straight from this repo, so none of it can drift out of sync with the live API.
Two commands to get started
$ /plugin marketplace add fibtecltd/pyvar
# install any skill…
$ /plugin install pyvar-market-risk@pyvar-marketplace
# …or the MCP server
$ /plugin install pyvar-mcp@pyvar-marketplace
uvx pyvar-mcp, which downloads it from PyPI the first time, so uv must be on your PATH. If a tool call fails with "command not found", a missing uv is almost certainly why.One skill per risk domain
How pyvar is actually built
Not risk domains — the infrastructure layers underneath them. Load these when you're extending pyvar itself, not just calling it: the Numba JIT rules, the Celery/SQS broker constraints, the storage and observability conventions this repo's own CLAUDE.md enforces.
Two tools to start.
385 more if you need them.
Use case: anyone who wants to call any of the 385 pyvar risk functions directly from a Claude Code session or Claude.ai chat — pricing an option, computing a VaR, checking a capital ratio — without writing HTTP client code by hand.
alm, credit-risk, derivatives, liquidity, market-risk, operational, portfolio, regulatory.params validated against that function's own schema before the request goes out. These two tools are the intended first choice — reaching for one generic dispatcher over guessing among 385 individually named tools keeps tool selection reliable at this scale.Every one of the 385 functions is also registered as its own precisely-typed tool — alm_stress_test, historical_simulation_var, and so on — for when you already know exactly which one you want.
# every call is a real HTTPS request
# against the live pyvar API
tool call_pyvar_function(
domain="market-risk",
function_name="historical_simulation_var",
params={...}
)
Generated, not hand-maintained.
All 13 skills and the MCP server's 385+2 tools are generated straight from this repo's own skills and function catalogue — CI fails if the committed output ever drifts from what regenerating produces.