@usex/mikrotik-mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +296 -0
- package/dist/cli.js +12165 -0
- package/dist/index.d.ts +153 -0
- package/dist/index.js +11955 -0
- package/package.json +107 -0
- package/prompts/backup-and-document.md +31 -0
- package/prompts/choose-vpn-solution.md +45 -0
- package/prompts/diagnose-connectivity.md +38 -0
- package/prompts/harden-router.md +38 -0
- package/prompts/setup-guest-wifi.md +44 -0
- package/prompts/setup-ipsec-site-to-site.md +50 -0
- package/prompts/setup-l2tp-ipsec-roadwarrior.md +41 -0
- package/prompts/setup-tunnel-between-sites.md +56 -0
- package/prompts/setup-wireguard-vpn.md +41 -0
- package/schemas/README.md +14 -0
- package/schemas/config.schema.json +128 -0
- package/schemas/tool-catalog.json +14938 -0
- package/schemas/tools/add_address_list_entry.json +32 -0
- package/schemas/tools/add_bfd_configuration.json +41 -0
- package/schemas/tools/add_bgp_connection.json +90 -0
- package/schemas/tools/add_bgp_template.json +45 -0
- package/schemas/tools/add_blackhole_route.json +26 -0
- package/schemas/tools/add_bridge_port.json +33 -0
- package/schemas/tools/add_bridge_vlan.json +28 -0
- package/schemas/tools/add_default_route.json +29 -0
- package/schemas/tools/add_dns_regexp.json +31 -0
- package/schemas/tools/add_dns_static.json +63 -0
- package/schemas/tools/add_igmp_proxy_interface.json +39 -0
- package/schemas/tools/add_ip_address.json +33 -0
- package/schemas/tools/add_logging_action.json +71 -0
- package/schemas/tools/add_logging_rule.json +28 -0
- package/schemas/tools/add_netwatch.json +39 -0
- package/schemas/tools/add_ospf_area.json +45 -0
- package/schemas/tools/add_ospf_area_range.json +34 -0
- package/schemas/tools/add_ospf_instance.json +54 -0
- package/schemas/tools/add_ospf_interface_template.json +85 -0
- package/schemas/tools/add_pimsm_instance.json +40 -0
- package/schemas/tools/add_pimsm_interface_template.json +38 -0
- package/schemas/tools/add_pimsm_rp.json +32 -0
- package/schemas/tools/add_radius_server.json +63 -0
- package/schemas/tools/add_rip_instance.json +44 -0
- package/schemas/tools/add_rip_interface_template.json +35 -0
- package/schemas/tools/add_rip_static_neighbor.json +27 -0
- package/schemas/tools/add_route.json +56 -0
- package/schemas/tools/add_routing_filter_num_list.json +23 -0
- package/schemas/tools/add_routing_filter_rule.json +32 -0
- package/schemas/tools/add_routing_id.json +31 -0
- package/schemas/tools/add_routing_rule.json +63 -0
- package/schemas/tools/add_routing_table.json +29 -0
- package/schemas/tools/add_rpki_session.json +51 -0
- package/schemas/tools/add_script.json +29 -0
- package/schemas/tools/add_user.json +34 -0
- package/schemas/tools/add_user_group.json +27 -0
- package/schemas/tools/add_user_manager_limitation.json +34 -0
- package/schemas/tools/add_user_manager_profile.json +39 -0
- package/schemas/tools/add_user_manager_router.json +36 -0
- package/schemas/tools/add_user_manager_user.json +41 -0
- package/schemas/tools/add_wireguard_peer.json +47 -0
- package/schemas/tools/assign_user_manager_profile.json +20 -0
- package/schemas/tools/backup_info.json +14 -0
- package/schemas/tools/bandwidth_test.json +50 -0
- package/schemas/tools/change_password.json +20 -0
- package/schemas/tools/check_for_updates.json +7 -0
- package/schemas/tools/check_route_path.json +20 -0
- package/schemas/tools/check_wireless_support.json +7 -0
- package/schemas/tools/clear_logs.json +7 -0
- package/schemas/tools/commit_safe_mode.json +7 -0
- package/schemas/tools/create_backup.json +26 -0
- package/schemas/tools/create_basic_firewall_setup.json +7 -0
- package/schemas/tools/create_bridge.json +44 -0
- package/schemas/tools/create_certificate.json +48 -0
- package/schemas/tools/create_dhcp_network.json +51 -0
- package/schemas/tools/create_dhcp_pool.json +25 -0
- package/schemas/tools/create_dhcp_server.json +48 -0
- package/schemas/tools/create_eoip_tunnel.json +48 -0
- package/schemas/tools/create_export.json +51 -0
- package/schemas/tools/create_filter_rule.json +96 -0
- package/schemas/tools/create_gre_tunnel.json +53 -0
- package/schemas/tools/create_ip_pool.json +25 -0
- package/schemas/tools/create_ipip_tunnel.json +41 -0
- package/schemas/tools/create_ipsec_identity.json +58 -0
- package/schemas/tools/create_ipsec_peer.json +52 -0
- package/schemas/tools/create_ipsec_policy.json +66 -0
- package/schemas/tools/create_ipsec_profile.json +49 -0
- package/schemas/tools/create_ipsec_proposal.json +37 -0
- package/schemas/tools/create_l2tp_client.json +57 -0
- package/schemas/tools/create_nat_rule.json +71 -0
- package/schemas/tools/create_ovpn_client.json +73 -0
- package/schemas/tools/create_ppp_profile.json +62 -0
- package/schemas/tools/create_ppp_secret.json +54 -0
- package/schemas/tools/create_pptp_client.json +44 -0
- package/schemas/tools/create_queue_tree.json +62 -0
- package/schemas/tools/create_queue_type.json +158 -0
- package/schemas/tools/create_scheduler.json +40 -0
- package/schemas/tools/create_simple_queue.json +66 -0
- package/schemas/tools/create_sstp_client.json +52 -0
- package/schemas/tools/create_vlan_interface.json +60 -0
- package/schemas/tools/create_vxlan_tunnel.json +51 -0
- package/schemas/tools/create_wireguard_interface.json +35 -0
- package/schemas/tools/create_wireless_access_list.json +7 -0
- package/schemas/tools/create_wireless_interface.json +74 -0
- package/schemas/tools/create_wireless_security_profile.json +14 -0
- package/schemas/tools/disable_address_list_entry.json +15 -0
- package/schemas/tools/disable_dns_static.json +14 -0
- package/schemas/tools/disable_filter_rule.json +14 -0
- package/schemas/tools/disable_interface.json +14 -0
- package/schemas/tools/disable_ip_service.json +15 -0
- package/schemas/tools/disable_l2tp_client.json +14 -0
- package/schemas/tools/disable_nat_rule.json +14 -0
- package/schemas/tools/disable_ovpn_client.json +14 -0
- package/schemas/tools/disable_queue_tree.json +14 -0
- package/schemas/tools/disable_radius_server.json +15 -0
- package/schemas/tools/disable_route.json +15 -0
- package/schemas/tools/disable_scheduler.json +14 -0
- package/schemas/tools/disable_simple_queue.json +14 -0
- package/schemas/tools/disable_user.json +14 -0
- package/schemas/tools/disable_wireguard_interface.json +14 -0
- package/schemas/tools/disable_wireguard_peer.json +15 -0
- package/schemas/tools/disable_wireless_interface.json +14 -0
- package/schemas/tools/disconnect_ppp_active.json +15 -0
- package/schemas/tools/disconnect_user.json +14 -0
- package/schemas/tools/download_file.json +23 -0
- package/schemas/tools/enable_address_list_entry.json +15 -0
- package/schemas/tools/enable_dns_static.json +14 -0
- package/schemas/tools/enable_filter_rule.json +14 -0
- package/schemas/tools/enable_interface.json +14 -0
- package/schemas/tools/enable_ip_service.json +15 -0
- package/schemas/tools/enable_l2tp_client.json +14 -0
- package/schemas/tools/enable_nat_rule.json +14 -0
- package/schemas/tools/enable_ovpn_client.json +14 -0
- package/schemas/tools/enable_queue_tree.json +14 -0
- package/schemas/tools/enable_radius_server.json +15 -0
- package/schemas/tools/enable_route.json +15 -0
- package/schemas/tools/enable_safe_mode.json +7 -0
- package/schemas/tools/enable_scheduler.json +14 -0
- package/schemas/tools/enable_simple_queue.json +14 -0
- package/schemas/tools/enable_user.json +14 -0
- package/schemas/tools/enable_wireguard_interface.json +14 -0
- package/schemas/tools/enable_wireguard_peer.json +15 -0
- package/schemas/tools/enable_wireless_interface.json +14 -0
- package/schemas/tools/expand_ip_pool.json +19 -0
- package/schemas/tools/export_dns_config.json +11 -0
- package/schemas/tools/export_logs.json +28 -0
- package/schemas/tools/export_section.json +27 -0
- package/schemas/tools/export_user_config.json +11 -0
- package/schemas/tools/flush_dns_cache.json +7 -0
- package/schemas/tools/flush_ipsec_installed_sa.json +7 -0
- package/schemas/tools/flush_route_cache.json +7 -0
- package/schemas/tools/format_disk.json +34 -0
- package/schemas/tools/generate_wireguard_client_config.json +48 -0
- package/schemas/tools/get_active_users.json +7 -0
- package/schemas/tools/get_address_list_entry.json +15 -0
- package/schemas/tools/get_bgp_connection.json +15 -0
- package/schemas/tools/get_bridge.json +14 -0
- package/schemas/tools/get_certificate.json +14 -0
- package/schemas/tools/get_dhcp_server.json +14 -0
- package/schemas/tools/get_disk.json +15 -0
- package/schemas/tools/get_dns_cache.json +7 -0
- package/schemas/tools/get_dns_cache_statistics.json +7 -0
- package/schemas/tools/get_dns_settings.json +7 -0
- package/schemas/tools/get_dns_static.json +14 -0
- package/schemas/tools/get_eoip_tunnel.json +14 -0
- package/schemas/tools/get_filter_rule.json +15 -0
- package/schemas/tools/get_gre_tunnel.json +14 -0
- package/schemas/tools/get_igmp_proxy_settings.json +7 -0
- package/schemas/tools/get_installed_packages.json +7 -0
- package/schemas/tools/get_interface.json +15 -0
- package/schemas/tools/get_ip_address.json +15 -0
- package/schemas/tools/get_ip_pool.json +14 -0
- package/schemas/tools/get_ip_service.json +15 -0
- package/schemas/tools/get_ipip_tunnel.json +14 -0
- package/schemas/tools/get_ipsec_active_peers.json +7 -0
- package/schemas/tools/get_ipsec_installed_sa.json +7 -0
- package/schemas/tools/get_ipsec_peer.json +14 -0
- package/schemas/tools/get_ipsec_profile.json +14 -0
- package/schemas/tools/get_ipsec_proposal.json +14 -0
- package/schemas/tools/get_ipsec_statistics.json +7 -0
- package/schemas/tools/get_l2tp_client.json +14 -0
- package/schemas/tools/get_l2tp_server.json +7 -0
- package/schemas/tools/get_leds_settings.json +7 -0
- package/schemas/tools/get_license.json +7 -0
- package/schemas/tools/get_log_statistics.json +7 -0
- package/schemas/tools/get_logs.json +45 -0
- package/schemas/tools/get_logs_by_severity.json +29 -0
- package/schemas/tools/get_logs_by_topic.json +22 -0
- package/schemas/tools/get_nat_rule.json +15 -0
- package/schemas/tools/get_netwatch.json +14 -0
- package/schemas/tools/get_note.json +7 -0
- package/schemas/tools/get_ntp_client.json +7 -0
- package/schemas/tools/get_ntp_server.json +7 -0
- package/schemas/tools/get_ovpn_client.json +14 -0
- package/schemas/tools/get_ovpn_server.json +7 -0
- package/schemas/tools/get_poe_monitor.json +15 -0
- package/schemas/tools/get_poe_settings.json +15 -0
- package/schemas/tools/get_port.json +15 -0
- package/schemas/tools/get_ppp_active.json +12 -0
- package/schemas/tools/get_ppp_profile.json +14 -0
- package/schemas/tools/get_ppp_secret.json +14 -0
- package/schemas/tools/get_pptp_client.json +14 -0
- package/schemas/tools/get_pptp_server.json +7 -0
- package/schemas/tools/get_queue_tree.json +14 -0
- package/schemas/tools/get_queue_type.json +14 -0
- package/schemas/tools/get_radius_incoming.json +7 -0
- package/schemas/tools/get_radius_server.json +15 -0
- package/schemas/tools/get_regulatory.json +7 -0
- package/schemas/tools/get_route.json +15 -0
- package/schemas/tools/get_route_cache.json +7 -0
- package/schemas/tools/get_route_statistics.json +7 -0
- package/schemas/tools/get_routerboard.json +7 -0
- package/schemas/tools/get_routing_id.json +15 -0
- package/schemas/tools/get_routing_nexthop_stats.json +7 -0
- package/schemas/tools/get_routing_rule.json +15 -0
- package/schemas/tools/get_routing_settings.json +7 -0
- package/schemas/tools/get_routing_table.json +23 -0
- package/schemas/tools/get_routing_table_def.json +15 -0
- package/schemas/tools/get_scheduler.json +14 -0
- package/schemas/tools/get_security_logs.json +16 -0
- package/schemas/tools/get_simple_queue.json +14 -0
- package/schemas/tools/get_sstp_client.json +14 -0
- package/schemas/tools/get_sstp_server.json +7 -0
- package/schemas/tools/get_system_clock.json +7 -0
- package/schemas/tools/get_system_events.json +19 -0
- package/schemas/tools/get_system_health.json +7 -0
- package/schemas/tools/get_system_history.json +7 -0
- package/schemas/tools/get_system_identity.json +7 -0
- package/schemas/tools/get_system_resources.json +7 -0
- package/schemas/tools/get_user.json +14 -0
- package/schemas/tools/get_user_group.json +14 -0
- package/schemas/tools/get_user_manager_settings.json +7 -0
- package/schemas/tools/get_user_manager_user.json +14 -0
- package/schemas/tools/get_vlan_interface.json +14 -0
- package/schemas/tools/get_vxlan_tunnel.json +14 -0
- package/schemas/tools/get_watchdog.json +7 -0
- package/schemas/tools/get_wireguard_interface.json +14 -0
- package/schemas/tools/get_wireguard_peer.json +15 -0
- package/schemas/tools/get_wireless_interface.json +14 -0
- package/schemas/tools/get_wireless_registration_table.json +11 -0
- package/schemas/tools/get_wireless_security_profile.json +14 -0
- package/schemas/tools/import_certificate.json +23 -0
- package/schemas/tools/import_configuration.json +24 -0
- package/schemas/tools/list_address_lists.json +24 -0
- package/schemas/tools/list_backups.json +18 -0
- package/schemas/tools/list_bfd_configurations.json +7 -0
- package/schemas/tools/list_bfd_sessions.json +16 -0
- package/schemas/tools/list_bgp_advertisements.json +12 -0
- package/schemas/tools/list_bgp_connections.json +12 -0
- package/schemas/tools/list_bgp_sessions.json +16 -0
- package/schemas/tools/list_bgp_templates.json +7 -0
- package/schemas/tools/list_bridge_hosts.json +12 -0
- package/schemas/tools/list_bridge_ports.json +16 -0
- package/schemas/tools/list_bridge_vlans.json +12 -0
- package/schemas/tools/list_bridges.json +12 -0
- package/schemas/tools/list_certificates.json +12 -0
- package/schemas/tools/list_dhcp_servers.json +26 -0
- package/schemas/tools/list_disks.json +7 -0
- package/schemas/tools/list_dns_static.json +29 -0
- package/schemas/tools/list_eoip_tunnels.json +12 -0
- package/schemas/tools/list_filter_rules.json +43 -0
- package/schemas/tools/list_gmp_group_memberships.json +16 -0
- package/schemas/tools/list_gmp_interfaces.json +7 -0
- package/schemas/tools/list_gre_tunnels.json +12 -0
- package/schemas/tools/list_igmp_proxy_interfaces.json +7 -0
- package/schemas/tools/list_igmp_proxy_mfc.json +7 -0
- package/schemas/tools/list_interfaces.json +42 -0
- package/schemas/tools/list_ip_addresses.json +29 -0
- package/schemas/tools/list_ip_pool_used.json +20 -0
- package/schemas/tools/list_ip_pools.json +21 -0
- package/schemas/tools/list_ip_services.json +7 -0
- package/schemas/tools/list_ipip_tunnels.json +12 -0
- package/schemas/tools/list_ipsec_identities.json +12 -0
- package/schemas/tools/list_ipsec_peers.json +12 -0
- package/schemas/tools/list_ipsec_policies.json +7 -0
- package/schemas/tools/list_ipsec_profiles.json +12 -0
- package/schemas/tools/list_ipsec_proposals.json +12 -0
- package/schemas/tools/list_l2tp_clients.json +12 -0
- package/schemas/tools/list_leds.json +7 -0
- package/schemas/tools/list_logging_actions.json +12 -0
- package/schemas/tools/list_logging_rules.json +16 -0
- package/schemas/tools/list_mikrotik_devices.json +7 -0
- package/schemas/tools/list_nat_rules.json +38 -0
- package/schemas/tools/list_netwatch.json +12 -0
- package/schemas/tools/list_ospf_area_ranges.json +7 -0
- package/schemas/tools/list_ospf_areas.json +7 -0
- package/schemas/tools/list_ospf_instances.json +7 -0
- package/schemas/tools/list_ospf_interface_templates.json +7 -0
- package/schemas/tools/list_ospf_lsa.json +12 -0
- package/schemas/tools/list_ospf_neighbors.json +7 -0
- package/schemas/tools/list_ovpn_clients.json +12 -0
- package/schemas/tools/list_pimsm_instances.json +7 -0
- package/schemas/tools/list_pimsm_interface_templates.json +7 -0
- package/schemas/tools/list_pimsm_neighbors.json +7 -0
- package/schemas/tools/list_pimsm_rps.json +7 -0
- package/schemas/tools/list_poe.json +12 -0
- package/schemas/tools/list_ports.json +12 -0
- package/schemas/tools/list_ppp_profiles.json +12 -0
- package/schemas/tools/list_ppp_secrets.json +24 -0
- package/schemas/tools/list_pptp_clients.json +12 -0
- package/schemas/tools/list_queue_trees.json +26 -0
- package/schemas/tools/list_queue_types.json +14 -0
- package/schemas/tools/list_radius_servers.json +16 -0
- package/schemas/tools/list_rip_instances.json +7 -0
- package/schemas/tools/list_rip_interface_templates.json +7 -0
- package/schemas/tools/list_rip_neighbors.json +7 -0
- package/schemas/tools/list_rip_static_neighbors.json +7 -0
- package/schemas/tools/list_routes.json +44 -0
- package/schemas/tools/list_routing_filter_num_lists.json +12 -0
- package/schemas/tools/list_routing_filter_rules.json +12 -0
- package/schemas/tools/list_routing_filter_select_rules.json +7 -0
- package/schemas/tools/list_routing_ids.json +12 -0
- package/schemas/tools/list_routing_nexthops.json +19 -0
- package/schemas/tools/list_routing_rules.json +19 -0
- package/schemas/tools/list_routing_tables.json +12 -0
- package/schemas/tools/list_rpki_sessions.json +12 -0
- package/schemas/tools/list_schedulers.json +12 -0
- package/schemas/tools/list_scripts.json +12 -0
- package/schemas/tools/list_simple_queues.json +26 -0
- package/schemas/tools/list_special_login.json +7 -0
- package/schemas/tools/list_sstp_clients.json +12 -0
- package/schemas/tools/list_system_console.json +7 -0
- package/schemas/tools/list_user_groups.json +14 -0
- package/schemas/tools/list_user_manager_limitations.json +12 -0
- package/schemas/tools/list_user_manager_profiles.json +12 -0
- package/schemas/tools/list_user_manager_routers.json +12 -0
- package/schemas/tools/list_user_manager_sessions.json +20 -0
- package/schemas/tools/list_user_manager_user_profiles.json +12 -0
- package/schemas/tools/list_user_manager_users.json +12 -0
- package/schemas/tools/list_user_ssh_keys.json +14 -0
- package/schemas/tools/list_users.json +26 -0
- package/schemas/tools/list_vlan_interfaces.json +28 -0
- package/schemas/tools/list_vxlan_tunnels.json +12 -0
- package/schemas/tools/list_wireguard_interfaces.json +23 -0
- package/schemas/tools/list_wireguard_peers.json +18 -0
- package/schemas/tools/list_wireless_access_list.json +7 -0
- package/schemas/tools/list_wireless_interfaces.json +23 -0
- package/schemas/tools/list_wireless_security_profiles.json +7 -0
- package/schemas/tools/monitor_logs.json +23 -0
- package/schemas/tools/move_filter_rule.json +21 -0
- package/schemas/tools/move_nat_rule.json +21 -0
- package/schemas/tools/ping.json +37 -0
- package/schemas/tools/reboot_system.json +15 -0
- package/schemas/tools/remove_address_list_entry.json +15 -0
- package/schemas/tools/remove_bfd_configuration.json +15 -0
- package/schemas/tools/remove_bgp_connection.json +15 -0
- package/schemas/tools/remove_bgp_template.json +15 -0
- package/schemas/tools/remove_bridge.json +14 -0
- package/schemas/tools/remove_bridge_port.json +15 -0
- package/schemas/tools/remove_certificate.json +14 -0
- package/schemas/tools/remove_dhcp_server.json +14 -0
- package/schemas/tools/remove_dns_static.json +14 -0
- package/schemas/tools/remove_eoip_tunnel.json +14 -0
- package/schemas/tools/remove_file.json +14 -0
- package/schemas/tools/remove_filter_rule.json +14 -0
- package/schemas/tools/remove_gre_tunnel.json +14 -0
- package/schemas/tools/remove_igmp_proxy_interface.json +15 -0
- package/schemas/tools/remove_ip_address.json +14 -0
- package/schemas/tools/remove_ip_pool.json +14 -0
- package/schemas/tools/remove_ipip_tunnel.json +14 -0
- package/schemas/tools/remove_ipsec_identity.json +15 -0
- package/schemas/tools/remove_ipsec_peer.json +14 -0
- package/schemas/tools/remove_ipsec_policy.json +15 -0
- package/schemas/tools/remove_ipsec_profile.json +14 -0
- package/schemas/tools/remove_ipsec_proposal.json +14 -0
- package/schemas/tools/remove_l2tp_client.json +14 -0
- package/schemas/tools/remove_logging_action.json +15 -0
- package/schemas/tools/remove_logging_rule.json +15 -0
- package/schemas/tools/remove_nat_rule.json +14 -0
- package/schemas/tools/remove_netwatch.json +14 -0
- package/schemas/tools/remove_ospf_area.json +15 -0
- package/schemas/tools/remove_ospf_area_range.json +15 -0
- package/schemas/tools/remove_ospf_instance.json +15 -0
- package/schemas/tools/remove_ospf_interface_template.json +15 -0
- package/schemas/tools/remove_ovpn_client.json +14 -0
- package/schemas/tools/remove_pimsm_instance.json +15 -0
- package/schemas/tools/remove_pimsm_interface_template.json +15 -0
- package/schemas/tools/remove_pimsm_rp.json +15 -0
- package/schemas/tools/remove_ppp_profile.json +14 -0
- package/schemas/tools/remove_ppp_secret.json +14 -0
- package/schemas/tools/remove_pptp_client.json +14 -0
- package/schemas/tools/remove_queue_tree.json +14 -0
- package/schemas/tools/remove_queue_type.json +14 -0
- package/schemas/tools/remove_radius_server.json +15 -0
- package/schemas/tools/remove_rip_instance.json +15 -0
- package/schemas/tools/remove_rip_interface_template.json +15 -0
- package/schemas/tools/remove_rip_static_neighbor.json +15 -0
- package/schemas/tools/remove_route.json +15 -0
- package/schemas/tools/remove_routing_filter_num_list.json +15 -0
- package/schemas/tools/remove_routing_filter_rule.json +15 -0
- package/schemas/tools/remove_routing_id.json +15 -0
- package/schemas/tools/remove_routing_rule.json +15 -0
- package/schemas/tools/remove_routing_table.json +15 -0
- package/schemas/tools/remove_rpki_session.json +15 -0
- package/schemas/tools/remove_scheduler.json +14 -0
- package/schemas/tools/remove_script.json +14 -0
- package/schemas/tools/remove_simple_queue.json +14 -0
- package/schemas/tools/remove_sstp_client.json +14 -0
- package/schemas/tools/remove_user.json +14 -0
- package/schemas/tools/remove_user_group.json +14 -0
- package/schemas/tools/remove_user_manager_limitation.json +14 -0
- package/schemas/tools/remove_user_manager_profile.json +14 -0
- package/schemas/tools/remove_user_manager_router.json +14 -0
- package/schemas/tools/remove_user_manager_user.json +14 -0
- package/schemas/tools/remove_user_ssh_key.json +14 -0
- package/schemas/tools/remove_vlan_interface.json +14 -0
- package/schemas/tools/remove_vxlan_tunnel.json +14 -0
- package/schemas/tools/remove_wireguard_interface.json +14 -0
- package/schemas/tools/remove_wireguard_peer.json +15 -0
- package/schemas/tools/remove_wireless_access_list_entry.json +14 -0
- package/schemas/tools/remove_wireless_interface.json +14 -0
- package/schemas/tools/remove_wireless_security_profile.json +14 -0
- package/schemas/tools/reset_configuration.json +31 -0
- package/schemas/tools/reset_radius_counters.json +7 -0
- package/schemas/tools/resolve_dns.json +19 -0
- package/schemas/tools/restore_backup.json +17 -0
- package/schemas/tools/rollback_safe_mode.json +7 -0
- package/schemas/tools/run_script.json +14 -0
- package/schemas/tools/safe_mode_status.json +7 -0
- package/schemas/tools/scan_wireless_networks.json +21 -0
- package/schemas/tools/search_logs.json +27 -0
- package/schemas/tools/set_bfd_configuration_enabled.json +19 -0
- package/schemas/tools/set_bgp_connection_enabled.json +19 -0
- package/schemas/tools/set_dns_servers.json +54 -0
- package/schemas/tools/set_igmp_proxy_interface_enabled.json +19 -0
- package/schemas/tools/set_ip_service.json +33 -0
- package/schemas/tools/set_l2tp_server.json +41 -0
- package/schemas/tools/set_leds_settings.json +18 -0
- package/schemas/tools/set_note.json +16 -0
- package/schemas/tools/set_ntp_client.json +16 -0
- package/schemas/tools/set_ntp_server.json +25 -0
- package/schemas/tools/set_ovpn_server.json +57 -0
- package/schemas/tools/set_port.json +45 -0
- package/schemas/tools/set_pptp_server.json +29 -0
- package/schemas/tools/set_radius_incoming.json +18 -0
- package/schemas/tools/set_routing_filter_rule_enabled.json +19 -0
- package/schemas/tools/set_routing_id_enabled.json +20 -0
- package/schemas/tools/set_routing_rule_enabled.json +20 -0
- package/schemas/tools/set_routing_table_enabled.json +20 -0
- package/schemas/tools/set_rpki_session_enabled.json +19 -0
- package/schemas/tools/set_sstp_server.json +37 -0
- package/schemas/tools/set_system_clock.json +20 -0
- package/schemas/tools/set_system_identity.json +15 -0
- package/schemas/tools/set_user_manager_settings.json +20 -0
- package/schemas/tools/set_user_ssh_keys.json +18 -0
- package/schemas/tools/set_watchdog.json +32 -0
- package/schemas/tools/set_wireless_security_profile.json +18 -0
- package/schemas/tools/shutdown_system.json +15 -0
- package/schemas/tools/sign_certificate.json +23 -0
- package/schemas/tools/test_dns_query.json +22 -0
- package/schemas/tools/traceroute.json +27 -0
- package/schemas/tools/update_bfd_configuration.json +38 -0
- package/schemas/tools/update_bgp_connection.json +64 -0
- package/schemas/tools/update_bridge.json +41 -0
- package/schemas/tools/update_dns_static.json +64 -0
- package/schemas/tools/update_filter_rule.json +71 -0
- package/schemas/tools/update_igmp_proxy_interface.json +32 -0
- package/schemas/tools/update_igmp_proxy_settings.json +19 -0
- package/schemas/tools/update_ip_pool.json +27 -0
- package/schemas/tools/update_ipsec_peer.json +44 -0
- package/schemas/tools/update_ipsec_profile.json +41 -0
- package/schemas/tools/update_ipsec_proposal.json +30 -0
- package/schemas/tools/update_nat_rule.json +59 -0
- package/schemas/tools/update_ospf_instance.json +36 -0
- package/schemas/tools/update_ppp_profile.json +61 -0
- package/schemas/tools/update_ppp_secret.json +50 -0
- package/schemas/tools/update_queue_tree.json +61 -0
- package/schemas/tools/update_queue_type.json +59 -0
- package/schemas/tools/update_radius_server.json +55 -0
- package/schemas/tools/update_rip_instance.json +36 -0
- package/schemas/tools/update_route.json +57 -0
- package/schemas/tools/update_routing_filter_rule.json +27 -0
- package/schemas/tools/update_routing_id.json +29 -0
- package/schemas/tools/update_routing_rule.json +45 -0
- package/schemas/tools/update_routing_settings.json +27 -0
- package/schemas/tools/update_routing_table.json +25 -0
- package/schemas/tools/update_rpki_session.json +38 -0
- package/schemas/tools/update_simple_queue.json +66 -0
- package/schemas/tools/update_user.json +32 -0
- package/schemas/tools/update_user_group.json +29 -0
- package/schemas/tools/update_user_manager_user.json +38 -0
- package/schemas/tools/update_vlan_interface.json +52 -0
- package/schemas/tools/update_wireguard_interface.json +36 -0
- package/schemas/tools/update_wireguard_peer.json +38 -0
- package/schemas/tools/update_wireless_interface.json +26 -0
- package/schemas/tools/upload_file.json +18 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Connection details for a single MikroTik device. */
|
|
3
|
+
declare const DeviceConfigSchema: unknown;
|
|
4
|
+
type DeviceConfig = z.infer<typeof DeviceConfigSchema>;
|
|
5
|
+
declare const MikrotikConfigSchema: unknown;
|
|
6
|
+
type MikrotikConfig = z.infer<typeof MikrotikConfigSchema>;
|
|
7
|
+
/**
|
|
8
|
+
* Build the effective configuration from the environment and CLI flags.
|
|
9
|
+
* `argv` defaults to the process arguments (after `bun run <file>`).
|
|
10
|
+
*/
|
|
11
|
+
declare function loadConfig(argv?: string[]): MikrotikConfig;
|
|
12
|
+
interface ToolContext {
|
|
13
|
+
/** Informational progress message. */
|
|
14
|
+
info: (message: string) => void;
|
|
15
|
+
/** Error / failure message. */
|
|
16
|
+
error: (message: string) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Name of the device this call targets, when the client selected one.
|
|
19
|
+
* `undefined` means "use the configured default device".
|
|
20
|
+
*/
|
|
21
|
+
device?: string;
|
|
22
|
+
}
|
|
23
|
+
type SendLog = (level: "info" | "error", message: string) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Execute a RouterOS command and return its raw text output.
|
|
26
|
+
*
|
|
27
|
+
* The target device is taken from `ctx.device` (set by the registry from the
|
|
28
|
+
* tool call's `device` argument); when unset, the configured default is used.
|
|
29
|
+
* Safe Mode is tracked per device, so each router has its own session.
|
|
30
|
+
*
|
|
31
|
+
* @param command Fully-formed RouterOS CLI command (e.g. `/ip address print`).
|
|
32
|
+
* @param ctx Per-call context carrying the target device.
|
|
33
|
+
*/
|
|
34
|
+
declare function executeMikrotikCommand(command: string, ctx: ToolContext): Promise<string>;
|
|
35
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
36
|
+
import { ToolAnnotations } from "@modelcontextprotocol/sdk/types.js";
|
|
37
|
+
import { ZodRawShape } from "zod";
|
|
38
|
+
/** Options threaded into every tool registration. */
|
|
39
|
+
interface RegisterOptions {
|
|
40
|
+
sendLog?: SendLog;
|
|
41
|
+
/** Configured device names; when more than one, a `device` selector is injected. */
|
|
42
|
+
deviceNames?: string[];
|
|
43
|
+
}
|
|
44
|
+
interface ToolDef<Shape extends ZodRawShape> {
|
|
45
|
+
/** Stable tool id exposed to MCP clients. */
|
|
46
|
+
name: string;
|
|
47
|
+
/** Short human-readable display name shown in compact tool lists. */
|
|
48
|
+
title: string;
|
|
49
|
+
/** Full description — this is the prompt the model reads to decide when to call. */
|
|
50
|
+
description: string;
|
|
51
|
+
/** One of the risk presets above. */
|
|
52
|
+
annotations: ToolAnnotations;
|
|
53
|
+
/** Zod raw shape describing the tool's parameters. */
|
|
54
|
+
inputSchema?: Shape;
|
|
55
|
+
/** Handler returning the textual result shown to the model. */
|
|
56
|
+
handler: (args: any, ctx: ToolContext) => Promise<string> | string;
|
|
57
|
+
}
|
|
58
|
+
interface RegisterableTool {
|
|
59
|
+
name: string;
|
|
60
|
+
title: string;
|
|
61
|
+
annotations: ToolAnnotations;
|
|
62
|
+
inputSchema?: ZodRawShape;
|
|
63
|
+
description: string;
|
|
64
|
+
register: (server: McpServer, opts?: RegisterOptions) => void;
|
|
65
|
+
}
|
|
66
|
+
declare function defineTool<Shape extends ZodRawShape>(def: ToolDef<Shape>): RegisterableTool;
|
|
67
|
+
type ToolModule = RegisterableTool[];
|
|
68
|
+
/** Register every tool from every module, returning the total count. */
|
|
69
|
+
declare function registerTools(server: McpServer, modules: ToolModule[], opts?: RegisterOptions): number;
|
|
70
|
+
declare function setConfig(cfg: MikrotikConfig): void;
|
|
71
|
+
declare function getConfig(): MikrotikConfig;
|
|
72
|
+
/** Names of every configured device, plus which one is the default. */
|
|
73
|
+
declare function listDevices(): {
|
|
74
|
+
names: string[];
|
|
75
|
+
default: string;
|
|
76
|
+
};
|
|
77
|
+
/** Resolve a (possibly undefined) device name to a concrete, existing name. */
|
|
78
|
+
declare function resolveDeviceName(name?: string): string;
|
|
79
|
+
/**
|
|
80
|
+
* Return the connection config for a device by name (or the default when
|
|
81
|
+
* `name` is undefined). Throws if an explicit, unknown name is given.
|
|
82
|
+
*/
|
|
83
|
+
declare function getDevice(name?: string): DeviceConfig;
|
|
84
|
+
import { McpServer as McpServer2 } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
85
|
+
interface CreatedServer {
|
|
86
|
+
server: McpServer2;
|
|
87
|
+
toolCount: number;
|
|
88
|
+
promptCount: number;
|
|
89
|
+
}
|
|
90
|
+
declare function createServer(opts?: {
|
|
91
|
+
sendLog?: SendLog;
|
|
92
|
+
}): CreatedServer;
|
|
93
|
+
import { ClientChannel } from "ssh2";
|
|
94
|
+
interface SSHClientOptions {
|
|
95
|
+
host: string;
|
|
96
|
+
username: string;
|
|
97
|
+
password?: string;
|
|
98
|
+
port?: number;
|
|
99
|
+
keyFilename?: string;
|
|
100
|
+
privateKey?: string;
|
|
101
|
+
/** Passphrase for an encrypted private key. */
|
|
102
|
+
keyPassphrase?: string;
|
|
103
|
+
timeoutMs?: number;
|
|
104
|
+
}
|
|
105
|
+
declare class MikroTikSSHClient {
|
|
106
|
+
private client;
|
|
107
|
+
private readonly opts;
|
|
108
|
+
/** Human-readable reason the last `connect()` failed, if it did. */
|
|
109
|
+
lastError?: string;
|
|
110
|
+
constructor(opts: SSHClientOptions);
|
|
111
|
+
/** Establish the SSH connection. Resolves `true` on success, `false` on failure. */
|
|
112
|
+
connect(): Promise<boolean>;
|
|
113
|
+
/** Run a single command on a fresh SSH channel and return its decoded output. */
|
|
114
|
+
run(command: string): Promise<string>;
|
|
115
|
+
/** Open a persistent interactive shell channel (used by Safe Mode). */
|
|
116
|
+
shell(opts?: {
|
|
117
|
+
term?: string;
|
|
118
|
+
cols?: number;
|
|
119
|
+
rows?: number;
|
|
120
|
+
}): Promise<ClientChannel>;
|
|
121
|
+
/** Close the SSH connection. Safe to call multiple times. */
|
|
122
|
+
disconnect(): void;
|
|
123
|
+
}
|
|
124
|
+
declare class SafeModeManager {
|
|
125
|
+
private readonly deviceName;
|
|
126
|
+
private ssh;
|
|
127
|
+
private channel;
|
|
128
|
+
private active;
|
|
129
|
+
/** Serializes channel access so concurrent tool calls don't interleave I/O. */
|
|
130
|
+
private queue;
|
|
131
|
+
/** The device this Safe Mode session belongs to (a configured device name). */
|
|
132
|
+
constructor(deviceName: string);
|
|
133
|
+
get isActive(): boolean;
|
|
134
|
+
/** Run `fn` exclusively — the persistent channel must not be shared mid-command. */
|
|
135
|
+
private lock;
|
|
136
|
+
/** Open a persistent SSH shell and activate MikroTik Safe Mode. */
|
|
137
|
+
enable(): Promise<string>;
|
|
138
|
+
/** Execute a command through the safe-mode persistent shell session. */
|
|
139
|
+
execute(command: string): Promise<string>;
|
|
140
|
+
/** Send Ctrl+X again to exit Safe Mode and persist all changes. */
|
|
141
|
+
commit(): Promise<string>;
|
|
142
|
+
/** Close the session to trigger MikroTik's automatic safe-mode revert. */
|
|
143
|
+
rollback(): Promise<string>;
|
|
144
|
+
status(): string;
|
|
145
|
+
private readUntilPrompt;
|
|
146
|
+
private extractOutput;
|
|
147
|
+
private cleanup;
|
|
148
|
+
}
|
|
149
|
+
declare function getSafeModeManager(deviceName: string): SafeModeManager;
|
|
150
|
+
declare const allToolModules: ToolModule[];
|
|
151
|
+
declare const VERSION: string;
|
|
152
|
+
declare const SERVER_NAME = "mcp-mikrotik";
|
|
153
|
+
export { setConfig, resolveDeviceName, registerTools, loadConfig, listDevices, getSafeModeManager, getDevice, getConfig, executeMikrotikCommand, defineTool, createServer, allToolModules, VERSION, ToolModule, ToolContext, SafeModeManager, SERVER_NAME, RegisterableTool, MikrotikConfigSchema, MikrotikConfig, MikroTikSSHClient, DeviceConfigSchema, DeviceConfig };
|