pub struct ToolDescriptor {
pub server_id: String,
pub tool_name: String,
pub schema_json: Value,
pub description: Option<String>,
pub annotations: Value,
pub descriptor_hash: String,
pub first_seen_at: i64,
pub approved_at: Option<i64>,
}Expand description
MCP 工具描述符快照。
Fields§
§server_id: String该工具所属 server。
tool_name: String工具名(upstream 原始名,未 namespaced)。
schema_json: ValueMCP 提供的 JSON schema。
description: Option<String>工具描述文本。
annotations: ValueMCP 规范中的 annotations(readOnlyHint 等)。
descriptor_hash: Stringdescriptor 的规范化哈希(sha256(hex));I05 descriptor pinning 的唯一信任锚。
下游消费者应以此字段为权威,不要把其它字段(description / annotations)
当作已审批的可信输入 —— 它们的内容只要发生任何变化,descriptor_hash
就会改变,进而触发再审批。
first_seen_at: i64首次见到的时间(Unix epoch 秒)。
approved_at: Option<i64>若已审批:对当前 descriptor_hash 的审批时间(Unix epoch 秒)。
语义澄清(AGENTS.md §5):被审批的是“这一份 hash 所代表的 descriptor 快照“,
而非“本 server 提供的该工具永久可信“。descriptor 内容的任何漂移会让 hash 改变,
下游必须把 Some(_) && descriptor_hash == current 作为唯一可信判据。
Trait Implementations§
Source§impl Clone for ToolDescriptor
impl Clone for ToolDescriptor
Source§fn clone(&self) -> ToolDescriptor
fn clone(&self) -> ToolDescriptor
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToolDescriptor
impl Debug for ToolDescriptor
Source§impl<'de> Deserialize<'de> for ToolDescriptor
impl<'de> Deserialize<'de> for ToolDescriptor
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ToolDescriptor
impl PartialEq for ToolDescriptor
Source§fn eq(&self, other: &ToolDescriptor) -> bool
fn eq(&self, other: &ToolDescriptor) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ToolDescriptor
impl Serialize for ToolDescriptor
impl Eq for ToolDescriptor
impl StructuralPartialEq for ToolDescriptor
Auto Trait Implementations§
impl Freeze for ToolDescriptor
impl RefUnwindSafe for ToolDescriptor
impl Send for ToolDescriptor
impl Sync for ToolDescriptor
impl Unpin for ToolDescriptor
impl UnsafeUnpin for ToolDescriptor
impl UnwindSafe for ToolDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more