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
pip install -e plugins/mcp once, from wherever the marketplace checked this repo out to. If a tool call fails with "command not found", this 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.
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.