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
39
40
41
//! MCP tool definitions -- split by category, each with its own `tool_router`.
//!
//! Each submodule defines tools in a separate `#[tool_router]` impl block.
//! Routers are combined via `+` in `McpServer::tool_router()`.
//!
//! # Surface by category
//!
//! - **navigation** — session bootstrap: `connect`, `navigate`, `page`
//! - **content** — observation + light JS: `snapshot`, `screenshot`,
//! `evaluate`, `search_page`
//! - **network** — session diagnostics: `diagnostics`
//! - **script** — imperative scripting: `run_script` (the action path)
//! - **extensions** — `ferridriver_extensions`: introspect loaded plugins
//!
//! Browser interaction flows through `run_script`, which exposes `page`,
//! `context`, and `request` globals over the ferridriver core.
use crateMcpServer;
use ToolRouter;