1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Task-oriented guides for building and operating tower-mcp applications.
//!
//! These guides complement the API reference and point to the authoritative
//! MCP specification for wire-protocol semantics:
//!
//! - [`client`]: transports, lifecycle, callbacks, requests, caching, retries,
//! and shutdown.
//! - [`deployment`]: endpoint mounting, reverse proxies, origin and host
//! policy, sessions, scaling, timeouts, health, and middleware order.
//! - [`protocol_versions`]: compile-time availability, runtime allowlists,
//! lifecycle differences, interoperability, and upgrades.
//! - [`oauth`]: protected resource servers, interactive clients,
//! service-to-service clients, persistence, and production policy.
//! - [`mcp_apps`]: typed MCP Apps resources, negotiation, fallback, CSP,
//! permissions, and visibility.
//! - [`schema_validation`]: checking tool arguments against `inputSchema`
//! and `structuredContent` against `outputSchema`, deriving output schemas,
//! the error format, and opting out.
//! - [`local_runtime`]: serving tools, resources and prompts backed by
//! `!Send` state, such as an embedded interpreter, through a channel to a
//! task on a `LocalSet`, and reloading them as one set.
//! - [`tracing`]: sending and reading W3C trace context (SEP-414) and linking
//! it to OpenTelemetry with `tracing-opentelemetry`.
// Each guide is gated on the features its examples use. The guides are
// doc-only, so this is invisible to callers, and it stops a default-features
// reader being shown a page of examples they cannot compile. docs.rs builds
// with all features, so every guide still renders there (#1275).