Add list_networks, create_network, delete_network tools (Gruppe 4)
list_networks: SYNO.Docker.Network/list → shows name, driver, subnet, gateway, attached containers. Response key is "network" (not "networks"). create_network(name, driver, subnet, gateway, ip_range, enable_ipv6, confirmed): Dry-run preview without confirmed=True. Passes enable_ipv6 as json.dumps(bool) per N4S4 reference. Optional params (subnet, gateway, iprange) omitted from request when not provided. delete_network(name, confirmed): Validates network exists and has no attached containers before deleting. Clear error listing attached container names if blocked. 15 unit tests covering all paths. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,7 @@ def create_server(config: AppConfig, client: DsmClient) -> FastMCP:
|
||||
from mcp_synology_container.modules.compose import register_compose
|
||||
from mcp_synology_container.modules.containers import register_containers
|
||||
from mcp_synology_container.modules.images import register_images
|
||||
from mcp_synology_container.modules.networks import register_networks
|
||||
from mcp_synology_container.modules.projects import register_projects
|
||||
from mcp_synology_container.modules.system import register_system
|
||||
|
||||
@@ -37,6 +38,7 @@ def create_server(config: AppConfig, client: DsmClient) -> FastMCP:
|
||||
register_compose(mcp, config, client)
|
||||
register_images(mcp, config, client)
|
||||
register_system(mcp, config, client)
|
||||
register_networks(mcp, config, client)
|
||||
|
||||
logger.info("MCP server configured with all tool modules")
|
||||
return mcp
|
||||
|
||||
Reference in New Issue
Block a user