pub struct ToolUseMeta {
pub id: String,
pub display_name: String,
pub server_display_name: Option<String>,
pub icon_url: Option<String>,
pub server_id: Option<String>,
pub server_id_stamp: Option<String>,
pub tool_name: Option<String>,
pub artifact_publish: Option<bool>,
}Expand description
Display metadata for a tool-use block carried on the assistant wrapper.
Fields§
§id: String§display_name: String§server_display_name: Option<String>§icon_url: Option<String>§server_id: Option<String>The mcpsrv_ connector id of a server provisioned by claude.ai, set
by the CLI from claude.ai’s own connector listing, so a client may
show the call as that connector’s. Not a permission grant (CLI
2.1.300+).
server_id_stamp: Option<String>The X-MCP-Server-ID header value, lower-cased, of an http entry in
the dynamic scope (passed at launch or by a later mcp_set_servers
push). The CLI checks only its shape, not whose it is: look it up in
your own server list, treat a miss as an unknown server (never an
error), and show a hit as the entry’s claim, not proof. Separate from
server_id; both are absent for plugin, repo,
settings and agent entries (CLI 2.1.300+).
tool_name: Option<String>The tool’s name as its server lists it, without the
mcp__<server>__ prefix (CLI 2.1.300+).
artifact_publish: Option<bool>Some(true) on a call to a publishing tool of an Artifacts MCP entry
that reaches only Anthropic’s server, which the CLI tells from the
entry itself, never its name. The finished call’s tool_use_result
usually carries the artifact’s url at its top level (and its title
where the server’s answer has one), but the mark promises neither,
and the url can come on an unmarked call; all are the worker’s word,
not proof. Sent only on the main loop’s own frames: never for a
subagent’s call or over Remote Control (CLI 2.1.321+).