SkillAgentSearch skills...

AiNOC

aiNOC: Network troubleshooting framework for multi-vendor, multi-protocol, multi-area enterprise networks based on Claude Code, FastMCP, Python, Scrapli, RESTCONF, Containerlab, Jira, etc.

Install / Use

/learn @pdudotdev/AiNOC
About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Claude Desktop
Cursor

README

✨ aiNOC

Version License Last Commit

| | | |---|---| | | Core Version | | Vendors | Cisco IOS-XE | | Management | RESTCONF CLI | | Integrations | Jira NetBox Discord HashiCorp Vault | | | On-Request | | Vendors | Arista EOS Juniper JunOS Aruba AOS-CX SONiC FRR MikroTik RouterOS VyOS | | Management | NETCONF REST APIs gNMI eAPI | | Integrations | Slack ServiceNow | | Stats | | Performance | MTTD MTTR Cost/Session |

📖 Table of Contents

🔭 Overview

AI-based network troubleshooting framework for multi-vendor, multi-protocol, multi-area/multi-AS enterprise networks.

▫️ Key characteristics:

  • [x] Multi-vendor support
  • [x] Multi-protocol, L2/L3
  • [x] Multi-area/multi-AS
  • [x] CLI/RESTCONF (Core)
  • [x] NETCONF/REST/gNMI/eAPI
  • [x] 15 MCP tools, 4 skills
  • [x] 12 operational guardrails
  • [x] HITL for any config changes
  • [x] Dashboard for agent monitoring
  • [x] Discord integration
  • [x] Jira integration
  • [x] HashiCorp Vault
  • [x] NetBox

▫️ Core vs. On-Request features:

  • [x] Core:
    • Easy to integrate in Cisco IOS/IOS-XE environments
    • CLI, RESTCONF management, OSPF/BGP troubleshooting
    • Jira, Discord, NetBox, HashiCorp Vault integration
  • [x] On-Request:
    • Custom vendor modules (Arista, Juniper, MikroTik, etc.)
    • Custom management (REST APIs, NETCONF, gNMI, eAPI)
    • Built and adapted per client's network environment

▫️ aiNOC operating mode in v5.0+:

▫️ Important project files:

▫️ Agent guardrails list:

▫️ Supported models:

  • [x] Haiku 4.5
  • [x] Sonnet 4.6
  • [x] Opus 4.6 (default, best reasoning)

⚠️ NOTE: Due to the intermittent nature of troubleshooting, it's worth using an advanced model by default. Costs won't become unsustainable even if addressing and fixing several issues per day.

▫️ Set your default model:<br/> Create settings.json under .claude/:

{
  "model":"opus",
  "effortLevel":"medium"
}

▫️ High-level architecture:

arch

🍀 Here's a Quick Demo

  • [x] See a DEMO of aiNOC v5.5

⭐ What's New in v5.5

⚒️ Core Tech Stack

| Tool | | |------|---| | Claude Code | ✓ | | MCP (FastMCP) | ✓ | | Python | ✓ | | Scrapli | ✓ | | Genie | ✓ | | RESTCONF | ✓ | | Jira API | ✓ | | Discord API | ✓ | | HashiCorp Vault | ✓ | | NetBox | ✓ | | Vector | ✓ | | Ubuntu | ✓ |

📋 Supported Vendors

| Vendor | Platform | cli_style | Status | |--------|----------|-----------|--------| | Cisco | IOS-XE | ios | Core | | Arista | EOS | eos | On-Request | | Juniper | JunOS | junos | On-Request | | MikroTik | RouterOS | routeros | On-Request | | Aruba | AOS-CX | aos | On-Request | | SONiC | FRR | frr | On-Request | | VyOS | VyOS | vyos | On-Request |

🚛 Supported Transports

| Management | Devices | Tier | Status | |-----------|---------|------|--------| | RESTCONF | Cisco IOS-XE | Primary | Core | | CLI | Cisco IOS-XE | Fallback | Core | | NETCONF | custom | — | On-Request | | REST APIs | custom | — | On-Request | | gNMI | custom | — | On-Request | | eAPI | Arista | — | On-Request |

🎓 Troubleshooting Scope

| aiNOC Core | |----------| | OSPF | | BGP | | Redistribution | | Policy-based routing| | Route-maps, prefix lists | | NAT/PAT, access lists |

| aiNOC On-Request Extensions | |----------| | EIGRP | | HSRP | | VRRP | | etc. |

🛠️ Installation & Usage

▫️ Step 1:

git clone https://github.com/pdudotdev/aiNOC/
cd aiNOC/
python3 -m venv mcp
source mcp/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

▫️ Step 2: The included CLAUDE.md and skills/* are templates. Customize them with your own troubleshooting methodology, tool descriptions, and operational guidelines.

⚠️ NOTE: There is no one-size-fits-all CLAUDE.md or SKILL.md that works in any network environment. These should be customized for each specific topology, vendor combination, and architecture.

▫️ Step 3:

  • Configure IP SLA (or Connectivity Monitor, Netwatch etc.) paths in your network
  • Make sure they are being tracked and logged remotely to Vector (Syslog)
  • Configure the transforms inside /etc/vector/vector.yaml - example
  • aiNOC monitors Vector's /var/log/network.json file for specific logs and parses them per-vendor

▫️ Step 4: Run the aiNOC watcher and dashboard services. Claude is invoked non-interactively via tmux + print mode (-p) with a default prompt template. The human operator monitors agent operations via the web dashboard on <IP>:5555, and interacts via Discord (fix approval ✅ or rejection ❌ embeds).

sudo apt install tmux
sudo cp oncall/oncall-watcher.service /etc/systemd/system/
sudo cp dashboard/oncall-dashboard.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now oncall-watcher.service
sudo systemctl enable --now oncall-dashboard.service

Manage with: systemctl start | stop | restart | status oncall-watcher

▫️ Step 5: Check if the service and Vector are running:

sudo systemctl status vector
sudo systemctl status oncall-watcher.service
sudo systemctl status oncall-dashboard.service

🔄 Test Network Topology

▫️ Network diagram:

topology

▫️ Router configurations:

  • [x] Please find my test lab's config files under the lab_configs directory
  • [x] They are the network's fallback configs for containerlab redeploy -t AINOC-TOPOLOGY.yml
  • [x] Default credentials: see .env file at .env.example

📞 aiNOC Service Mode

aiNOC runs as an on-call watcher that monitors Vector's /var/log/network.json for SLA path failures and automatically invokes a Claude agent to diagnose the issue and propose a fix.

How It Works

  1. Network devices track connectivity paths (Cisco IP SLA — extensible to Arista Connectivity Monitor, Juniper RPM probes, MikroTik Netwatch etc.)
  2. Failures are logged remotely to SyslogVector records, parses, and writes to /var/log/network.json
  3. oncall-watcher service detects the SLA failure, opens a Jira ticket, and invokes the aiNOC agent session
  4. Web dashboard is activated and displays agent's work in real time. User is notified and kept in the loop via Discord.
  5. Agent follows structured troubleshooting methodology: CLAUDE.md + /skills + MCP tools → identifies root cause(s) → proposes fix
  6. Only upon human operator approval via Discord, the agent applies and verifies the fix, otherwise issue is documented and the case stays open
  7. Case resolution is logged to Jira and Discord, and the watcher resumes monitoring
  8. aiNOC agent learns a new lesson about network troubleshooting and documents to lessons.md

See Installation & Usage for instructions.

⬆️ Planned Upgrades

  • [ ] New protocols supported
  • [ ] Performance-based SLAs

♻️ Repository Lifecycle

New features are being added periodically (protocols, integrations, optimizations).

Stay up-to-date:

  • [x] Watch and Star this repository

Current version:

  • [x] aiNOC v5.5

📄 Disclaimer

You are responsible for defining your own troubleshooting methodologies and context files, as well as building your own test environment and meeting the necessary conditions (e.g., RAM/CPU, Claude subscription/API key, etc.).

View on GitHub
GitHub Stars9
CategoryDevelopment
Updated5h ago
Forks3

Languages

Python

Security Score

90/100

Audited on Mar 25, 2026

No findings