pub struct Tool {
pub activated: Option<bool>,
pub description: Option<String>,
pub dispatchable: Option<bool>,
pub input_schema: Option<Option<Value>>,
pub name: Option<String>,
pub price: Option<Box<Price>>,
pub source: Option<String>,
}Fields§
§activated: Option<bool>Activated is filled by the registry from the activation store for the requesting (org,project); providers leave it zero. An unactivated tool is discoverable but refused 403 at dispatch.
description: Option<String>Description is the prose a model reads to decide whether to call the tool.
dispatchable: Option<bool>Dispatchable is whether the tool can be CALLED. False for a listing-only entry: a skill is activated and attached to an agent, never called.
input_schema: Option<Option<Value>>§name: Option<String>Name is the tool’s id in the flat, fleet-wide tool namespace — the value a tools/call passes. Unique across sources: a collision is resolved by source precedence before the caller ever sees it.
price: Option<Box<Price>>Price is what a call costs and who is paid, absent for a free tool. Enforcement is the x402 settlement client; this is the declaration.
source: Option<String>Source is where the tool comes from: connector, function, zap-service, agent, skill or mcp.