Most of the mistakes in option analytics come from unit and sign disagreements, and this README states each one: vega per vol point, theta per calendar day, the opposite theta sign to Bloomberg, `t` floored to one day so zero-DTE does not collapse. That, more than the engine choice, is what makes numbers from it comparable with numbers from somewhere else.
The MCP face of DeskPricer, a local options pricing service for vanilla European and American equity options. It prices single options and multi-leg portfolios, solves for implied volatility, and decomposes PnL into the Greeks that caused it. Everything runs on your machine; the same engine also answers over a local HTTP endpoint designed for Excel's `WEBSERVICE` and `FILTERXML`.
- `price_option` returns price and Greeks for a single option
- `implied_volatility` backs vol out of a market price with a Brent solver
- `pnl_attribution` splits a move into delta, gamma, vega, theta, rho, vanna, volga and a residual
- `portfolio_greeks` aggregates across legs of a book
- Conventions are stated rather than assumed: vega per 1% vol point, theta and charm per calendar day, rho per 1% rate point, and theta's sign is the opposite of Bloomberg's DM<GO>
- An optional borrow cost `b`, so the effective cost of carry is `r − q − b`
The README's install line names `deskpricer`, which PyPI does not have; the project declares that name and version 3.5.0 in its own metadata. The entry point is the `deskpricer-mcp` command — full path if it is not on your PATH. No account and no key: the service binds to localhost and has no auth, no TLS and no rate limiting, which is deliberate for a desk tool and disqualifying for a shared one. Europeans and equivalent Americans are priced closed-form; other Americans use a binomial tree, and there is no finite-difference engine.
