@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.
Files changed (484) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +296 -0
  3. package/dist/cli.js +12165 -0
  4. package/dist/index.d.ts +153 -0
  5. package/dist/index.js +11955 -0
  6. package/package.json +107 -0
  7. package/prompts/backup-and-document.md +31 -0
  8. package/prompts/choose-vpn-solution.md +45 -0
  9. package/prompts/diagnose-connectivity.md +38 -0
  10. package/prompts/harden-router.md +38 -0
  11. package/prompts/setup-guest-wifi.md +44 -0
  12. package/prompts/setup-ipsec-site-to-site.md +50 -0
  13. package/prompts/setup-l2tp-ipsec-roadwarrior.md +41 -0
  14. package/prompts/setup-tunnel-between-sites.md +56 -0
  15. package/prompts/setup-wireguard-vpn.md +41 -0
  16. package/schemas/README.md +14 -0
  17. package/schemas/config.schema.json +128 -0
  18. package/schemas/tool-catalog.json +14938 -0
  19. package/schemas/tools/add_address_list_entry.json +32 -0
  20. package/schemas/tools/add_bfd_configuration.json +41 -0
  21. package/schemas/tools/add_bgp_connection.json +90 -0
  22. package/schemas/tools/add_bgp_template.json +45 -0
  23. package/schemas/tools/add_blackhole_route.json +26 -0
  24. package/schemas/tools/add_bridge_port.json +33 -0
  25. package/schemas/tools/add_bridge_vlan.json +28 -0
  26. package/schemas/tools/add_default_route.json +29 -0
  27. package/schemas/tools/add_dns_regexp.json +31 -0
  28. package/schemas/tools/add_dns_static.json +63 -0
  29. package/schemas/tools/add_igmp_proxy_interface.json +39 -0
  30. package/schemas/tools/add_ip_address.json +33 -0
  31. package/schemas/tools/add_logging_action.json +71 -0
  32. package/schemas/tools/add_logging_rule.json +28 -0
  33. package/schemas/tools/add_netwatch.json +39 -0
  34. package/schemas/tools/add_ospf_area.json +45 -0
  35. package/schemas/tools/add_ospf_area_range.json +34 -0
  36. package/schemas/tools/add_ospf_instance.json +54 -0
  37. package/schemas/tools/add_ospf_interface_template.json +85 -0
  38. package/schemas/tools/add_pimsm_instance.json +40 -0
  39. package/schemas/tools/add_pimsm_interface_template.json +38 -0
  40. package/schemas/tools/add_pimsm_rp.json +32 -0
  41. package/schemas/tools/add_radius_server.json +63 -0
  42. package/schemas/tools/add_rip_instance.json +44 -0
  43. package/schemas/tools/add_rip_interface_template.json +35 -0
  44. package/schemas/tools/add_rip_static_neighbor.json +27 -0
  45. package/schemas/tools/add_route.json +56 -0
  46. package/schemas/tools/add_routing_filter_num_list.json +23 -0
  47. package/schemas/tools/add_routing_filter_rule.json +32 -0
  48. package/schemas/tools/add_routing_id.json +31 -0
  49. package/schemas/tools/add_routing_rule.json +63 -0
  50. package/schemas/tools/add_routing_table.json +29 -0
  51. package/schemas/tools/add_rpki_session.json +51 -0
  52. package/schemas/tools/add_script.json +29 -0
  53. package/schemas/tools/add_user.json +34 -0
  54. package/schemas/tools/add_user_group.json +27 -0
  55. package/schemas/tools/add_user_manager_limitation.json +34 -0
  56. package/schemas/tools/add_user_manager_profile.json +39 -0
  57. package/schemas/tools/add_user_manager_router.json +36 -0
  58. package/schemas/tools/add_user_manager_user.json +41 -0
  59. package/schemas/tools/add_wireguard_peer.json +47 -0
  60. package/schemas/tools/assign_user_manager_profile.json +20 -0
  61. package/schemas/tools/backup_info.json +14 -0
  62. package/schemas/tools/bandwidth_test.json +50 -0
  63. package/schemas/tools/change_password.json +20 -0
  64. package/schemas/tools/check_for_updates.json +7 -0
  65. package/schemas/tools/check_route_path.json +20 -0
  66. package/schemas/tools/check_wireless_support.json +7 -0
  67. package/schemas/tools/clear_logs.json +7 -0
  68. package/schemas/tools/commit_safe_mode.json +7 -0
  69. package/schemas/tools/create_backup.json +26 -0
  70. package/schemas/tools/create_basic_firewall_setup.json +7 -0
  71. package/schemas/tools/create_bridge.json +44 -0
  72. package/schemas/tools/create_certificate.json +48 -0
  73. package/schemas/tools/create_dhcp_network.json +51 -0
  74. package/schemas/tools/create_dhcp_pool.json +25 -0
  75. package/schemas/tools/create_dhcp_server.json +48 -0
  76. package/schemas/tools/create_eoip_tunnel.json +48 -0
  77. package/schemas/tools/create_export.json +51 -0
  78. package/schemas/tools/create_filter_rule.json +96 -0
  79. package/schemas/tools/create_gre_tunnel.json +53 -0
  80. package/schemas/tools/create_ip_pool.json +25 -0
  81. package/schemas/tools/create_ipip_tunnel.json +41 -0
  82. package/schemas/tools/create_ipsec_identity.json +58 -0
  83. package/schemas/tools/create_ipsec_peer.json +52 -0
  84. package/schemas/tools/create_ipsec_policy.json +66 -0
  85. package/schemas/tools/create_ipsec_profile.json +49 -0
  86. package/schemas/tools/create_ipsec_proposal.json +37 -0
  87. package/schemas/tools/create_l2tp_client.json +57 -0
  88. package/schemas/tools/create_nat_rule.json +71 -0
  89. package/schemas/tools/create_ovpn_client.json +73 -0
  90. package/schemas/tools/create_ppp_profile.json +62 -0
  91. package/schemas/tools/create_ppp_secret.json +54 -0
  92. package/schemas/tools/create_pptp_client.json +44 -0
  93. package/schemas/tools/create_queue_tree.json +62 -0
  94. package/schemas/tools/create_queue_type.json +158 -0
  95. package/schemas/tools/create_scheduler.json +40 -0
  96. package/schemas/tools/create_simple_queue.json +66 -0
  97. package/schemas/tools/create_sstp_client.json +52 -0
  98. package/schemas/tools/create_vlan_interface.json +60 -0
  99. package/schemas/tools/create_vxlan_tunnel.json +51 -0
  100. package/schemas/tools/create_wireguard_interface.json +35 -0
  101. package/schemas/tools/create_wireless_access_list.json +7 -0
  102. package/schemas/tools/create_wireless_interface.json +74 -0
  103. package/schemas/tools/create_wireless_security_profile.json +14 -0
  104. package/schemas/tools/disable_address_list_entry.json +15 -0
  105. package/schemas/tools/disable_dns_static.json +14 -0
  106. package/schemas/tools/disable_filter_rule.json +14 -0
  107. package/schemas/tools/disable_interface.json +14 -0
  108. package/schemas/tools/disable_ip_service.json +15 -0
  109. package/schemas/tools/disable_l2tp_client.json +14 -0
  110. package/schemas/tools/disable_nat_rule.json +14 -0
  111. package/schemas/tools/disable_ovpn_client.json +14 -0
  112. package/schemas/tools/disable_queue_tree.json +14 -0
  113. package/schemas/tools/disable_radius_server.json +15 -0
  114. package/schemas/tools/disable_route.json +15 -0
  115. package/schemas/tools/disable_scheduler.json +14 -0
  116. package/schemas/tools/disable_simple_queue.json +14 -0
  117. package/schemas/tools/disable_user.json +14 -0
  118. package/schemas/tools/disable_wireguard_interface.json +14 -0
  119. package/schemas/tools/disable_wireguard_peer.json +15 -0
  120. package/schemas/tools/disable_wireless_interface.json +14 -0
  121. package/schemas/tools/disconnect_ppp_active.json +15 -0
  122. package/schemas/tools/disconnect_user.json +14 -0
  123. package/schemas/tools/download_file.json +23 -0
  124. package/schemas/tools/enable_address_list_entry.json +15 -0
  125. package/schemas/tools/enable_dns_static.json +14 -0
  126. package/schemas/tools/enable_filter_rule.json +14 -0
  127. package/schemas/tools/enable_interface.json +14 -0
  128. package/schemas/tools/enable_ip_service.json +15 -0
  129. package/schemas/tools/enable_l2tp_client.json +14 -0
  130. package/schemas/tools/enable_nat_rule.json +14 -0
  131. package/schemas/tools/enable_ovpn_client.json +14 -0
  132. package/schemas/tools/enable_queue_tree.json +14 -0
  133. package/schemas/tools/enable_radius_server.json +15 -0
  134. package/schemas/tools/enable_route.json +15 -0
  135. package/schemas/tools/enable_safe_mode.json +7 -0
  136. package/schemas/tools/enable_scheduler.json +14 -0
  137. package/schemas/tools/enable_simple_queue.json +14 -0
  138. package/schemas/tools/enable_user.json +14 -0
  139. package/schemas/tools/enable_wireguard_interface.json +14 -0
  140. package/schemas/tools/enable_wireguard_peer.json +15 -0
  141. package/schemas/tools/enable_wireless_interface.json +14 -0
  142. package/schemas/tools/expand_ip_pool.json +19 -0
  143. package/schemas/tools/export_dns_config.json +11 -0
  144. package/schemas/tools/export_logs.json +28 -0
  145. package/schemas/tools/export_section.json +27 -0
  146. package/schemas/tools/export_user_config.json +11 -0
  147. package/schemas/tools/flush_dns_cache.json +7 -0
  148. package/schemas/tools/flush_ipsec_installed_sa.json +7 -0
  149. package/schemas/tools/flush_route_cache.json +7 -0
  150. package/schemas/tools/format_disk.json +34 -0
  151. package/schemas/tools/generate_wireguard_client_config.json +48 -0
  152. package/schemas/tools/get_active_users.json +7 -0
  153. package/schemas/tools/get_address_list_entry.json +15 -0
  154. package/schemas/tools/get_bgp_connection.json +15 -0
  155. package/schemas/tools/get_bridge.json +14 -0
  156. package/schemas/tools/get_certificate.json +14 -0
  157. package/schemas/tools/get_dhcp_server.json +14 -0
  158. package/schemas/tools/get_disk.json +15 -0
  159. package/schemas/tools/get_dns_cache.json +7 -0
  160. package/schemas/tools/get_dns_cache_statistics.json +7 -0
  161. package/schemas/tools/get_dns_settings.json +7 -0
  162. package/schemas/tools/get_dns_static.json +14 -0
  163. package/schemas/tools/get_eoip_tunnel.json +14 -0
  164. package/schemas/tools/get_filter_rule.json +15 -0
  165. package/schemas/tools/get_gre_tunnel.json +14 -0
  166. package/schemas/tools/get_igmp_proxy_settings.json +7 -0
  167. package/schemas/tools/get_installed_packages.json +7 -0
  168. package/schemas/tools/get_interface.json +15 -0
  169. package/schemas/tools/get_ip_address.json +15 -0
  170. package/schemas/tools/get_ip_pool.json +14 -0
  171. package/schemas/tools/get_ip_service.json +15 -0
  172. package/schemas/tools/get_ipip_tunnel.json +14 -0
  173. package/schemas/tools/get_ipsec_active_peers.json +7 -0
  174. package/schemas/tools/get_ipsec_installed_sa.json +7 -0
  175. package/schemas/tools/get_ipsec_peer.json +14 -0
  176. package/schemas/tools/get_ipsec_profile.json +14 -0
  177. package/schemas/tools/get_ipsec_proposal.json +14 -0
  178. package/schemas/tools/get_ipsec_statistics.json +7 -0
  179. package/schemas/tools/get_l2tp_client.json +14 -0
  180. package/schemas/tools/get_l2tp_server.json +7 -0
  181. package/schemas/tools/get_leds_settings.json +7 -0
  182. package/schemas/tools/get_license.json +7 -0
  183. package/schemas/tools/get_log_statistics.json +7 -0
  184. package/schemas/tools/get_logs.json +45 -0
  185. package/schemas/tools/get_logs_by_severity.json +29 -0
  186. package/schemas/tools/get_logs_by_topic.json +22 -0
  187. package/schemas/tools/get_nat_rule.json +15 -0
  188. package/schemas/tools/get_netwatch.json +14 -0
  189. package/schemas/tools/get_note.json +7 -0
  190. package/schemas/tools/get_ntp_client.json +7 -0
  191. package/schemas/tools/get_ntp_server.json +7 -0
  192. package/schemas/tools/get_ovpn_client.json +14 -0
  193. package/schemas/tools/get_ovpn_server.json +7 -0
  194. package/schemas/tools/get_poe_monitor.json +15 -0
  195. package/schemas/tools/get_poe_settings.json +15 -0
  196. package/schemas/tools/get_port.json +15 -0
  197. package/schemas/tools/get_ppp_active.json +12 -0
  198. package/schemas/tools/get_ppp_profile.json +14 -0
  199. package/schemas/tools/get_ppp_secret.json +14 -0
  200. package/schemas/tools/get_pptp_client.json +14 -0
  201. package/schemas/tools/get_pptp_server.json +7 -0
  202. package/schemas/tools/get_queue_tree.json +14 -0
  203. package/schemas/tools/get_queue_type.json +14 -0
  204. package/schemas/tools/get_radius_incoming.json +7 -0
  205. package/schemas/tools/get_radius_server.json +15 -0
  206. package/schemas/tools/get_regulatory.json +7 -0
  207. package/schemas/tools/get_route.json +15 -0
  208. package/schemas/tools/get_route_cache.json +7 -0
  209. package/schemas/tools/get_route_statistics.json +7 -0
  210. package/schemas/tools/get_routerboard.json +7 -0
  211. package/schemas/tools/get_routing_id.json +15 -0
  212. package/schemas/tools/get_routing_nexthop_stats.json +7 -0
  213. package/schemas/tools/get_routing_rule.json +15 -0
  214. package/schemas/tools/get_routing_settings.json +7 -0
  215. package/schemas/tools/get_routing_table.json +23 -0
  216. package/schemas/tools/get_routing_table_def.json +15 -0
  217. package/schemas/tools/get_scheduler.json +14 -0
  218. package/schemas/tools/get_security_logs.json +16 -0
  219. package/schemas/tools/get_simple_queue.json +14 -0
  220. package/schemas/tools/get_sstp_client.json +14 -0
  221. package/schemas/tools/get_sstp_server.json +7 -0
  222. package/schemas/tools/get_system_clock.json +7 -0
  223. package/schemas/tools/get_system_events.json +19 -0
  224. package/schemas/tools/get_system_health.json +7 -0
  225. package/schemas/tools/get_system_history.json +7 -0
  226. package/schemas/tools/get_system_identity.json +7 -0
  227. package/schemas/tools/get_system_resources.json +7 -0
  228. package/schemas/tools/get_user.json +14 -0
  229. package/schemas/tools/get_user_group.json +14 -0
  230. package/schemas/tools/get_user_manager_settings.json +7 -0
  231. package/schemas/tools/get_user_manager_user.json +14 -0
  232. package/schemas/tools/get_vlan_interface.json +14 -0
  233. package/schemas/tools/get_vxlan_tunnel.json +14 -0
  234. package/schemas/tools/get_watchdog.json +7 -0
  235. package/schemas/tools/get_wireguard_interface.json +14 -0
  236. package/schemas/tools/get_wireguard_peer.json +15 -0
  237. package/schemas/tools/get_wireless_interface.json +14 -0
  238. package/schemas/tools/get_wireless_registration_table.json +11 -0
  239. package/schemas/tools/get_wireless_security_profile.json +14 -0
  240. package/schemas/tools/import_certificate.json +23 -0
  241. package/schemas/tools/import_configuration.json +24 -0
  242. package/schemas/tools/list_address_lists.json +24 -0
  243. package/schemas/tools/list_backups.json +18 -0
  244. package/schemas/tools/list_bfd_configurations.json +7 -0
  245. package/schemas/tools/list_bfd_sessions.json +16 -0
  246. package/schemas/tools/list_bgp_advertisements.json +12 -0
  247. package/schemas/tools/list_bgp_connections.json +12 -0
  248. package/schemas/tools/list_bgp_sessions.json +16 -0
  249. package/schemas/tools/list_bgp_templates.json +7 -0
  250. package/schemas/tools/list_bridge_hosts.json +12 -0
  251. package/schemas/tools/list_bridge_ports.json +16 -0
  252. package/schemas/tools/list_bridge_vlans.json +12 -0
  253. package/schemas/tools/list_bridges.json +12 -0
  254. package/schemas/tools/list_certificates.json +12 -0
  255. package/schemas/tools/list_dhcp_servers.json +26 -0
  256. package/schemas/tools/list_disks.json +7 -0
  257. package/schemas/tools/list_dns_static.json +29 -0
  258. package/schemas/tools/list_eoip_tunnels.json +12 -0
  259. package/schemas/tools/list_filter_rules.json +43 -0
  260. package/schemas/tools/list_gmp_group_memberships.json +16 -0
  261. package/schemas/tools/list_gmp_interfaces.json +7 -0
  262. package/schemas/tools/list_gre_tunnels.json +12 -0
  263. package/schemas/tools/list_igmp_proxy_interfaces.json +7 -0
  264. package/schemas/tools/list_igmp_proxy_mfc.json +7 -0
  265. package/schemas/tools/list_interfaces.json +42 -0
  266. package/schemas/tools/list_ip_addresses.json +29 -0
  267. package/schemas/tools/list_ip_pool_used.json +20 -0
  268. package/schemas/tools/list_ip_pools.json +21 -0
  269. package/schemas/tools/list_ip_services.json +7 -0
  270. package/schemas/tools/list_ipip_tunnels.json +12 -0
  271. package/schemas/tools/list_ipsec_identities.json +12 -0
  272. package/schemas/tools/list_ipsec_peers.json +12 -0
  273. package/schemas/tools/list_ipsec_policies.json +7 -0
  274. package/schemas/tools/list_ipsec_profiles.json +12 -0
  275. package/schemas/tools/list_ipsec_proposals.json +12 -0
  276. package/schemas/tools/list_l2tp_clients.json +12 -0
  277. package/schemas/tools/list_leds.json +7 -0
  278. package/schemas/tools/list_logging_actions.json +12 -0
  279. package/schemas/tools/list_logging_rules.json +16 -0
  280. package/schemas/tools/list_mikrotik_devices.json +7 -0
  281. package/schemas/tools/list_nat_rules.json +38 -0
  282. package/schemas/tools/list_netwatch.json +12 -0
  283. package/schemas/tools/list_ospf_area_ranges.json +7 -0
  284. package/schemas/tools/list_ospf_areas.json +7 -0
  285. package/schemas/tools/list_ospf_instances.json +7 -0
  286. package/schemas/tools/list_ospf_interface_templates.json +7 -0
  287. package/schemas/tools/list_ospf_lsa.json +12 -0
  288. package/schemas/tools/list_ospf_neighbors.json +7 -0
  289. package/schemas/tools/list_ovpn_clients.json +12 -0
  290. package/schemas/tools/list_pimsm_instances.json +7 -0
  291. package/schemas/tools/list_pimsm_interface_templates.json +7 -0
  292. package/schemas/tools/list_pimsm_neighbors.json +7 -0
  293. package/schemas/tools/list_pimsm_rps.json +7 -0
  294. package/schemas/tools/list_poe.json +12 -0
  295. package/schemas/tools/list_ports.json +12 -0
  296. package/schemas/tools/list_ppp_profiles.json +12 -0
  297. package/schemas/tools/list_ppp_secrets.json +24 -0
  298. package/schemas/tools/list_pptp_clients.json +12 -0
  299. package/schemas/tools/list_queue_trees.json +26 -0
  300. package/schemas/tools/list_queue_types.json +14 -0
  301. package/schemas/tools/list_radius_servers.json +16 -0
  302. package/schemas/tools/list_rip_instances.json +7 -0
  303. package/schemas/tools/list_rip_interface_templates.json +7 -0
  304. package/schemas/tools/list_rip_neighbors.json +7 -0
  305. package/schemas/tools/list_rip_static_neighbors.json +7 -0
  306. package/schemas/tools/list_routes.json +44 -0
  307. package/schemas/tools/list_routing_filter_num_lists.json +12 -0
  308. package/schemas/tools/list_routing_filter_rules.json +12 -0
  309. package/schemas/tools/list_routing_filter_select_rules.json +7 -0
  310. package/schemas/tools/list_routing_ids.json +12 -0
  311. package/schemas/tools/list_routing_nexthops.json +19 -0
  312. package/schemas/tools/list_routing_rules.json +19 -0
  313. package/schemas/tools/list_routing_tables.json +12 -0
  314. package/schemas/tools/list_rpki_sessions.json +12 -0
  315. package/schemas/tools/list_schedulers.json +12 -0
  316. package/schemas/tools/list_scripts.json +12 -0
  317. package/schemas/tools/list_simple_queues.json +26 -0
  318. package/schemas/tools/list_special_login.json +7 -0
  319. package/schemas/tools/list_sstp_clients.json +12 -0
  320. package/schemas/tools/list_system_console.json +7 -0
  321. package/schemas/tools/list_user_groups.json +14 -0
  322. package/schemas/tools/list_user_manager_limitations.json +12 -0
  323. package/schemas/tools/list_user_manager_profiles.json +12 -0
  324. package/schemas/tools/list_user_manager_routers.json +12 -0
  325. package/schemas/tools/list_user_manager_sessions.json +20 -0
  326. package/schemas/tools/list_user_manager_user_profiles.json +12 -0
  327. package/schemas/tools/list_user_manager_users.json +12 -0
  328. package/schemas/tools/list_user_ssh_keys.json +14 -0
  329. package/schemas/tools/list_users.json +26 -0
  330. package/schemas/tools/list_vlan_interfaces.json +28 -0
  331. package/schemas/tools/list_vxlan_tunnels.json +12 -0
  332. package/schemas/tools/list_wireguard_interfaces.json +23 -0
  333. package/schemas/tools/list_wireguard_peers.json +18 -0
  334. package/schemas/tools/list_wireless_access_list.json +7 -0
  335. package/schemas/tools/list_wireless_interfaces.json +23 -0
  336. package/schemas/tools/list_wireless_security_profiles.json +7 -0
  337. package/schemas/tools/monitor_logs.json +23 -0
  338. package/schemas/tools/move_filter_rule.json +21 -0
  339. package/schemas/tools/move_nat_rule.json +21 -0
  340. package/schemas/tools/ping.json +37 -0
  341. package/schemas/tools/reboot_system.json +15 -0
  342. package/schemas/tools/remove_address_list_entry.json +15 -0
  343. package/schemas/tools/remove_bfd_configuration.json +15 -0
  344. package/schemas/tools/remove_bgp_connection.json +15 -0
  345. package/schemas/tools/remove_bgp_template.json +15 -0
  346. package/schemas/tools/remove_bridge.json +14 -0
  347. package/schemas/tools/remove_bridge_port.json +15 -0
  348. package/schemas/tools/remove_certificate.json +14 -0
  349. package/schemas/tools/remove_dhcp_server.json +14 -0
  350. package/schemas/tools/remove_dns_static.json +14 -0
  351. package/schemas/tools/remove_eoip_tunnel.json +14 -0
  352. package/schemas/tools/remove_file.json +14 -0
  353. package/schemas/tools/remove_filter_rule.json +14 -0
  354. package/schemas/tools/remove_gre_tunnel.json +14 -0
  355. package/schemas/tools/remove_igmp_proxy_interface.json +15 -0
  356. package/schemas/tools/remove_ip_address.json +14 -0
  357. package/schemas/tools/remove_ip_pool.json +14 -0
  358. package/schemas/tools/remove_ipip_tunnel.json +14 -0
  359. package/schemas/tools/remove_ipsec_identity.json +15 -0
  360. package/schemas/tools/remove_ipsec_peer.json +14 -0
  361. package/schemas/tools/remove_ipsec_policy.json +15 -0
  362. package/schemas/tools/remove_ipsec_profile.json +14 -0
  363. package/schemas/tools/remove_ipsec_proposal.json +14 -0
  364. package/schemas/tools/remove_l2tp_client.json +14 -0
  365. package/schemas/tools/remove_logging_action.json +15 -0
  366. package/schemas/tools/remove_logging_rule.json +15 -0
  367. package/schemas/tools/remove_nat_rule.json +14 -0
  368. package/schemas/tools/remove_netwatch.json +14 -0
  369. package/schemas/tools/remove_ospf_area.json +15 -0
  370. package/schemas/tools/remove_ospf_area_range.json +15 -0
  371. package/schemas/tools/remove_ospf_instance.json +15 -0
  372. package/schemas/tools/remove_ospf_interface_template.json +15 -0
  373. package/schemas/tools/remove_ovpn_client.json +14 -0
  374. package/schemas/tools/remove_pimsm_instance.json +15 -0
  375. package/schemas/tools/remove_pimsm_interface_template.json +15 -0
  376. package/schemas/tools/remove_pimsm_rp.json +15 -0
  377. package/schemas/tools/remove_ppp_profile.json +14 -0
  378. package/schemas/tools/remove_ppp_secret.json +14 -0
  379. package/schemas/tools/remove_pptp_client.json +14 -0
  380. package/schemas/tools/remove_queue_tree.json +14 -0
  381. package/schemas/tools/remove_queue_type.json +14 -0
  382. package/schemas/tools/remove_radius_server.json +15 -0
  383. package/schemas/tools/remove_rip_instance.json +15 -0
  384. package/schemas/tools/remove_rip_interface_template.json +15 -0
  385. package/schemas/tools/remove_rip_static_neighbor.json +15 -0
  386. package/schemas/tools/remove_route.json +15 -0
  387. package/schemas/tools/remove_routing_filter_num_list.json +15 -0
  388. package/schemas/tools/remove_routing_filter_rule.json +15 -0
  389. package/schemas/tools/remove_routing_id.json +15 -0
  390. package/schemas/tools/remove_routing_rule.json +15 -0
  391. package/schemas/tools/remove_routing_table.json +15 -0
  392. package/schemas/tools/remove_rpki_session.json +15 -0
  393. package/schemas/tools/remove_scheduler.json +14 -0
  394. package/schemas/tools/remove_script.json +14 -0
  395. package/schemas/tools/remove_simple_queue.json +14 -0
  396. package/schemas/tools/remove_sstp_client.json +14 -0
  397. package/schemas/tools/remove_user.json +14 -0
  398. package/schemas/tools/remove_user_group.json +14 -0
  399. package/schemas/tools/remove_user_manager_limitation.json +14 -0
  400. package/schemas/tools/remove_user_manager_profile.json +14 -0
  401. package/schemas/tools/remove_user_manager_router.json +14 -0
  402. package/schemas/tools/remove_user_manager_user.json +14 -0
  403. package/schemas/tools/remove_user_ssh_key.json +14 -0
  404. package/schemas/tools/remove_vlan_interface.json +14 -0
  405. package/schemas/tools/remove_vxlan_tunnel.json +14 -0
  406. package/schemas/tools/remove_wireguard_interface.json +14 -0
  407. package/schemas/tools/remove_wireguard_peer.json +15 -0
  408. package/schemas/tools/remove_wireless_access_list_entry.json +14 -0
  409. package/schemas/tools/remove_wireless_interface.json +14 -0
  410. package/schemas/tools/remove_wireless_security_profile.json +14 -0
  411. package/schemas/tools/reset_configuration.json +31 -0
  412. package/schemas/tools/reset_radius_counters.json +7 -0
  413. package/schemas/tools/resolve_dns.json +19 -0
  414. package/schemas/tools/restore_backup.json +17 -0
  415. package/schemas/tools/rollback_safe_mode.json +7 -0
  416. package/schemas/tools/run_script.json +14 -0
  417. package/schemas/tools/safe_mode_status.json +7 -0
  418. package/schemas/tools/scan_wireless_networks.json +21 -0
  419. package/schemas/tools/search_logs.json +27 -0
  420. package/schemas/tools/set_bfd_configuration_enabled.json +19 -0
  421. package/schemas/tools/set_bgp_connection_enabled.json +19 -0
  422. package/schemas/tools/set_dns_servers.json +54 -0
  423. package/schemas/tools/set_igmp_proxy_interface_enabled.json +19 -0
  424. package/schemas/tools/set_ip_service.json +33 -0
  425. package/schemas/tools/set_l2tp_server.json +41 -0
  426. package/schemas/tools/set_leds_settings.json +18 -0
  427. package/schemas/tools/set_note.json +16 -0
  428. package/schemas/tools/set_ntp_client.json +16 -0
  429. package/schemas/tools/set_ntp_server.json +25 -0
  430. package/schemas/tools/set_ovpn_server.json +57 -0
  431. package/schemas/tools/set_port.json +45 -0
  432. package/schemas/tools/set_pptp_server.json +29 -0
  433. package/schemas/tools/set_radius_incoming.json +18 -0
  434. package/schemas/tools/set_routing_filter_rule_enabled.json +19 -0
  435. package/schemas/tools/set_routing_id_enabled.json +20 -0
  436. package/schemas/tools/set_routing_rule_enabled.json +20 -0
  437. package/schemas/tools/set_routing_table_enabled.json +20 -0
  438. package/schemas/tools/set_rpki_session_enabled.json +19 -0
  439. package/schemas/tools/set_sstp_server.json +37 -0
  440. package/schemas/tools/set_system_clock.json +20 -0
  441. package/schemas/tools/set_system_identity.json +15 -0
  442. package/schemas/tools/set_user_manager_settings.json +20 -0
  443. package/schemas/tools/set_user_ssh_keys.json +18 -0
  444. package/schemas/tools/set_watchdog.json +32 -0
  445. package/schemas/tools/set_wireless_security_profile.json +18 -0
  446. package/schemas/tools/shutdown_system.json +15 -0
  447. package/schemas/tools/sign_certificate.json +23 -0
  448. package/schemas/tools/test_dns_query.json +22 -0
  449. package/schemas/tools/traceroute.json +27 -0
  450. package/schemas/tools/update_bfd_configuration.json +38 -0
  451. package/schemas/tools/update_bgp_connection.json +64 -0
  452. package/schemas/tools/update_bridge.json +41 -0
  453. package/schemas/tools/update_dns_static.json +64 -0
  454. package/schemas/tools/update_filter_rule.json +71 -0
  455. package/schemas/tools/update_igmp_proxy_interface.json +32 -0
  456. package/schemas/tools/update_igmp_proxy_settings.json +19 -0
  457. package/schemas/tools/update_ip_pool.json +27 -0
  458. package/schemas/tools/update_ipsec_peer.json +44 -0
  459. package/schemas/tools/update_ipsec_profile.json +41 -0
  460. package/schemas/tools/update_ipsec_proposal.json +30 -0
  461. package/schemas/tools/update_nat_rule.json +59 -0
  462. package/schemas/tools/update_ospf_instance.json +36 -0
  463. package/schemas/tools/update_ppp_profile.json +61 -0
  464. package/schemas/tools/update_ppp_secret.json +50 -0
  465. package/schemas/tools/update_queue_tree.json +61 -0
  466. package/schemas/tools/update_queue_type.json +59 -0
  467. package/schemas/tools/update_radius_server.json +55 -0
  468. package/schemas/tools/update_rip_instance.json +36 -0
  469. package/schemas/tools/update_route.json +57 -0
  470. package/schemas/tools/update_routing_filter_rule.json +27 -0
  471. package/schemas/tools/update_routing_id.json +29 -0
  472. package/schemas/tools/update_routing_rule.json +45 -0
  473. package/schemas/tools/update_routing_settings.json +27 -0
  474. package/schemas/tools/update_routing_table.json +25 -0
  475. package/schemas/tools/update_rpki_session.json +38 -0
  476. package/schemas/tools/update_simple_queue.json +66 -0
  477. package/schemas/tools/update_user.json +32 -0
  478. package/schemas/tools/update_user_group.json +29 -0
  479. package/schemas/tools/update_user_manager_user.json +38 -0
  480. package/schemas/tools/update_vlan_interface.json +52 -0
  481. package/schemas/tools/update_wireguard_interface.json +36 -0
  482. package/schemas/tools/update_wireguard_peer.json +38 -0
  483. package/schemas/tools/update_wireless_interface.json +26 -0
  484. package/schemas/tools/upload_file.json +18 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ali Torki
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,296 @@
1
+ <div align="center">
2
+ <img src="assets/logo.svg" alt="@usex/mikrotik-mcp" width="440" />
3
+ <p><strong>A Bun-native MCP server that turns one or more MikroTik routers into 466 tools your AI can drive.</strong><br/>
4
+ Firewall · routing · DHCP/DNS · wireless · QoS · and a complete VPN suite — over SSH, with transactional Safe Mode.</p>
5
+
6
+ <p>
7
+ <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-7C3AED.svg"></a>
8
+ <img alt="Runtime: Bun" src="https://img.shields.io/badge/runtime-Bun%20%E2%89%A5%201.3-06B6D4.svg">
9
+ <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-strict-6366F1.svg">
10
+ <img alt="MCP" src="https://img.shields.io/badge/MCP-466%20tools-1F2937.svg">
11
+ <a href="docs/"><img alt="Docs" src="https://img.shields.io/badge/docs-reference-7C3AED.svg"></a>
12
+ </p>
13
+ </div>
14
+
15
+ ---
16
+
17
+ `@usex/mikrotik-mcp` exposes **MikroTik RouterOS** as **466 [Model Context Protocol](https://modelcontextprotocol.io)
18
+ tools across 51 modules**, so an AI client (Claude Desktop, Claude Code, any MCP
19
+ client) can read and configure your router in plain language. It speaks to the
20
+ device over **SSH** — no agent, no API package to install on RouterOS — runs on
21
+ **[Bun](https://bun.sh)**, and validates every tool call against a Zod schema.
22
+
23
+ Every tool is **risk-annotated** (read / write / destructive) so clients can gate
24
+ what runs, and risky changes can be wrapped in **Safe Mode** — RouterOS holds them
25
+ in memory and auto-reverts if your session drops, so you can't lock yourself out.
26
+
27
+ ```jsonc
28
+ // claude_desktop_config.json
29
+ {
30
+ "mcpServers": {
31
+ "mikrotik": {
32
+ "command": "mikrotik-mcp",
33
+ "env": {
34
+ "MIKROTIK_HOST": "192.168.88.1",
35
+ "MIKROTIK_USERNAME": "admin",
36
+ "MIKROTIK_PASSWORD": "your-password"
37
+ }
38
+ }
39
+ }
40
+ }
41
+ ```
42
+
43
+ > *"Show me the firewall input chain, then block SSH from the WAN under safe mode."*
44
+ > *"Build an IKEv2 site-to-site tunnel to 203.0.113.5 for 192.168.20.0/24."*
45
+ > *"Why can't VLAN 50 reach the internet?"*
46
+
47
+ ## Why it's different
48
+
49
+ - 🧰 **Breadth** — 466 tools covering the whole device: L2 (bridge, VLAN, wireless,
50
+ PoE), L3 (addressing, routing, DHCP, DNS), security (firewall, NAT, address-lists,
51
+ certificates), QoS (queues), and system ops (users, logs, backups, scheduler).
52
+ - 🔐 **A complete VPN suite** — WireGuard, IPsec (IKEv1/IKEv2), L2TP, PPTP, SSTP,
53
+ OpenVPN, plus GRE/IPIP/EoIP/VXLAN tunnels. With a `choose-vpn-solution` prompt
54
+ that picks the right one for you. See the **[VPN guide](docs/vpn-guide.md)**.
55
+ - 🛟 **Safe Mode** — a real transactional window (`enable_safe_mode` →
56
+ changes → `commit_safe_mode`/`rollback_safe_mode`) backed by a persistent SSH
57
+ session. Auto-reverts on disconnect.
58
+ - 🚦 **Risk-annotated tools** — `readOnlyHint` / `destructiveHint` let clients
59
+ auto-approve reads and prompt on writes.
60
+ - 🧱 **Injection-safe by construction** — a command builder quotes/escapes every
61
+ value, so a hostname like `LAN; /system reset` can never split into a second
62
+ command.
63
+ - 🖧 **Multiple devices** — define named routers and the AI targets one per call
64
+ (a validated `device` argument). Configure **both ends of a tunnel** from one
65
+ conversation. See **[docs/multi-device.md](docs/multi-device.md)**.
66
+ - 🤖 **Guided prompts** — 9 built-in workflows (harden, diagnose, guest Wi-Fi, VPNs,
67
+ cross-device tunnels, backup & document) that turn an intent into tool calls.
68
+
69
+ ## Quickstart
70
+
71
+ ```bash
72
+ # 1. Install (requires Bun ≥ 1.3 — https://bun.sh)
73
+ bun add -g @usex/mikrotik-mcp
74
+
75
+ # 2. Point it at your router and verify SSH connectivity
76
+ MIKROTIK_HOST=192.168.88.1 MIKROTIK_USERNAME=admin MIKROTIK_PASSWORD=•••• \
77
+ mikrotik-mcp auth-check
78
+
79
+ # 3. List the catalog (name · risk · title)
80
+ mikrotik-mcp tools
81
+
82
+ # 4. Run it (stdio by default — wire it into your MCP client)
83
+ mikrotik-mcp serve
84
+ ```
85
+
86
+ **Try it without an AI client** — open the official [MCP Inspector](docs/inspector.md)
87
+ against the server (from source):
88
+
89
+ ```bash
90
+ bun run inspect # opens the Inspector UI to browse/run all 466 tools
91
+ ```
92
+
93
+ **Prefer SSH keys over a password?** Point the server at a key file instead — and
94
+ add a passphrase if the key is encrypted:
95
+
96
+ ```bash
97
+ MIKROTIK_HOST=192.168.88.1 MIKROTIK_USERNAME=admin \
98
+ MIKROTIK_KEY_FILENAME=~/.ssh/id_ed25519 \
99
+ MIKROTIK_KEY_PASSPHRASE=•••• \
100
+ mikrotik-mcp auth-check # prints "Auth mode: SSH key"
101
+ ```
102
+
103
+ The key (file via `--key-filename` or inline PEM via `--private-key`) takes
104
+ precedence over a password. Full configuration reference:
105
+ **[docs/configuration.md](docs/configuration.md)**.
106
+
107
+ ### From source
108
+
109
+ ```bash
110
+ git clone https://github.com/ali-master/mikrotik-mcp && cd mikrotik-mcp
111
+ bun install
112
+ bun run start # serve from source
113
+ bun run build # bundle to dist/
114
+ ```
115
+
116
+ ## The tool catalog
117
+
118
+ **466 tools across 51 modules.** Full, always-current reference (parameters +
119
+ risk per tool) is generated from source: **[docs/tools-reference.md](docs/tools-reference.md)**.
120
+
121
+ | Group | Tools | Modules |
122
+ |-------|------:|---------|
123
+ | **Interfaces** | 41 | interfaces, VLAN, bridge, wireless, PoE |
124
+ | **Addressing & Routing** | 46 | IP addresses, IP pools, routing, DHCP, DNS |
125
+ | **Dynamic Routing** | 99 | router-id, settings, tables, rules, next-hops, filters, BFD, BGP, OSPF, RIP, PIM-SM, IGMP proxy, GMP, RPKI |
126
+ | **Security** | 34 | firewall filter, NAT, address-lists, certificates, IP services |
127
+ | **VPN & Tunneling** | 96 | WireGuard, IPsec, PPP, L2TP, PPTP, SSTP, OpenVPN, GRE/IPIP/EoIP/VXLAN |
128
+ | **QoS** | 19 | queue types, queue trees, simple queues |
129
+ | **System & Ops** | 102 | system, network tools, scheduler/scripts, users, logs, backup, Safe Mode |
130
+
131
+ ## VPN & tunneling — expert coverage
132
+
133
+ Every MikroTik VPN technology, modeled the way RouterOS actually layers them (the
134
+ PPP-based VPNs share one `/ppp` backend for users and addressing):
135
+
136
+ | Need | Use | Build it with |
137
+ |------|-----|---------------|
138
+ | MikroTik ↔ MikroTik, modern clients | **WireGuard** | `create_wireguard_interface`, `add_wireguard_peer`, `generate_wireguard_client_config` |
139
+ | Interop site-to-site / native IKEv2 | **IPsec** | `create_ipsec_{profile,peer,identity,proposal,policy}`, `get_ipsec_active_peers` |
140
+ | Built-in OS VPN clients | **L2TP/IPsec** | `set_l2tp_server`, `create_ppp_secret`, `create_ppp_profile` |
141
+ | Through restrictive firewalls | **SSTP** (TLS) | `set_sstp_server`, `create_sstp_client` |
142
+ | Cross-platform OpenVPN | **OpenVPN** | `set_ovpn_server`, `create_ovpn_client` |
143
+ | Route / L2-bridge between sites | **GRE/IPIP/EoIP/VXLAN** | `create_gre_tunnel`, `create_eoip_tunnel`, `create_vxlan_tunnel` |
144
+
145
+ Not sure which? Invoke the **`choose-vpn-solution`** prompt and the server
146
+ recommends one and outlines the build. Details: **[docs/vpn-guide.md](docs/vpn-guide.md)**.
147
+
148
+ ## Manage multiple devices
149
+
150
+ Give each router a name and the AI can drive them all from one conversation —
151
+ exactly what you need to **set up a tunnel between two MikroTiks and test it from
152
+ both ends**. Point the server at a JSON file (or `MIKROTIK_DEVICES`):
153
+
154
+ ```jsonc
155
+ // devices.json
156
+ {
157
+ "defaultDevice": "site-a",
158
+ "devices": {
159
+ "site-a": { "host": "203.0.113.10", "username": "admin", "keyFilename": "/keys/site-a" },
160
+ "site-b": { "host": "198.51.100.20", "username": "admin", "password": "••••" }
161
+ }
162
+ }
163
+ ```
164
+
165
+ ```bash
166
+ mikrotik-mcp serve --config ./devices.json
167
+ mikrotik-mcp devices # site-a (default) · site-b
168
+ mikrotik-mcp auth-check # probes every device
169
+ ```
170
+
171
+ When more than one device is configured, **every tool gains an optional `device`
172
+ argument** (a validated enum of your names); omit it to use the default. The AI
173
+ discovers names with `list_mikrotik_devices`, and **Safe Mode is per-device** so
174
+ each router commits independently. The **`setup-tunnel-between-sites`** prompt
175
+ drives the whole both-ends flow. Full guide: **[docs/multi-device.md](docs/multi-device.md)**.
176
+
177
+ ```jsonc
178
+ // the AI calls a tool against a specific router:
179
+ // create_wireguard_interface { "device": "site-a", "name": "wg-to-b", "listen_port": 13231 }
180
+ ```
181
+
182
+ ## Built-in prompts
183
+
184
+ MCP **prompts** are one-click guided workflows. This server ships 9 — authored as
185
+ Markdown in [`prompts/`](prompts/), so you can edit or add your own without
186
+ touching code:
187
+
188
+ `harden-router` · `diagnose-connectivity` · `setup-guest-wifi` ·
189
+ `choose-vpn-solution` · `setup-wireguard-vpn` · `setup-ipsec-site-to-site` ·
190
+ `setup-l2tp-ipsec-roadwarrior` · `setup-tunnel-between-sites` · `backup-and-document`
191
+
192
+ See **[docs/prompts.md](docs/prompts.md)**.
193
+
194
+ ## Transports
195
+
196
+ | Transport | When | Run |
197
+ |-----------|------|-----|
198
+ | **stdio** (default) | Claude Desktop, local MCP clients | `mikrotik-mcp serve` |
199
+ | **streamable-http** | Remote / shared, behind a proxy | `mikrotik-mcp serve --transport streamable-http --mcp-port 8000` |
200
+ | **sse** | Legacy HTTP clients | `mikrotik-mcp serve --transport sse` |
201
+
202
+ HTTP transports expose `POST /mcp` and a `GET /health` check, with DNS-rebinding
203
+ protection that reconciles with your bind host automatically. See
204
+ **[docs/transports.md](docs/transports.md)**.
205
+
206
+ ## Safe Mode
207
+
208
+ ```text
209
+ enable_safe_mode → (make changes) → commit_safe_mode # persist
210
+ → rollback_safe_mode # discard
211
+ ```
212
+
213
+ While active, every change is held in memory; if the SSH session drops (e.g. a
214
+ firewall rule that locks you out), RouterOS reverts everything automatically.
215
+ Commands issued during the window are routed through the same persistent session.
216
+ See **[docs/safe-mode.md](docs/safe-mode.md)**.
217
+
218
+ ## Configuration
219
+
220
+ Connection and transport settings come from `MIKROTIK_*` env vars or matching CLI
221
+ flags (highest precedence last: defaults → env → flags).
222
+
223
+ | Variable | Flag | Default | Purpose |
224
+ |----------|------|---------|---------|
225
+ | `MIKROTIK_HOST` | `--host` | `127.0.0.1` | RouterOS host |
226
+ | `MIKROTIK_USERNAME` | `--username` | `admin` | SSH user |
227
+ | `MIKROTIK_PORT` | `--port` | `22` | SSH port |
228
+ | `MIKROTIK_PASSWORD` | `--password` | — | SSH password _(or use a key →)_ |
229
+ | `MIKROTIK_KEY_FILENAME` | `--key-filename` | — | SSH private-key file path |
230
+ | `MIKROTIK_PRIVATE_KEY` | `--private-key` | — | Inline private key (PEM) |
231
+ | `MIKROTIK_KEY_PASSPHRASE` | `--key-passphrase` | — | Passphrase for an encrypted key |
232
+ | `MIKROTIK_CONFIG_FILE` | `--config` | — | JSON file of named devices ([multi-device](docs/multi-device.md)) |
233
+ | `MIKROTIK_DEVICES` | `--devices` | — | Inline JSON of named devices |
234
+ | `MIKROTIK_MCP__TRANSPORT` | `--transport` | `stdio` | `stdio` / `streamable-http` / `sse` |
235
+ | `MIKROTIK_MCP__PORT` | `--mcp-port` | `8000` | HTTP bind port |
236
+
237
+ Full table (incl. HTTP host, allow-lists, timeouts, `MIKROTIK_LOG_LEVEL`):
238
+ **[docs/configuration.md](docs/configuration.md)**.
239
+
240
+ ## Schemas
241
+
242
+ `schemas/` ships machine-readable JSON Schemas, **generated from the TypeScript
243
+ source** (`bun run gen:schemas`) so they can never drift:
244
+
245
+ - `schemas/tool-catalog.json` — all 466 tools with risk, description, and input schema
246
+ - `schemas/tools/<name>.json` — per-tool input schema
247
+ - `schemas/config.schema.json` — the runtime configuration
248
+
249
+ ## Documentation
250
+
251
+ | Doc | |
252
+ |-----|---|
253
+ | [Getting started](docs/getting-started.md) | Install, verify, first run |
254
+ | [Configuration](docs/configuration.md) | Every env var & flag |
255
+ | [Multiple devices](docs/multi-device.md) | Manage several routers; per-call targeting |
256
+ | [Connecting clients](docs/connecting-clients.md) | Claude Desktop, stdio, HTTP |
257
+ | [Transports](docs/transports.md) | stdio / HTTP / SSE, DNS-rebinding |
258
+ | [Safe Mode](docs/safe-mode.md) | Transactional changes |
259
+ | **[VPN guide](docs/vpn-guide.md)** | Every tunnel type + how to build it |
260
+ | [Prompts](docs/prompts.md) | The 9 guided workflows |
261
+ | [Architecture](docs/architecture.md) | How it's built |
262
+ | [Security](docs/security.md) | Credentials, risk gating |
263
+ | [Tool reference](docs/tools-reference.md) | All 466 tools |
264
+ | [MCP Inspector](docs/inspector.md) | Test tools/prompts in the UI or CLI |
265
+ | [Development](docs/development.md) · [Docker](docs/docker.md) | Build, test, deploy |
266
+
267
+ ## Development
268
+
269
+ ```bash
270
+ bun run test:types # tsc --noEmit
271
+ bun test # unit tests
272
+ bun run gen # regenerate schemas/ + docs/tools-reference.md from source
273
+ bun run build # bundle to dist/
274
+ ```
275
+
276
+ See **[docs/development.md](docs/development.md)** and [CONTRIBUTING.md](CONTRIBUTING.md).
277
+
278
+ ## Security
279
+
280
+ Talks to RouterOS over SSH using credentials you supply; nothing is sent anywhere
281
+ else. Tool values are quoted/escaped to prevent console-command injection.
282
+ Destructive and dangerous tools are annotated so clients can require confirmation,
283
+ and a plaintext-password-in-a-container warning nudges you toward key files or
284
+ secrets. Details: **[docs/security.md](docs/security.md)**. Only point this at
285
+ devices you're authorized to manage.
286
+
287
+ ## License
288
+
289
+ [MIT](LICENSE). Reuse freely. No warranty.
290
+
291
+ ---
292
+
293
+ <div align="center">
294
+ <img src="assets/logo-icon.svg" width="56" alt="" /><br/>
295
+ Made with ❤️ by <a href="https://github.com/ali-master">Ali Torki</a>
296
+ </div>