mikrotik-mcp
v1.0.0
Published
MikroTik MCP Server - AI-powered assistant for MikroTik RouterOS management
Downloads
113
Maintainers
Readme
🛜 Tum's MikroTik MCP Server
MCP (Model Context Protocol) Server สำหรับจัดการ MikroTik RouterOS ผ่าน SSH
✨ Features
MCP Server นี้มี Tools ทั้งหมด 12 ตัว สำหรับจัดการ MikroTik:
📊 Network Information
mikrotik_get_ip_addresses- ดูรายการ IP Address ทั้งหมดmikrotik_get_interface_status- เช็คสถานะ Interfacemikrotik_get_dhcp_leases- ดู DHCP Leasesmikrotik_get_routes- ดู Routing Tablemikrotik_get_bridges- ดู Bridge Interfacesmikrotik_get_wireless_interfaces- ดู Wireless Interfaces
🔒 Security & Firewall
mikrotik_get_firewall_rules- ดู Firewall Filter Rulesmikrotik_get_nat_rules- ดู NAT Rules
⚙️ System
mikrotik_get_system_resources- ดู CPU, Memory, Uptimemikrotik_get_dns_settings- ดู DNS Settingsmikrotik_test_connection- ทดสอบการเชื่อมต่อ
🛠️ Advanced
mikrotik_execute_command- รันคำสั่ง RouterOS แบบ Custom (Read-only)
📋 Prerequisites
- Node.js 18+
- MikroTik Router with SSH enabled
- SSH credentials (username/password)
🚀 Installation
Local Development
# Clone or navigate to the project
cd /home/rookief/MCP/mikrotik
# Install dependencies
npm install
# Build
npm run buildConfiguration
สร้างไฟล์ ~/.env/mikrotik.env:
MIKROTIK_HOST="IP GATEWAY"
MIKROTIK_USERNAME="your-username"
MIKROTIK_PASSWORD="your-password"
MIKROTIK_PORT="22"Add to Opencode
เพิ่มใน ~/.config/opencode/opencode.json:
{
"mcpServers": {
"mikrotik": {
"command": "node",
"args": ["/home/rookief/MCP/mikrotik/dist/index.js"]
}
}
}หรือใช้ shell wrapper เพื่อความปลอดภัย:
{
"mcpServers": {
"mikrotik": {
"command": "bash",
"args": [
"-c",
"source ~/.env/mikrotik.env && node /home/rookief/MCP/mikrotik/dist/index.js"
]
}
}
}🎯 Usage Examples
ตัวอย่างการใช้งาน
// ดู IP Addresses
mikrotik_get_ip_addresses()
// เช็คสถานะ Interface
mikrotik_get_interface_status()
// ดู System Resources
mikrotik_get_system_resources()
// รันคำสั่งแบบกำหนดเอง
mikrotik_execute_command({
command: "/system identity print"
})🔒 Security
- Tools ทั้งหมดเป็น Read-only เป็นหลัก
mikrotik_execute_commandมีการป้องกันคำสั่งอันตราย:- ไม่อนุญาต:
/system reset,/system reboot,remove - แนะนำให้ใช้กับคำสั่ง
printเท่านั้น
- ไม่อนุญาต:
🧪 Development
# Run in development mode (with auto-reload)
npm run dev
# Build for production
npm run build
# Test connection
npm run start📁 Project Structure
mikrotik/
├── src/
│ ├── index.ts # MCP Server main
│ └── mikrotik.ts # SSH Client & RouterOS commands
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md🐛 Troubleshooting
Connection Failed
- เช็ค SSH credentials ใน
~/.env/mikrotik.env - ทดสอบการเชื่อมต่อ:
ssh [email protected] - ตรวจสอบว่า SSH service เปิดอยู่บน MikroTik
Tools ไม่แสดง
- Restart Opencode
- เช็ค logs:
tail -f ~/.config/opencode/mcp-*.log - ทดสอบรัน server:
npm run start
📝 License
MIT
👤 Author
Tum
Made with ❤️ for MikroTik RouterOS automation
