Install
$ agentstack add mcp-arikanatakan-revmng-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
revmng-mcp
[](https://github.com/arikanatakan/revmng-mcp/actions/workflows/ci.yml) [](https://pypi.org/project/revmng-mcp/) [](LICENSE)
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.
Tools
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.
Installation
Run it with uv (no install needed):
uvx revmng-mcp
or install from PyPI:
pip install revmng-mcp
Configuration
Add 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.
Example
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 ..." }
Design
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.
Related
- revmng: the library this server wraps.
License
MIT. Written and maintained by Atakan Arikan, MSc Student at Tsinghua University and Politecnico di Milano.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: arikanatakan
- Source: arikanatakan/revmng-mcp
- License: MIT
- Homepage: https://pypi.org/project/revmng-mcp/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.