pub struct GitBranchListTool;Expand description
Tool for listing Git branches
Trait Implementations§
Source§impl Clone for GitBranchListTool
impl Clone for GitBranchListTool
Source§fn clone(&self) -> GitBranchListTool
fn clone(&self) -> GitBranchListTool
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 Tool for GitBranchListTool
impl Tool for GitBranchListTool
Source§type Args = GitBranchListArgs
type Args = GitBranchListArgs
Tool execution arguments - ALSO determines output type via ToolArgs::Output. Read more
Source§type Prompts = BranchListPrompts
type Prompts = BranchListPrompts
Prompt provider (MUST be from schema - tools cannot implement PromptProvider). Read more
Source§fn description() -> &'static str
fn description() -> &'static str
Human-readable description of what this tool does
Source§fn destructive() -> bool
fn destructive() -> bool
Can this tool delete or overwrite existing data? Read more
Source§fn idempotent() -> bool
fn idempotent() -> bool
Is calling this tool repeatedly with same args safe/idempotent? Read more
Source§async fn execute(
&self,
args: Self::Args,
_ctx: ToolExecutionContext,
) -> Result<ToolResponse<<Self::Args as ToolArgs>::Output>, McpError>
async fn execute( &self, args: Self::Args, _ctx: ToolExecutionContext, ) -> Result<ToolResponse<<Self::Args as ToolArgs>::Output>, McpError>
Execute the tool with given arguments. Read more
Source§fn validate_schema() -> Result<(), String>
fn validate_schema() -> Result<(), String>
Validate that schema generation works for this tool’s Args type. Read more
Source§fn input_schema() -> Arc<Map<String, Value>>
fn input_schema() -> Arc<Map<String, Value>>
Input schema - AUTO-GENERATED from Args type via
JsonSchema derive
Cached for performance - schema is computed once and reusedSource§fn output_schema() -> Arc<Map<String, Value>>
fn output_schema() -> Arc<Map<String, Value>>
Output schema - AUTO-GENERATED from
<Args as ToolArgs>::Output. Read moreSource§fn open_world() -> bool
fn open_world() -> bool
Does this tool interact with external systems (network, filesystem outside repo)? Read more
Source§fn prompt_name() -> Cow<'static, str>
fn prompt_name() -> Cow<'static, str>
Prompt name (defaults to “{
tool_name}_help”)Source§fn prompt_description() -> &'static str
fn prompt_description() -> &'static str
Prompt description (defaults to tool description)
Source§fn into_tool_route<S>(self) -> ToolRoute<S>
fn into_tool_route<S>(self) -> ToolRoute<S>
Convert this tool into an RMCP
ToolRoute Read moreSource§fn into_prompt_route<S>(self) -> PromptRoute<S>
fn into_prompt_route<S>(self) -> PromptRoute<S>
Convert this tool into an RMCP
PromptRoute Read moreSource§fn arc_into_tool_route<S>(self: Arc<Self>) -> ToolRoute<S>
fn arc_into_tool_route<S>(self: Arc<Self>) -> ToolRoute<S>
Convert Arc-wrapped tool into an RMCP
ToolRoute (optimized - no extra Arc allocation) Read moreSource§fn arc_into_prompt_route<S>(self: Arc<Self>) -> PromptRoute<S>
fn arc_into_prompt_route<S>(self: Arc<Self>) -> PromptRoute<S>
Convert Arc-wrapped tool into an RMCP
PromptRoute (optimized - no extra Arc allocation) Read moreAuto Trait Implementations§
impl Freeze for GitBranchListTool
impl RefUnwindSafe for GitBranchListTool
impl Send for GitBranchListTool
impl Sync for GitBranchListTool
impl Unpin for GitBranchListTool
impl UnwindSafe for GitBranchListTool
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToolPrompts for Twhere
T: Tool,
impl<T> ToolPrompts for Twhere
T: Tool,
Source§fn prompt_arguments() -> Vec<PromptArgument>
fn prompt_arguments() -> Vec<PromptArgument>
Get prompt arguments (calls schema’s PromptProvider)
Source§fn prompt(
args: <Self::Prompts as PromptProvider>::PromptArgs,
) -> Result<Vec<PromptMessage>, McpError>
fn prompt( args: <Self::Prompts as PromptProvider>::PromptArgs, ) -> Result<Vec<PromptMessage>, McpError>
Generate prompts (calls schema’s PromptProvider) Read more