EVE-NG MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EVENG_HOST | No | EVE-NG API base URL | http://192.168.122.10 |
| EVENG_PASSWORD | No | API password | eve |
| EVENG_USERNAME | No | API username | admin |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_labsA | List all labs on the EVE-NG server. Returns lab names, filenames, and paths. Optionally specify a folder path to list labs in a subfolder. |
| get_labB | Get detailed information about a lab including its nodes, networks, and topology. Returns lab metadata, all nodes with their status, and all networks. |
| create_labB | Create a new lab on the EVE-NG server. Specify a name, optional description, and folder path. |
| delete_labC | Delete a lab from the EVE-NG server. This is irreversible. |
| list_imagesA | List all available QEMU/Docker node images (templates) installed on the EVE-NG server. Returns template names and descriptions. |
| add_nodeB | Add a node (virtual device) to a lab. Specify the template (image name), name, RAM, CPU, and number of interfaces. Use 'list_images' first to see available templates. |
| start_nodeC | Start a single node in a lab. The node must already exist. |
| stop_nodeB | Stop a single node in a lab. |
| start_allB | Start all nodes in a lab simultaneously. |
| stop_allC | Stop all nodes in a lab simultaneously. |
| get_node_statusA | Get the current status of a node — whether it is running, stopped, or building. Also returns node details like RAM, CPU, template, and console URL. |
| push_configA | Push a startup configuration to a node. The node should be stopped before pushing config. The configuration is stored and applied on next boot. |
| get_node_configB | Get a node's current startup configuration text. |
| connect_nodesB | Connect two nodes by creating a network and attaching their interfaces to it. Specify the node IDs and interface IDs to connect. Use 'get_lab' first to see available nodes and their interface IDs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct operation (creating labs, adding nodes, connecting, starting/stopping, configuration), with no overlap or ambiguity.
All tool names follow a consistent verb_noun snake_case pattern (e.g., create_lab, get_lab, start_node), making them predictable.
14 tools appropriately cover lab, node, connectivity, and configuration management without being excessive or sparse.
Core workflows (create lab, add nodes, connect, configure, start/stop) are covered; missing operations like delete node or remove connection are minor gaps.