Precise scope and non-goals

Tools, resources and prompts must be understood as three different server primitives: model-invoked tools, application-controlled resources and user-selected prompt templates. MCP does not supply inventory, commercial rules, traveller consent, settlement logic or the truth of a booking. Those responsibilities remain with the application and its systems of record.

A useful architecture therefore starts with the user task and authoritative data path, not with a list of SDK features. The protocol contract is valuable only when it preserves the domain contract behind it.

Protocol behaviour and responsibility

A connection starts with initialization, protocol-version negotiation and capability negotiation. Optional features must be detected at runtime and recorded in a compatibility matrix; clients and servers cannot assume that every peer implements the same capability set.

Tool and resource schemas validate structure, not business truth. The server still enforces authorization, object ownership, tenant boundaries, freshness and downstream preconditions. Results remain untrusted input to the host and model.

Travel architecture example

A concrete application is a repricing action as a tool, fare conditions as a resource and a user-invoked disruption-analysis template as a prompt. Every result should preserve source, retrieval time, currency and material conditions; a time-limited offer must not be presented as confirmed inventory.

Binding operations require a fresh state check, explicit presentation of the material change, an approval bound to those exact parameters and idempotent execution. PNR, ticket, EMD, order and itinerary are not interchangeable records.

Failure modes and security boundary

The principal failure modes are hiding a write behind a resource, allowing prompt text to override policy, underspecified schemas and treating annotations as trusted security claims. These are architecture defects, not problems that can be delegated to prompt wording or model judgement.

Controls belong at independently enforceable boundaries: the host limits exposure and obtains approval, the MCP server validates the request and identity, and the downstream system rechecks domain rights and state. Each layer must fail closed for operations it cannot establish safely.

Evidence for production use

Production readiness requires clear interaction ownership, schemas, side-effect classification, read-time authorization and adversarial result handling. A successful demonstration proves only that one path worked once; it does not establish compatibility, security, recovery or domain correctness.

Evaluation should separate model-selection errors, client policy failures, MCP server failures and supplier-system conflicts. Measures include task correctness, inappropriate calls, user corrections, stale-state rejection, latency, cost per successful outcome and recovery time.

Primary sources and academic context

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