Skip to main content
Glama
mikki321

night-margin-mcp

by mikki321

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
analyze_portfolioA

The margin guard for Wheelhouse pricing. Computes a short-term rental portfolio's net after turnover costs (cleaning, laundry, travel): net per available night, leak (net-negative bookings), and the best and worst properties. Read-only — never changes any prices. from/to are optional — without them the window defaults to the last 30 + next 90 days.

compare_strategiesA

Simulates two pricing strategies and compares them to the baseline on net after turnover costs: A fills gap nights at a discount (default 40% off the property's ADR), B drops bookings below a minimum stay and raises the remaining prices (default min 3 nights, +10%). Shows gross, net, net/night, occupancy, turnovers, and leak per scenario — revealing when gross-optimizing fill is a net loss. Strategy A assumes every gap night sells at the discounted price — an upper bound, not a forecast. Read-only simulation — never changes any prices. from/to are optional — without them the window defaults to the last 30 + next 90 days.

gap_night_checkA

Checks whether filling a single gap night is worth it: computes the floor price (turnover cost + travel + minimum margin MIN_MARGIN, adjustable with the risk preset) from the median of the property's actual cost rows and compares the candidate price against it → FILL if price ≥ floor, otherwise SKIP. The verdict reports both the floor clearance and the actual net after turnover costs. If the date is already booked, reports which booking covers it. Read-only — never changes any prices.

propose_decisionsA

Proposes concrete pricing decisions in euros: finds upcoming gap nights where the current price recommendation is below your cost floor (turnover + travel + MIN_MARGIN, adjustable with the risk preset) and proposes fixing those nights at the floor so they can't sell below cost. Proposals are saved to the local decision log (NM_STATE_DIR, default ~/.night-margin). Window defaults to the next 30 days. Proposing never changes prices — prices change only when a decision is applied with apply_decision and explicit confirmation.

apply_decisionA

Applies a proposed pricing decision to Wheelhouse for real (writes fixed custom rates for the decision's gap nights). This tool DOES change prices — but only with explicit confirm=true; it defaults to a dry run that shows the exact payload without writing anything. The prior custom rates are snapshotted to the decision log before writing, so every applied decision can be undone with revert_decision. Requires WHEELHOUSE_API_KEY.

revert_decisionA

Reverts an applied pricing decision: deletes the custom rates it wrote in Wheelhouse and restores any prior custom rates from the snapshot taken before the write. This tool DOES change prices — but only with explicit confirm=true; without it you get a preview. Requires WHEELHOUSE_API_KEY.

set_targetA

Sets a monthly gross revenue target for a property (saved locally to NM_STATE_DIR, default ~/.night-margin). Shows the month's booked gross so far when it can be computed. analyze_portfolio then reports progress toward any targets whose month overlaps the analysis window.

check_alertsA

Read-only proactive check: (1) upcoming gap nights priced below your cost floor (recommended risk preset — same data as propose_decisions, but this tool never saves proposals to the decision log), and (2) new bookings since the last check, each shown net of turnover costs. Never writes prices. Sends a notification if a channel is configured (NM_TELEGRAM_BOT_TOKEN + NM_TELEGRAM_CHAT_ID, or NM_WEBHOOK_URL) and send is not false — without a channel configured, nothing is sent and the text report is returned as usual. Also available as night-margin-mcp --watch for cron.

review_historyA

Season review: mirrors your OWN past monthly Wheelhouse KPIs back at you — per month, your revenue, an ESTIMATED turnover cost, estimated net, and what fraction of gross the cleaning ate (turnover share), plus occupancy and ADR. Turnover cost is estimated from monthly averages (occupied nights ÷ average length of stay × AVG_TURNOVER_COST), not measured per booking, and is labeled as an estimate. It describes what already happened over your real history; it does NOT forecast, does NOT recommend or rank strategies, and does NOT say what you 'should have' done or what another strategy 'would have' earned. Window defaults to all available history (usually only a handful of months per listing — it states the real span, never 'last year' or '5 years' unless the data actually covers it). Read-only — never changes any prices and never writes any state. Requires WHEELHOUSE_API_KEY.

margin_copilotA

Margin Copilot: reads the same figures as propose_decisions, groups the gap nights priced below your cost floor into per-property money-moves, ranks them by below-floor exposure (biggest first), and weighs the options for each — Hold, Guard the floor (recommended), and where it applies, raise the minimum stay — with one marked recommended. The only euro figures are computed (below-floor exposure, floor levels); it does NOT invent a '30-day net' or option deltas that would require guessing fill probability, and it never claims an unsold night as a gain. Read-only — it never writes prices or state. Staging a recommended move routes to propose_decisions → apply_decision, where every write is previewed and needs an explicit confirm. Requires WHEELHOUSE_API_KEY (uses live price recommendations).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikki321/night-margin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server