nano-vm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NANO_VM_MCP_DB | No | SQLite WAL database path | nano_vm_mcp.db |
| NANO_VM_MCP_HOST | No | SSE bind host | 0.0.0.0 |
| NANO_VM_MCP_PORT | No | SSE bind port | 8080 |
| NANO_VM_MCP_API_KEY | No | Bearer token for SSE auth. If unset, a warning is logged and all requests are allowed. | |
| NANO_VM_MCP_LLM_MODEL | No | LiteLLM model string for `llm` steps |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_programA | Execute a nano-vm Program dict. Returns trace_id, status, step count, and cost. Optionally persists the program under a name. |
| get_traceA | Retrieve the full Trace JSON for a completed run by trace_id. |
| list_programsA | List all saved programs (id, name, created_at). |
| get_programB | Retrieve a saved Program JSON by its program_id. |
| delete_programC | Delete a saved program and all its traces. |
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 5 tools
Each tool targets a distinct action (delete, get, list, run, get trace) with no overlap. Descriptions clearly differentiate them.
All tools use consistent snake_case and verb_noun pattern: delete_program, get_program, get_trace, list_programs, run_program.
5 tools is well-scoped for a VM execution server, covering core operations without unnecessary bloat.
Lacks update functionality for programs and no way to list traces (only fetch by known ID). These gaps may hinder some workflows.