kasm-workspaces-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KASM_API_KEY | Yes | API key from Kasm Admin → Access Management → API Keys | |
| KASM_API_URL | Yes | The base URL of the Kasm Workspaces instance, e.g. https://kasm.example.com | |
| KASM_USER_ID | Yes | The Kasm user ID this server acts as (UUID, with hyphens) | |
| KASM_SSH_USER | No | SSH user for execute_kasm_command_ssh | kasm-user |
| KASM_ADMIN_MODE | No | Registers official user/group management tools | false |
| KASM_API_SECRET | Yes | API secret from Kasm Admin → Access Management → API Keys | |
| KASM_SSH_ENABLED | No | Registers execute_kasm_command_ssh | false |
| KASM_SSH_KEY_PATH | No | Path to SSH key, required if KASM_SSH_ENABLED=true | |
| KASM_ALLOWED_ROOTS | No | Comma-separated path allowlist | /home/kasm-user |
| KASM_UNOFFICIAL_API | No | Registers undocumented registry/image tools | false |
| KASM_SSH_HOST_OVERRIDE | No | Host override when container_ip isn't reachable from where this server runs |
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 |
|---|---|
| create_kasm_sessionC | Create a new Kasm session. Set enable_sharing=True to get a usable share_id back. |
| destroy_kasm_sessionB | Permanently destroy a Kasm session. |
| pause_kasm_sessionC | Pause a Kasm session. |
| resume_kasm_sessionB | Resume a paused Kasm session. |
| get_session_statusB | Get the current status of a Kasm session. |
| list_user_sessionsA | List active sessions for the configured user. |
| get_share_linkA | Get a view-only share link for a session created with enable_sharing=True. |
| get_session_screenshotB | Capture a screenshot of a session. Pass save_to_file to write a JPEG; otherwise returns base64. |
| execute_kasm_commandC | Dispatch a command inside a session. Kasm's API never returns output/exit_code for this call. |
| get_available_workspacesA | List available workspace images. |
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 10 tools
Each tool targets a distinct action or resource: lifecycle operations (create/pause/resume/destroy), status/list, share link, screenshot, command execution, and workspace listing. No two tools appear to overlap in purpose.
Tool names mostly follow verb_noun in snake_case (create_kasm_session, destroy_kasm_session, pause_kasm_session, resume_kasm_session). Minor inconsistency exists: some use 'kasm_session' while others use just 'session' (get_session_status, get_session_screenshot) and 'user_sessions' (list_user_sessions), but the pattern remains predictable.
Ten tools is a well-scoped count for a Kasm session management server. Each tool provides a meaningful operation without redundant or unnecessary functions, making it neither too thin nor too heavy.
The toolset covers the main session lifecycle (create, destroy, pause, resume, status, list) plus sharing, screenshots, command execution, and available workspaces. Minor gaps exist, such as no update/rename session or share revocation, but the core workflows for Kasm session management are complete.