feat: impl From<mcp_core::types::Tool> for ToolDefinition (#385)

* feat: impl From<mcp_core::types::Tool> for ToolDefinition

* feat(core): impl &mcp_core::types::Tool for ToolDefinition
This commit is contained in:
Joshua Mo 2025-04-09 23:07:55 +01:00 committed by GitHub
parent b7ba9bbd93
commit bc11decc0b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 22 additions and 0 deletions

View File

@ -204,6 +204,28 @@ where
} }
} }
#[cfg(feature = "mcp")]
impl From<&mcp_core::types::Tool> for ToolDefinition {
fn from(val: &mcp_core::types::Tool) -> Self {
Self {
name: val.name.to_owned(),
description: val.description.to_owned().unwrap_or_default(),
parameters: val.input_schema.to_owned(),
}
}
}
#[cfg(feature = "mcp")]
impl From<mcp_core::types::Tool> for ToolDefinition {
fn from(val: mcp_core::types::Tool) -> Self {
Self {
name: val.name,
description: val.description.unwrap_or_default(),
parameters: val.input_schema,
}
}
}
#[cfg(feature = "mcp")] #[cfg(feature = "mcp")]
#[derive(Debug, thiserror::Error)] #[derive(Debug, thiserror::Error)]
#[error("MCP tool error: {0}")] #[error("MCP tool error: {0}")]