use crate::mcp::{GenericMeta, IntoMcpNotification, McpNotification};
use serde::{Deserialize, Serialize};
#[serde_with::skip_serializing_none]
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct ToolListChangedNotificationParams {
#[serde(rename = "_meta")]
pub meta: Option<GenericMeta>,
}
impl ToolListChangedNotificationParams {
pub fn new() -> Self {
Self::default()
}
pub fn with_meta(mut self, meta: GenericMeta) -> Self {
self.meta = Some(meta);
self
}
}
impl IntoMcpNotification for ToolListChangedNotificationParams {
const METHOD: &'static str = "notifications/tools/list_changed";
}
pub type ToolListChangedNotification = McpNotification<ToolListChangedNotificationParams>;