@solarisdk/mcp
Model Context Protocol server for the Solari cloud browser, sandboxes + desktops — drive them from Claude Desktop/Cowork, Claude Code, Cursor, etc.
npm · fingerprint f0692acae586da0f5e2a92f9 · repository · RSS
What changed
Changed 2026-10-12 15:35 UTC
1 description rewritten, 2 schema or annotation changes with the description left byte-identical, 2 tools added.
+ tool added: solari_browser_create_profile
+ tool added: solari_browser_delete_profile
--- pinned/solari_browser_profiles +++ observed/solari_browser_profiles { - "description": "List saved browser profiles for this account. A profile is a stored signed-in state (cookies + localStorage) that solari_browser_create({profileId}) replays, so the session starts already logged in.\nCheck here FIRST when a task will need a login: if a profile for that site already exists, use it and no human is involved at all. `version` is 1 and `populated` is false for a profile nobody has signed into yet — that one still needs solari_browser_login({profileName}).", + "description": "List saved browser profiles for this account. A profile is a stored signed-in state (cookies + localStorage) that solari_browser_create({profileId}) replays, so the session starts already logged in.\nCheck here FIRST when a task will need a login: if a profile for that site already exists, use it and no human is involved at all. `version` is 1 and `populated` is false for a profile nobody has signed into yet — that one still needs solari_browser_login({profileName}). No profile for this site? solari_browser_create_profile makes one; solari_browser_delete_profile removes one permanently.", "execution": { "taskSupport": "forbidden" },
--- pinned/solari_desktop_create +++ observed/solari_desktop_create { "description": "Create a GUI desktop (microVM). Returns sessionId + streamUrl (noVNC).", "execution": { + }, + "volumes": { + "description": "Persistent volumes to attach at start-up, by id and mount path. Contents survive this session being destroyed; attach the same volume to a new session afterward to pick up where you left off.", + "items": { + "additionalProperties": false, + "properties": { + "path": { + "description": "Absolute path to mount it at inside the guest, e.g. /data.", + "type": "string" + }, + "volumeId": { + "description": "Volume id (vol_...) from the /volumes API (not an MCP tool yet).", + "type": "string" + } + }, + "required": [ + "volumeId", + "path" + ], + "type": "object" + }, + "type": "array" } }, "type": "object"
--- pinned/solari_sandbox_create +++ observed/solari_sandbox_create { "description": "Create a headless sandbox (microVM). Returns its sessionId.", "execution": { + }, + "volumes": { + "description": "Persistent volumes to attach at start-up, by id and mount path. Contents survive this session being destroyed; attach the same volume to a new session afterward to pick up where you left off.", + "items": { + "additionalProperties": false, + "properties": { + "path": { + "description": "Absolute path to mount it at inside the guest, e.g. /data.", + "type": "string" + }, + "volumeId": { + "description": "Volume id (vol_...) from the /volumes API (not an MCP tool yet).", + "type": "string" + } + }, + "required": [ + "volumeId", + "path" + ], + "type": "object" + }, + "type": "array" } }, "type": "object"
Changed 2026-10-05 14:41 UTC
1 description rewritten, 2 schema or annotation changes with the description left byte-identical, 4 tools added.
--- pinned/solari_click +++ observed/solari_click { - "description": "Click the desktop at (x, y).", + "description": "Click the desktop at (x, y). Set doubleClick: true for a double click (e.g. opening icons/files); button selects left (default), right, or middle.", "execution": { "taskSupport": "forbidden" }, + "button": { + "enum": [ + "left", + "right", + "middle" + ], + "type": "string" + }, + "doubleClick": { + "type": "boolean" + }, "sessionId": { "type": "string" },
--- pinned/solari_desktop_create +++ observed/solari_desktop_create { "description": "Create a GUI desktop (microVM). Returns sessionId + streamUrl (noVNC).", "execution": { + "checkpointEveryMs": { + "description": "Take a durable checkpoint at most this often while the session runs.", + "type": "number" + }, + "hibernateAfterParkedMs": { + "description": "Escalate a parked session to a full hibernate after this many ms parked.", + "type": "number" + }, + "isolation": { + "description": "VM isolation tier. \"dedicated\" (default) is your own VM. \"hardened\" is your own VM with outbound network blocked -- verified on staging, not yet on prod; refused if the assigned host doesn't support it. \"shared\" is sandbox-only (a desktop's display is per-VM) and is not offered here.", + "enum": [ + "dedicated", + "hardened" + ], + "type": "string" + }, + "parkAfterMs": { + "description": "Auto-park (freeze, keep the slot) after this many ms of no activity.", + "type": "number" + }, + "parkMaxMs": { + "description": "Wake a parked session unconditionally after this many ms, even if idle.", + "type": "number" + }, "resolution": { "type": "string" }, + }, + "ttlSeconds": { + "description": "Legacy idle-window fallback in seconds, only used when the gateway's default timeout is not already set by another field. Usually unnecessary.", + "type": "number" } }, "type": "object"
+ tool added: solari_drag
+ tool added: solari_mouse_down
+ tool added: solari_mouse_move
+ tool added: solari_mouse_up
--- pinned/solari_sandbox_create +++ observed/solari_sandbox_create { "description": "Create a headless sandbox (microVM). Returns its sessionId.", "execution": { + "checkpointEveryMs": { + "description": "Take a durable checkpoint at most this often while the session runs.", + "type": "number" + }, "cpu": { "type": "number" }, + "hibernateAfterParkedMs": { + "description": "Escalate a parked session to a full hibernate after this many ms parked.", + "type": "number" + }, + "isolation": { + "description": "VM isolation tier. \"shared\" runs inside a VM shared with your other shared sandboxes (smaller footprint, faster start). \"dedicated\" (default) is your own VM. \"hardened\" is your own VM with outbound network blocked -- verified on staging, not yet on prod; refused if the assigned host doesn't support it.", + "enum": [ + "shared", + "dedicated", + "hardened" + ], + "type": "string" + }, "memMb": { "type": "number" }, + "parkAfterMs": { + "description": "Auto-park (freeze, keep the slot) after this many ms of no activity.", + "type": "number" + }, + "parkMaxMs": { + "description": "Wake a parked session unconditionally after this many ms, even if idle.", + "type": "number" + }, "template": { "type": "string" + }, + "ttlSeconds": { + "description": "Legacy idle-window fallback in seconds, only used when the gateway's default timeout is not already set by another field. Usually unnecessary.", + "type": "number" } }, "type": "object"
Current tools
Show all 39 tool fingerprints
Watch this server yourself
If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.
npx -y mcp-pin@0.2.3 -- <your @solarisdk/mcp command>
Or subscribe to this page's RSS feed to be told when it changes.
Badge
The badge states one fact about time and nothing else. It never claims a server is safe.
[](https://mcp-pin.gautamkhosla.com/servers/c8a8dbeaca5a0602.html)