You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(registries): MCP-866 trust/provenance model foundation (config + merge)
Foundation layer for user-added registries. CLI add-source, server-add-time
stamping/enforcement, REST/MCP surface, and docs follow in subsequent commits.
- Add registry provenance trust tags (official/trusted vs custom/unverified) to
both config and registries RegistryEntry, with IsTrusted() helpers.
- DefaultRegistries are tagged official/trusted.
- SetRegistriesFromConfig recomputes provenance AUTHORITATIVELY by ID: a
shipped-default ID is always official; anything user-added is
custom/unverified — a user cannot self-assert trust via config.
- ServerConfig gains SourceRegistryID + SourceRegistryProvenance so a server's
origin is recorded for the approval/quarantine view.
- Config validation rejects skip_quarantine for servers sourced from a
custom/unverified registry (quarantine-always; no user allowlist).
- RegistriesLocked enterprise stub knob (doc + add-source rejection only).
- Tests: provenance JSON round-trip, authoritative merge recompute (incl.
rejecting self-asserted trust), skip_quarantine rejection/allowance. config +
registries suites green with -race; golangci-lint 0 issues.
Refs MCP-866.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
EnabledTools []string`json:"enabled_tools,omitempty" mapstructure:"enabled_tools"`// Allowlist: only these tools are exposed; mutually exclusive with disabled_tools
253
260
DisabledTools []string`json:"disabled_tools,omitempty" mapstructure:"disabled_tools"`// Denylist: these tools are hidden; mutually exclusive with enabled_tools
261
+
262
+
// SourceRegistryID records which registry this server was added from (empty
263
+
// for manually-configured servers). MCP-866: surfaced in the approval /
264
+
// quarantine view so a reviewer can see a server's origin.
0 commit comments