pub struct ThinkToolHandler { /* private fields */ }Expand description
ThinkTool MCP Handler
Provides MCP tool interface for all 5 core ThinkTools:
- GigaThink: Expansive creative thinking
- LaserLogic: Precision deductive reasoning
- BedRock: First principles decomposition
- ProofGuard: Multi-source verification
- BrutalHonesty: Adversarial self-critique
§Example
ⓘ
let handler = ThinkToolHandler::new();
let args = HashMap::from([("query".to_string(), json!("Should we migrate to microservices?"))]);
let result = handler.call_tool("gigathink", args).await?;Implementations§
Source§impl ThinkToolHandler
impl ThinkToolHandler
Sourcepub fn tool_definitions() -> Vec<Tool>
pub fn tool_definitions() -> Vec<Tool>
Get all ThinkTool definitions for MCP registration
Returns a vector of Tool definitions with JSON schemas for input validation.
Trait Implementations§
Source§impl Default for ThinkToolHandler
impl Default for ThinkToolHandler
Source§impl ToolHandler for ThinkToolHandler
Implement ToolHandler trait for integration with MCP server
impl ToolHandler for ThinkToolHandler
Implement ToolHandler trait for integration with MCP server
Auto Trait Implementations§
impl Freeze for ThinkToolHandler
impl RefUnwindSafe for ThinkToolHandler
impl Send for ThinkToolHandler
impl Sync for ThinkToolHandler
impl Unpin for ThinkToolHandler
impl UnwindSafe for ThinkToolHandler
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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more