EVE-MCP Server
Bridges AI assistants with EVE-NG network simulation labs, enabling autonomous management of labs, device configuration, and diagnostics through natural language.
README
<div align="center">
๐ EVE-MCP Server
An MCP (Model Context Protocol) server that bridges AI assistants with EVE-NG network simulation labs.
Installation ยท Tools Reference ยท Configuration ยท Skills
</div>
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/ | iex
The 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=true
MCP 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 | %USERPROFILE%\.gemini\config\mcp_config.json |
| Antigravity CLI | %USERPROFILE%\.gemini\antigravity-cli\mcp_config.json |
| Claude Desktop | %APPDATA%\Claude\claude_desktop_config.json |
๐ Tools Reference
Session Management
| Tool | Description |
|---|---|
login |
Authenticate against EVE-NG and store session cookie |
logout |
Invalidate the current session |
reset_session |
Clear in-memory and on-disk session data |
System & Templates
| Tool | Description |
|---|---|
get_server_status |
Return EVE-NG server version and status |
list_node_templates |
List all available node/device templates |
node_template_detail |
Get detailed info for a specific template |
User Management
| Tool | Description |
|---|---|
list_users |
List all EVE-NG users |
list_user_roles |
List available user roles |
get_user |
Get details for a specific user |
add_user |
Create a new user |
edit_user |
Modify an existing user |
delete_user |
Remove a user |
Folder & Lab Management
| Tool | Description |
|---|---|
list_folders |
List folders in the EVE-NG file system |
get_folder |
Get contents of a specific folder |
get_lab |
Retrieve lab details |
create_lab |
Create a new lab |
edit_lab |
Modify lab metadata |
delete_lab |
Delete a lab |
close_lab |
Close an open lab |
lock_lab / unlock_lab |
Lock or unlock a lab for editing |
export_lab |
Export a lab as a .unl file |
import_lab |
Import a .unl file into EVE-NG |
get_lab_topology |
Retrieve the full topology (nodes + links) |
export_all_nodes |
Export configs of all nodes in a lab |
get_lab_pictures |
List topology diagram images |
get_lab_picture_details |
Get details of a specific picture |
Lab Networks
| Tool | Description |
|---|---|
list_networks |
List all networks in the system |
list_lab_networks |
List networks within a lab |
get_lab_network |
Get a specific lab network by ID |
get_lab_network_by_name |
Get a lab network by name |
add_lab_network |
Add a new network to a lab |
edit_lab_network |
Modify a lab network |
list_lab_links |
List all links in a lab |
Node Management
| Tool | Description |
|---|---|
list_nodes |
List all nodes in a lab |
get_node |
Get node details by ID |
get_node_by_name |
Get node details by name |
add_node |
Add a new node to a lab |
delete_node |
Remove a node from a lab |
start_node / stop_node |
Power a node on or off |
start_all_nodes / stop_all_nodes |
Bulk power on/off |
wipe_node / wipe_all_nodes |
Reset node(s) to factory state |
export_node |
Export a node's running config |
enable_node_config |
Enable config persistence on a node |
get_node_interfaces |
List all interfaces of a node |
get_node_configs |
List all saved node configs |
get_node_config_by_id |
Retrieve a specific saved config |
upload_node_config |
Push a startup config to a node |
Connectivity
| Tool | Description |
|---|---|
connect_node |
Connect a node interface to a network |
connect_node_to_cloud |
Bridge a node interface to a cloud/bridge |
connect_node_to_node |
Create a link between two nodes |
connect_p2p_interface |
Configure a point-to-point interface |
SSH Remote Execution (via Netmiko)
| Tool | Description |
|---|---|
ssh_run_command |
SSH into a device and run a single exec-mode command |
ssh_run_commands |
SSH into a device and run multiple exec-mode commands |
ssh_configure |
SSH into a device and push configuration commands |
remote_command |
Run a single command via EVE-NG console |
remote_commands |
Run multiple commands via EVE-NG console |
remote_config |
Push config via EVE-NG console |
remote_node |
Access a node's console session |
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 |
|---|---|
eve-authentication |
Auto-login with session fallback |
eve-lab-implementation |
Generate UNL topology files and import labs |
eve-lab-management |
Full lab lifecycle (create, export, import, delete) |
eve-network-connectivity |
Add networks, connect nodes, configure P2P links |
eve-node-management |
Add, start, stop, wipe, configure nodes |
eve-remote-execution |
SSH configuration and command execution |
eve-user-system-admin |
User and system administration |
cisco-ios-patterns |
Cisco IOS/IOS-XE syntax and best practices |
network-interface-health |
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
โ โโโ remote_service.py # Netmiko SSH client
โโโ utilities/
โ โโโ sdk_helpers.py # Shared error-wrapping utilities
โโโ 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.
<div align="center"> Made with โค๏ธ for network engineers and AI enthusiasts </div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.