pub struct Service {
pub kind: ServiceKind,
pub endpoint: String,
pub headers: BTreeMap<String, String>,
pub tags: BTreeMap<String, Vec<String>>,
pub allow: Option<Vec<String>>,
pub exclude: Vec<String>,
pub auth: Option<Auth>,
pub rate: Option<String>,
pub timeout: Option<Dur>,
pub methods: Option<Vec<String>>,
pub breaker: Option<Value>,
}Expand description
A service catalog entry: a named external service this deployment may
use — connection settings, one shared credential, authoritative trifecta
tags (a floor for any matching endpoint, not just referencing ones), and a
tool-surface ceiling consumers can only narrow. The catalog itself dials
nothing; mcp.servers entries reference it.
Fields§
§kind: ServiceKind§endpoint: String§headers: BTreeMap<String, String>Authoritative trifecta tags: unioned into any consumer whose endpoint
matches this entry — referencing or inline, open or closed mode.
allow: Option<Vec<String>>The CEILING: the widest advertised-tool surface any consumer may get.
A consumer allow pattern not subsumed by this list is refused.
exclude: Vec<String>§auth: Option<Auth>§rate: Option<String>Per-instance pacing toward the service (<burst>/<per>, e.g. 60/1m),
shared by every consumer of the entry in this process.
timeout: Option<Dur>§methods: Option<Vec<String>>kind: http only — the METHOD ceiling for http steps against this
entry ([GET, POST]); absent = any method.
breaker: Option<Value>kind: mcp only — a default breaker: policy for mcp.tool steps
against this entry (same shape as the step field); a step’s own
breaker: wins.