smol-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SMOLVM | No | Path to the `smolvm` binary. Used when the binary is not on PATH. | |
| SMOL_MCP_CPUS | No | Number of CPUs allocated to each machine. | 2 |
| SMOL_CLOUD_URL | No | Base URL of the smol cloud REST API. Used when the `cloud` target is selected. | |
| SMOL_LOCAL_URL | No | Listen address of an already-running `smolvm serve`. If set, the server uses this existing instance instead of starting its own. | |
| SMOL_MCP_CONFIG | No | Path to a JSON config file. Env vars take precedence over file values. | |
| SMOL_CLOUD_TOKEN | No | Bearer token for the smol cloud REST API. Required when using the `cloud` target. | |
| SMOL_MCP_HTTP_HOST | No | Bind host for the HTTP transport. | 127.0.0.1 |
| SMOL_MCP_HTTP_PATH | No | URL path for the HTTP transport. | /mcp |
| SMOL_MCP_HTTP_PORT | No | Port for the HTTP transport. | 8080 |
| SMOL_MCP_MEMORY_MB | No | Memory allocated to each machine, in MiB. | 2048 |
| SMOL_MCP_AUTH_TOKEN | No | Authentication token required by the HTTP transport. The HTTP server refuses to start without it. | |
| SMOL_MCP_MACHINE_PREFIX | No | Prefix marking a machine as ephemeral. | mcp- |
| SMOL_MCP_MAX_OUTPUT_BYTES | No | Maximum output bytes kept per stream before truncation. | 65536 |
| SMOL_MCP_RUN_ONCE_NETWORK | No | Network mode for the `run-once` tool on the local target. | open |
| SMOL_MCP_EXEC_TIMEOUT_SECS | No | Maximum execution time for a command before it times out. | 120 |
| SMOL_MCP_EPHEMERAL_TTL_SECS | No | Time-to-live for ephemeral machines in seconds. | 3600 |
| SMOL_MCP_READY_TIMEOUT_SECS | No | Time to wait for a machine to become ready. | 120 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list-machinesB | List machines on the target. |
| get-machineB | Get one machine's state and resources. |
| create-machineA | Create a machine from an OCI image, start it, and wait until commands run in it. |
| run-commandC | Run a command in a running machine. exitCode comes from the guest; a failing command is not an error. |
| run-onceA | Create a throwaway machine from an image, run one command, and delete the machine even on timeout. |
| read-fileB | Read a file from a machine. |
| write-fileA | Write a file into a machine. Waits until the workload container runs so the file is not lost. |
| stop-machineA | Stop a running machine (it can be started again with create-machine's name or the CLI). |
| delete-machineA | Delete a machine, running or not. |
| machine-logsB | Tail the machine's console log. Local only. |
| pull-imageC | Pull an image into a running machine's local cache. Local only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |