lodging-decision-mcp
Agent-facing MCP server for lodging decisions (DI-001-A). Governed by Scenic-Stay/scenic-intelligence gauntlet/projects/decision-intelligence-v0.1.
Documentation
Lodging Decision MCP Server (alpha)
Narrow, agent-facing MCP server wrapping PR #25's (`Scenic-Stay/staygraph`, branch
`agent/scenicgraph-lodging-decision-api`) lodging-decision kernel unmodified. Governed by
`gauntlet/projects/decision-intelligence-v0.1/WORK-ORDERS.yaml`
(`DI-001-A`) in `Scenic-Stay/scenic-intelligence`. Read that Work Order before changing scope.
Live: `https://di-001-a-lodging-decision-mcp.scenicstay.workers.dev/mcp`
Extracted from `Scenic-Stay/staygraph` (`services/di-001-a-mcp-decision-server/`, branch
`agent/di-001-a-mcp-decision-server`, commits `8c8f4c7`/`f7df7b3`) into its own public repo so
GitHub-based MCP discovery (the Official MCP Registry, Glama's crawler) can find it without
exposing the rest of `staygraph`'s code. That branch is preserved as historical record; deploy
from this repo going forward.
What this is
One MCP tool, `lodging_decision`. Callers supply a traveler profile, trip context, and
a list of candidate listings; the tool returns a deterministic, evidence-backed
recommendation with score breakdown, tradeoffs, risk flags, missing information, and
confidence. It does not search inventory, book, transact, or persist anything.
Scope
Non-sensitive categories only: budget, location, amenities, quality/reviews,
cancellation policy, fees, remote-work/family/business/relocation/event trip framing,
and stated accessibility needs. No Safety & Belonging, Medical Recovery, or
protected-characteristic-adjacent input is accepted — see `src/guard.ts`, a
defense-in-depth denylist that rejects (does not silently strip) free-text fields
referencing a protected characteristic or discriminatory steering criterion, on top of
the fact that the underlying kernel has no such fields to begin with.
Structure
- `src/kernel/` — PR #25's contracts, scorer, validation, and fixtures, copied
byte-for-byte (`test/kernel-parity.test.ts` proves this against PR #25's own six
tests and committed example fixtures).
- `src/guard.ts` — the denylist guard described above.
- `src/worker.ts` — Cloudflare Worker entrypoint: MCP `WebStandardStreamableHTTPServerTransport`
at `POST /mcp`, plus a KV-backed soft daily request ceiling and a `/health` check.
- `test/` — kernel parity tests, guard tests.
Local development
npm install
npm test # kernel parity + guard tests
npm run typecheck
npm run dev # wrangler dev, serves http://127.0.0.1:8787/mcpDeploy
npm run deploy # wrangler deployRequires the `DI_001_A_ABUSE_CEILING` KV namespace bound in `wrangler.jsonc` (already
provisioned; see the Work Order's execution_result for the namespace ID and actual
Cloudflare cost recorded at deploy time).
Known limitations (carried over from PR #25, unresolved here)
Unauthenticated, unversioned, no rate limiting beyond the soft daily ceiling, not
calibrated against real human booking decisions. Do not expose to untrusted
high-volume traffic without a further hardening decision — see the Work Order's
circuit breakers for the manual kill-switch (pull the Worker; delist from all
directories) if abuse signals appear.
Frequently asked questions
What is lodging-decision-mcp?
lodging-decision-mcp is Agent-facing MCP server for lodging decisions (DI-001-A). Governed by Scenic-Stay/scenic-intelligence gauntlet/projects/decision-intelligence-v0.1.
How do I install lodging-decision-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is lodging-decision-mcp open source?
Yes — it is hosted on GitHub at https://github.com/Scenic-Stay/lodging-decision-mcp.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP