EVE-MCP Server
๐ EVE-MCP Server
An MCP (Model Context Protocol) server that bridges AI assistants with EVE-NG network simulation labs.
Installation ยท Tools Reference ยท Configuration ยท Skills
Overview
EVE-MCP Server exposes the full EVE-NG REST API and SSH device access as MCP tools, allowing AI agents (Claude, Antigravity IDE, Antigravity CLI) to autonomously manage network labs, configure devices, and run diagnostics โ all through natural language.
AI Agent (Claude / Antigravity)
โ
โ MCP Protocol (stdio)
โผ
โโโโโโโโโโโโโโโ REST API โโโโโโโโโโโโโโโโ
โ EVE-MCP โ โโโโโโโโโโโโโโโโโโโถ โ EVE-NG โ
โ Server โ โ Server โ
โ โ SSH/Netmiko โ โ
โ โ โโโโโโโโโโโโโโโโโโโถ โ Lab Devices โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโKey Features
๐ 50+ MCP Tools โ full EVE-NG lifecycle: sessions, labs, nodes, networks, topology, configs
๐ฅ๏ธ SSH Remote Execution โ run show commands and push configs via Netmiko (Cisco IOS/NX-OS/XR, Arista, Juniper, and more)
๐ฆ One-line Install โ internet installer bootstraps Python 3.14, venv, and all dependencies
๐ค AI Agent Skills โ bundled skills teach your AI agent EVE-NG workflows out of the box
โ๏ธ Multi-platform โ configures Antigravity IDE, Antigravity CLI, and Claude Desktop in one step
๐ Installation
Option 1 โ One-line Internet Installer (Recommended)
Open PowerShell and run:
irm https://trongthoaivn.github.io/eve-mcp/ | iexThe installer will:
โ Check / install Python 3.14
โ Download source ZIP from GitHub and extract
โ Create a
.venvand install all dependenciesโ Copy files to
%APPDATA%\Local\eve-mcpโ Ask which AI platforms to configure and write
mcp_config.json
Note: If PowerShell blocks script execution, run:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process irm https://raw.githubusercontent.com/trongthoaivn/eve-mcp/main/startup.ps1 | iex
Option 2 โ Manual Install (from source)
Prerequisites: Python 3.10+, Git
# 1. Clone the repository
git clone https://github.com/trongthoaivn/eve-mcp.git
cd eve-mcp
# 2. Build โ creates .venv and installs dependencies
build.bat
# 3. Install โ copies to AppData and configures AI platforms
install.batโ๏ธ Configuration
Create a .env file in the project root (or in %APPDATA%\Local\eve-mcp\) with your EVE-NG credentials:
EVE_HOST=192.168.1.100
EVE_USERNAME=admin
EVE_PASSWORD=eve
EVE_PROTOCOL=http
EVE_SSL_VERIFY=false
EVE_DISABLE_INSECURE_WARNINGS=trueMCP Config (auto-generated by installer)
{
"mcpServers": {
"eve-mcp": {
"command": "C:/Users/<you>/AppData/Local/eve-mcp/.venv/Scripts/python.exe",
"args": ["C:/Users/<you>/AppData/Local/eve-mcp/server.py"],
"env": {
"EVE_HOST": "192.168.1.100",
"EVE_USERNAME": "admin",
"EVE_PASSWORD": "eve",
"EVE_PROTOCOL": "http",
"EVE_SSL_VERIFY": "false",
"EVE_DISABLE_INSECURE_WARNINGS": "true"
}
}
}
}Config file locations per platform:
Platform | Config File |
Antigravity IDE |
|
Antigravity CLI |
|
Claude Desktop |
|
๐ Tools Reference
Session Management
Tool | Description |
| Authenticate against EVE-NG and store session cookie |
| Invalidate the current session |
| Clear in-memory and on-disk session data |
System & Templates
Tool | Description |
| Return EVE-NG server version and status |
| List all available node/device templates |
| Get detailed info for a specific template |
User Management
Tool | Description |
| List all EVE-NG users |
| List available user roles |
| Get details for a specific user |
| Create a new user |
| Modify an existing user |
| Remove a user |
Folder & Lab Management
Tool | Description |
| List folders in the EVE-NG file system |
| Get contents of a specific folder |
| Retrieve lab details |
| Create a new lab |
| Modify lab metadata |
| Delete a lab |
| Close an open lab |
| Lock or unlock a lab for editing |
| Export a lab as a |
| Import a |
| Retrieve the full topology (nodes + links) |
| Export configs of all nodes in a lab |
| List topology diagram images |
| Get details of a specific picture |
Lab Networks
Tool | Description |
| List all networks in the system |
| List networks within a lab |
| Get a specific lab network by ID |
| Get a lab network by name |
| Add a new network to a lab |
| Modify a lab network |
| List all links in a lab |
Node Management
Tool | Description |
| List all nodes in a lab |
| Get node details by ID |
| Get node details by name |
| Add a new node to a lab |
| Remove a node from a lab |
| Power a node on or off |
| Bulk power on/off |
| Reset node(s) to factory state |
| Export a node's running config |
| Enable config persistence on a node |
| List all interfaces of a node |
| List all saved node configs |
| Retrieve a specific saved config |
| Push a startup config to a node |
Connectivity
Tool | Description |
| Connect a node interface to a network |
| Bridge a node interface to a cloud/bridge |
| Create a link between two nodes |
| Configure a point-to-point interface |
๐ฅ๏ธ Async Remote Command & Configuration (Job-Based)
All command execution and configuration tools now operate asynchronously using a background job manager. Instead of blocking the event loop, these tools queue the request and immediately return a job_id.
1. Device SSH Tools (via Netmiko)
Tool | Description |
| SSH into a device and run a single exec-mode command (async) |
| SSH into a device and run multiple exec-mode commands (async) |
| SSH into a device and push configuration commands (async) |
2. EVE-NG Console Redirection Tools
These tools connect to device console ports (using Telnet/VNC redirected through EVE-NG) to configure devices or run commands when SSH is not yet set up.
Tool | Description |
| Run a single command on a device via its EVE-NG console port (async) |
| Run multiple commands on a device via its EVE-NG console port (async) |
| Push configuration commands to a device via its EVE-NG console port (async) |
| General console manager to execute commands/configs on a specific node (async) |
3. Initial Configuration Dialog Bypass
Tools to automatically dismiss the initial configuration dialog ("Would you like to enter...") on freshly booted devices.
Tool | Description |
| Connect to device console via raw TCP socket and dismiss setup wizard (sync) |
| Bypass initial dialog, wait for boot, and run single command (async) |
| Bypass initial dialog, wait for boot, and run multiple commands (async) |
| Bypass initial dialog, wait for boot, and push config commands (async) |
4. Job Management
Use these tools to poll progress and retrieve results for any of the async tools above:
Tool | Description |
| Poll job status, execution progress, and error messages |
| Retrieve results of a completed job (read-once, evicts job from memory) |
| Cancel a running background job and release host concurrency lock |
Supported device types (Netmiko): cisco_ios, cisco_nxos, cisco_xr, arista_eos, juniper_junos, linux, huawei, and many more.
๐ค AI Agent Skills
The skills/ directory contains pre-built skill packs that are automatically copied to your AI agent's config during installation, teaching the agent EVE-NG workflows:
Skill | Description |
| Auto-login with session fallback |
| Generate UNL topology files and import labs |
| Full lab lifecycle (create, export, import, delete) |
| Add networks, connect nodes, configure P2P links |
| Add, start, stop, wipe, configure nodes |
| SSH configuration and command execution |
| User and system administration |
| Cisco IOS/IOS-XE syntax and best practices |
| Diagnose interface errors (CRC, drops, flapping) |
๐ฆ Project Structure
eve-mcp/
โโโ server.py # FastMCP entry point
โโโ controllers/
โ โโโ eve_ng_controller.py # EVE-NG MCP tool registrations
โ โโโ remote_controller.py # SSH/Netmiko MCP tool registrations
โโโ services/
โ โโโ eve_ng_service.py # EVE-NG REST API client
โ โโโ job_manager_service.py # Background job manager for async SSH/Console tasks
โ โโโ remote_service.py # Netmiko SSH client
โโโ utilities/
โ โโโ sdk_helpers.py # Shared error-wrapping utilities
โ โโโ logging_decorator.py # Reusable logging decorator with password masking
โโโ skills/ # AI agent skill packs
โโโ configure_mcp.py # MCP config writer (used by installers)
โโโ build.bat # Build script (venv + deps)
โโโ install.bat # Platform installer script
โโโ startup.ps1 # One-line internet installer
โโโ requirements.txt # Python dependencies
โโโ .env # EVE-NG credentials (not committed)๐ Requirements
Component | Version |
Python | 3.10+ (3.14 recommended) |
FastMCP | 3.4.2 |
httpx | 0.28.1 |
eve-ng | 0.2.7 |
python-dotenv | 1.2.2 |
netmiko | 4.4.0 |
๐ License
This project is licensed under the Apache License 2.0 โ see the LICENSE file for details.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/trongthoaivn/eve-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server