Revmng Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Revmng Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- mcp-name: io.github.arikanatakan/revmng-mcp -->
An MCP server that exposes revmng, the revenue-management library for Python, as tools for AI agents: seat protection (Littlewood, EMSR and the exact dynamic program), overbooking, pricing, group and length-of-stay decisions, network bid prices, and ready-to-show charts.
Agents asked to set a booking limit or evaluate a group tend to do the arithmetic themselves, and the standard methods are easy to get subtly wrong: a protection level computed from the wrong tail, a group accepted without costing the demand it displaces, EMSR confused with the optimum. The calculation belongs in a deterministic, versioned, validated library that the agent calls, which leaves the agent to choose the analysis and explain the result.
revmng-mcp architecture: an AI agent calls the server's analysis and chart tools, which route to the validated revmng core and return structured JSON or a PNG chart
Analysis tools return the library's payload: the decision, supporting figures and provenance.
| Tool | Purpose |
|---|---|
protection_levels | nested protection levels and booking limits (EMSR-b, EMSR-a or the exact optimal DP) |
overbooking_limit | authorization limit, by service level or the cost trade-off |
newsvendor | the critical-fractile stocking quantity |
optimal_price | the profit-maximising price for a linear or constant-elasticity demand curve |
revenue_opportunity | the revenue opportunity metric (ROM) against perfect and no-control benchmarks |
evaluate_group | accept or reject a group by displacement analysis |
evaluate_stay | accept or reject a multi-night stay against nightly bid prices |
bid_prices | network bid prices from the deterministic LP |
metrics | RevPAR, ADR, occupancy, yield and load factor |
describe_inputs | the input fields and the method definitions |
Chart tools return a PNG image.
| Tool | Purpose |
|---|---|
protection_chart | the nested booking limits, or the EMSR curves |
overbooking_chart | the overbooking cost trade-off |
price_chart | revenue, profit and demand against price |
newsvendor_chart | expected profit against order quantity |
revenue_opportunity_chart | perfect, no-control and realised revenue |
bid_price_chart | the bid price per resource |
All tools are read-only.
Run it with uv (no install needed):
uvx revmng-mcpor install from PyPI:
pip install revmng-mcpAdd it to your MCP client. For example:
{
"mcpServers": {
"revmng": {
"command": "uvx",
"args": ["revmng-mcp"]
}
}
}If you installed with pip, use "command": "revmng-mcp" with no args.
protection_levels(classes=[
{"fare": 1000, "mean": 30, "sd": 12},
{"fare": 700, "mean": 40, "sd": 15},
{"fare": 400, "mean": 60, "sd": 20}
], capacity=120, method="emsr_b")
-> { "method": "EMSR-b",
"booking_limits_int": [120, 97, 50],
"summary": "EMSR-b - capacity 120 ..." }The server is a thin, stateless wrapper. All of the arithmetic lives in the revmng library, which computes from the standard methods and is validated against published worked examples (Phillips 2005) and cross-checked against an exact dynamic program. The server adds the tool schema, read-only annotations and an input-schema helper so an agent can format the input and act on the result. Demand is supplied by the caller; forecasting is out of scope.
MIT. Written and maintained by Atakan Arikan, MSc Student at Tsinghua University and Politecnico di Milano.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.