Skip to main content

Tool

Derive Macro Tool 

Source
#[derive(Tool)]
{
    // Attributes available to this derive:
    #[tool]
}
Expand description

Derive an agent_sdk::SimpleTool impl from struct-level #[tool(...)] attributes.

See the crate-level docs for the full attribute list and an example. Required: name and description. Optional: display_name, tier, schema (a serde_json::Value expression; defaults to {"type":"object"}), and context (the Ctx type; defaults to ()).

The struct must implement agent_sdk::ToolLogic<Ctx> with type Input = serde_json::Value to supply the execute body.