Risk classes for MCP tools

Search, temporary reservation, binding booking and payment should use different authorization and confirmation levels.

Human approval

Before a binding action, the application must present price, conditions, identity and consequences and request explicit confirmation.

Audit and recovery

Every invocation needs a correlation ID, identity, inputs, result and timestamp. Cancellation and recovery belong in the original tool design.

The precise engineering question

The relevant question is how an AI-assisted booking path can remain authorized, explainable and recoverable. MCP standardizes discovery and invocation between an AI host and a server; it does not create travel inventory, contractual validity, authorization policy or transaction recovery.

The analysis must therefore name the host, client connection, domain server, authorization boundary and system of record. It must also state which data is informative, which state is revalidated and which action creates a legal or financial commitment.

Travel case study

Consider a flight exchange that retrieves the existing order, calculates alternatives, revalidates fare and inventory, presents the exact difference and executes once after approval. Every result carries supplier provenance, retrieval time, currency, material conditions and a validity boundary. The client may summarize these facts, but it must not convert an expired or indicative offer into confirmed availability.

Search, quote, hold, book, ticket, pay, exchange and cancel are separate risk classes. Binding execution follows a fresh backend check, an approval tied to the exact terms and an idempotency or deduplication mechanism.

Architecture and security controls

The host limits visible capabilities and explains actions; the MCP server validates schema, identity, tenant and object rights; the downstream system enforces its own business rules. No model decision substitutes for these independently enforceable controls.

Remote servers additionally require protected-resource metadata, correct token audience, transport security, origin validation, bounded egress and operational revocation. Tool results remain untrusted content and cannot acquire system authority through embedded instructions.

Failure analysis

A representative failure is reusing an approval after repricing, allowing cross-booking access, duplicating a write after timeout or logging traveller and payment data indiscriminately. Tests cover malformed input, denied access, stale state, supplier timeout, partial completion and duplicate delivery.

Observability separates model selection, client policy, MCP processing and supplier-system outcomes using a shared correlation identifier. Sensitive inputs are minimized or redacted rather than copied wholesale into logs.

Production evidence

Evidence includes version negotiation, capability compatibility, contract and negative tests, task correctness, inappropriate-call rate, user correction, latency, cost and recovery time. A successful demo is not production evidence.

The conclusion remains conditional: MCP is justified when reusable capability discovery and controlled model interaction add measurable value. A direct API or deterministic workflow remains preferable where those properties are unnecessary.

Primary sources and academic context

This page follows the versioned MCP specification and separates normative requirements from architectural recommendations.