1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Shared validation utilities
/// Check if a tool name is valid (either known or properly formatted MCP tool).
/// MCP tools must follow the format: mcp__<server>__<tool> (case-sensitive, lowercase prefix).
///
/// # Examples
/// ```
/// use agnix_core::validation::is_valid_mcp_tool_format;
///
/// assert!(is_valid_mcp_tool_format("mcp__filesystem__read_file", &["Read", "Write"]));
/// assert!(is_valid_mcp_tool_format("Read", &["Read", "Write"]));
/// assert!(!is_valid_mcp_tool_format("mcp__", &["Read"])); // Empty
/// assert!(!is_valid_mcp_tool_format("mcp__server", &["Read"])); // No tool part
/// assert!(!is_valid_mcp_tool_format("MCP__server__tool", &["Read"])); // Uppercase
/// ```