tools.rs

 1mod context_server_registry;
 2mod copy_path_tool;
 3mod create_directory_tool;
 4mod delete_path_tool;
 5mod diagnostics_tool;
 6mod edit_file_tool;
 7mod fetch_tool;
 8mod find_path_tool;
 9mod grep_tool;
10mod list_directory_tool;
11mod move_path_tool;
12mod now_tool;
13mod open_tool;
14mod read_file_tool;
15mod terminal_tool;
16mod thinking_tool;
17mod web_search_tool;
18
19/// A list of all built in tool names, for use in deduplicating MCP tool names
20pub fn default_tool_names() -> impl Iterator<Item = &'static str> {
21    [
22        CopyPathTool::name(),
23        CreateDirectoryTool::name(),
24        DeletePathTool::name(),
25        DiagnosticsTool::name(),
26        EditFileTool::name(),
27        FetchTool::name(),
28        FindPathTool::name(),
29        GrepTool::name(),
30        ListDirectoryTool::name(),
31        MovePathTool::name(),
32        NowTool::name(),
33        OpenTool::name(),
34        ReadFileTool::name(),
35        TerminalTool::name(),
36        ThinkingTool::name(),
37        WebSearchTool::name(),
38    ]
39    .into_iter()
40}
41
42pub use context_server_registry::*;
43pub use copy_path_tool::*;
44pub use create_directory_tool::*;
45pub use delete_path_tool::*;
46pub use diagnostics_tool::*;
47pub use edit_file_tool::*;
48pub use fetch_tool::*;
49pub use find_path_tool::*;
50pub use grep_tool::*;
51pub use list_directory_tool::*;
52pub use move_path_tool::*;
53pub use now_tool::*;
54pub use open_tool::*;
55pub use read_file_tool::*;
56pub use terminal_tool::*;
57pub use thinking_tool::*;
58pub use web_search_tool::*;
59
60use crate::AgentTool;