Expand description
Schema manager: the top-level per-upstream view of an MCP server.
SchemaManager owns the canonical picture of what an upstream MCP
server exposes — its capabilities, tools, resources, prompts — and
how that picture changes over time. Other subsystems (sessions,
tool hiding, custom tools, audit, cloud sync) read from it.
This module consists of:
SchemaVersion/SchemaVersionId: immutable, content-hashed snapshot of one method’s merged payload.SchemaStore/MemorySchemaStore: pluggable persistence with a bounded in-memory default.SchemaManager: ingest + query + stale tracking. Calls existingcrate::protocol::schemahelpers for pagination and diffing.SchemaScanner: trait for active discovery (StandaloneorAttachedmode). No concrete implementation in this step.ScanTrigger: enumerates the reasons a scan is initiated.
Structs§
- Memory
Schema Store - In-memory
SchemaStorebacked by DashMap. - Scan
Result - One method’s merged
resultpayload from a scan. - Schema
Manager - Top-level handle for one upstream MCP server’s schema view.
- Schema
Version - A single captured schema payload for one method on one upstream.
- Schema
Version Id - Opaque, stable identifier for a
SchemaVersion.
Enums§
- Scan
Error - Errors that can arise during a scan.
- Scan
Mode - How the scanner acquires an MCP session for discovery calls.
- Scan
Trigger - Why a scan was started.
Traits§
- Schema
Scanner - Drives active schema discovery against an upstream.
- Schema
Store - Trait for schema version storage backends.