Enterprise Reservation Tools For MCP
PrimeCal exposes organisation-aware reservation operations through MCP so agents can work with the enterprise reservation system without bypassing application rules.
What These Tools Are For
Use these tools when an agent needs to:
- discover which organisations it can access
- switch the active organisation safely
- list resource types and resources inside that organisation
- calculate availability with the same blocking rules used by public booking
- create or review reservations without handling Stripe directly
Tool Surface
Organisation Context
primecal.organisations.listprimecal.organisations.active.setprimecal.organisations.billing.status.getprimecal.organisations.billing.settings.updateprimecal.organisations.stripe.onboardingLink.createprimecal.organisations.payments.debug.get
These tools let the agent discover and switch the active organisation. Later resource and reservation calls inherit that active organisation automatically.
The billing tools are admin-only and are intended for:
- checking whether Stripe is connected and usable
- updating billing-safe defaults such as the organisation currency
- preparing a Stripe onboarding handoff URL
- debugging payment-backed reservation state without exposing Stripe secrets
Reservation Catalog And Availability
primecal.resourceTypes.listprimecal.resources.listprimecal.reservations.availability.list
Availability uses the same domain logic as public booking:
- existing reservations
- resource-type scoping
- managed-user calendar blocking
Reservation Reads And Writes
primecal.reservations.listprimecal.reservations.getprimecal.reservations.create
primecal.reservations.create is intentionally narrow:
- it creates reservations only
- it does not create Checkout sessions
- it does not expose Stripe account identifiers or webhook state
Permission And Scope Model
Agent access is constrained at multiple layers:
- the agent API key authenticates the call
- the agent permission model controls which action keys are allowed
- organisation and resource-type scopes reduce what each tool can target
- the underlying PrimeCal services still enforce owner and role boundaries
Supported enterprise reservation scopes:
organisationIdsresourceTypeIds
Payment Guardrails
PrimeCal still keeps payment execution outside MCP.
Important behavior:
- tools do not return Stripe secrets
- tools do not start Checkout sessions, payment intents, or webhook flows
- the onboarding helper returns a hosted Stripe onboarding URL only for admins in an explicitly scoped organisation
- reservation creation is blocked for payment-required resource types unless the owner context is acting in an administrative organisation role
This keeps MCP useful for operational workflows without widening the payment surface.
Typical Agent Flow
- Call
primecal.organisations.list. - Call
primecal.organisations.active.set. - Call
primecal.resourceTypes.list. - Call
primecal.reservations.availability.list. - Call
primecal.reservations.createonly when the target flow is allowed.
For billing support flows:
- Call
primecal.organisations.active.set. - Call
primecal.organisations.billing.status.get. - Call
primecal.organisations.payments.debug.get. - Call
primecal.organisations.billing.settings.updateorprimecal.organisations.stripe.onboardingLink.createonly when the owner is acting as an organisation admin.
Example Admin Prompts
- "Check whether the active organisation has Stripe connected and tell me why paid bookings are blocked."
- "Update the active organisation billing currency to eur."
- "Prepare the Stripe onboarding link for the active organisation."
- "List the last 10 pending or failed payment-backed reservations for the active organisation."
Screenshot References
| Capture | File | Caption |
|---|---|---|
| Agent scope UI | docs/assets/agents/enterprise-reservations/mcp-agent-organisation-scope.png | Scope the agent to only the organisations and resource types it needs. |
| Tools list | docs/assets/agents/enterprise-reservations/mcp-tools-list-organisations-and-reservations.png | The MCP tool catalog should show organisation, availability, and reservation actions together. |
| Availability response | docs/assets/agents/enterprise-reservations/mcp-availability-tool-response.png | Availability responses should reflect reservation and own-calendar blocking, not only free inventory. |
| Non-payment create response | docs/assets/agents/enterprise-reservations/mcp-create-reservation-non-payment-response.png | Reservation creation succeeds for supported non-payment flows and returns the stored quote fields. |
| Payment-required denial | docs/assets/agents/enterprise-reservations/mcp-payment-required-denial.png | Payment handling stays outside MCP unless the owner context is acting in an administrative flow. |