pub enum ToolOrigin {
System,
Mcp,
}Expand description
Tool origin classification
Distinguishes between provider-native tools and MCP protocol tools.
§Important
The origin is determined by how the tool is invoked, not by what it operates on:
System: Tool is built-in to the provider and invoked directly by the LLMMcp: Tool is invoked via MCP protocol (typically prefixed withmcp__)
§Examples
Bash(Claude Code) → System (provider-native tool)read_mcp_resource(Codex) → System (provider-native tool that happens to read MCP resources)mcp__sqlite__query→ Mcp (external tool invoked via MCP protocol)
Variants§
System
System-provided tool (built-in to the provider)
Mcp
MCP (Model Context Protocol) tool invoked via MCP protocol
Trait Implementations§
Source§impl Clone for ToolOrigin
impl Clone for ToolOrigin
Source§fn clone(&self) -> ToolOrigin
fn clone(&self) -> ToolOrigin
Returns a duplicate of the value. Read more
1.0.0 · 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 ToolOrigin
impl Debug for ToolOrigin
Source§impl<'de> Deserialize<'de> for ToolOrigin
impl<'de> Deserialize<'de> for ToolOrigin
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 ToolOrigin
impl PartialEq for ToolOrigin
Source§impl Serialize for ToolOrigin
impl Serialize for ToolOrigin
impl Copy for ToolOrigin
impl Eq for ToolOrigin
impl StructuralPartialEq for ToolOrigin
Auto Trait Implementations§
impl Freeze for ToolOrigin
impl RefUnwindSafe for ToolOrigin
impl Send for ToolOrigin
impl Sync for ToolOrigin
impl Unpin for ToolOrigin
impl UnwindSafe for ToolOrigin
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