Skip to main content
Glama
vlan_tools.py4.95 kB
from typing import Dict, Any, List, Callable from ..scope.vlan import ( mikrotik_create_vlan_interface, mikrotik_list_vlan_interfaces, mikrotik_get_vlan_interface, mikrotik_update_vlan_interface, mikrotik_remove_vlan_interface ) from mcp.types import Tool def get_vlan_tools() -> List[Tool]: """Return the list of VLAN interface tools.""" return [ # VLAN interface tools Tool( name="mikrotik_create_vlan_interface", description="Creates a VLAN interface on MikroTik device", inputSchema={ "type": "object", "properties": { "name": {"type": "string"}, "vlan_id": {"type": "integer", "minimum": 1, "maximum": 4094}, "interface": {"type": "string"}, "comment": {"type": "string"}, "disabled": {"type": "boolean"}, "mtu": {"type": "integer"}, "use_service_tag": {"type": "boolean"}, "arp": {"type": "string", "enum": ["enabled", "disabled", "proxy-arp", "reply-only"]}, "arp_timeout": {"type": "string"} }, "required": ["name", "vlan_id", "interface"] }, ), Tool( name="mikrotik_list_vlan_interfaces", description="Lists VLAN interfaces on MikroTik device", inputSchema={ "type": "object", "properties": { "name_filter": {"type": "string"}, "vlan_id_filter": {"type": "integer"}, "interface_filter": {"type": "string"}, "disabled_only": {"type": "boolean"} }, "required": [] }, ), Tool( name="mikrotik_get_vlan_interface", description="Gets detailed information about a specific VLAN interface", inputSchema={ "type": "object", "properties": { "name": {"type": "string"} }, "required": ["name"] }, ), Tool( name="mikrotik_update_vlan_interface", description="Updates an existing VLAN interface on MikroTik device", inputSchema={ "type": "object", "properties": { "name": {"type": "string"}, "new_name": {"type": "string"}, "vlan_id": {"type": "integer", "minimum": 1, "maximum": 4094}, "interface": {"type": "string"}, "comment": {"type": "string"}, "disabled": {"type": "boolean"}, "mtu": {"type": "integer"}, "use_service_tag": {"type": "boolean"}, "arp": {"type": "string", "enum": ["enabled", "disabled", "proxy-arp", "reply-only"]}, "arp_timeout": {"type": "string"} }, "required": ["name"] }, ), Tool( name="mikrotik_remove_vlan_interface", description="Removes a VLAN interface from MikroTik device", inputSchema={ "type": "object", "properties": { "name": {"type": "string"} }, "required": ["name"] }, ), ] def get_vlan_handlers() -> Dict[str, Callable]: """Return the handlers for VLAN interface tools.""" return { "mikrotik_create_vlan_interface": lambda args: mikrotik_create_vlan_interface( args["name"], args["vlan_id"], args["interface"], args.get("comment"), args.get("disabled", False), args.get("mtu"), args.get("use_service_tag", False), args.get("arp", "enabled"), args.get("arp_timeout") ), "mikrotik_list_vlan_interfaces": lambda args: mikrotik_list_vlan_interfaces( args.get("name_filter"), args.get("vlan_id_filter"), args.get("interface_filter"), args.get("disabled_only", False) ), "mikrotik_get_vlan_interface": lambda args: mikrotik_get_vlan_interface( args["name"] ), "mikrotik_update_vlan_interface": lambda args: mikrotik_update_vlan_interface( args["name"], args.get("new_name"), args.get("vlan_id"), args.get("interface"), args.get("comment"), args.get("disabled"), args.get("mtu"), args.get("use_service_tag"), args.get("arp"), args.get("arp_timeout") ), "mikrotik_remove_vlan_interface": lambda args: mikrotik_remove_vlan_interface( args["name"] ), }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tarcisiodier/mcp-mikrotik'

If you have feedback or need assistance with the MCP directory API, please join our Discord server