# ParallelSandbox

Connect an agent to a remote Linux box to sync project files and inspect logs. Useful when you want to test a working copy without making a commit.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: parallel-sandbox
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/parallel-sandbox/parallelsandbox-mcp
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/mcp/parallelsandbox

## What it does

ParallelSandbox exposes `sandbox_*` and `logs_*` tools for a remote box. `sandbox_sync` sends project files to `/work/<dest>`, while `sandbox_pull` writes files from the box back to your machine. These file-transfer tools need the stdio adapter; over HTTP, both return an error.

Authenticate with OAuth or set `PARALLELSANDBOX_API_KEY`. OAuth opens a browser during the first connection. If your MCP client does not refresh its tool list after sign-in, reconnect once. In a Git working tree, sync includes tracked files and non-ignored untracked files, but leaves out `.git` and `node_modules`. Transfers above 100 MB stop by default, so a larger project needs a higher `maxMB` value.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://mcp.parallelsandbox.com/mcp`
- Environment variables: `PARALLELSANDBOX_API_KEY`, `PSBX_TOOL_TIMEOUT_SEC` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add --env PARALLELSANDBOX_API_KEY=<PARALLELSANDBOX_API_KEY> --env PSBX_TOOL_TIMEOUT_SEC=<PSBX_TOOL_TIMEOUT_SEC> --transport stdio parallelsandbox -- npx -y parallelsandbox-mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http parallelsandbox https://mcp.parallelsandbox.com/mcp
```

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add parallelsandbox --url https://mcp.parallelsandbox.com/mcp
```

2. **Platform CLI**
```bash
codex mcp add parallelsandbox --env PARALLELSANDBOX_API_KEY=<PARALLELSANDBOX_API_KEY> --env PSBX_TOOL_TIMEOUT_SEC=<PSBX_TOOL_TIMEOUT_SEC> -- npx -y parallelsandbox-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "parallelsandbox": {
            "url": "https://mcp.parallelsandbox.com/mcp"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "parallelsandbox": {
            "command": "npx",
            "args": [
                "-y",
                "parallelsandbox-mcp"
            ],
            "env": {
                "PARALLELSANDBOX_API_KEY": "<PARALLELSANDBOX_API_KEY>",
                "PSBX_TOOL_TIMEOUT_SEC": "<PSBX_TOOL_TIMEOUT_SEC>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "parallelsandbox": {
            "type": "http",
            "url": "https://mcp.parallelsandbox.com/mcp"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "parallelsandbox": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "parallelsandbox-mcp"
            ],
            "env": {
                "PARALLELSANDBOX_API_KEY": "<PARALLELSANDBOX_API_KEY>",
                "PSBX_TOOL_TIMEOUT_SEC": "<PSBX_TOOL_TIMEOUT_SEC>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http parallelsandbox https://mcp.parallelsandbox.com/mcp
```

2. **Platform CLI**
```bash
gemini mcp add -e PARALLELSANDBOX_API_KEY=<PARALLELSANDBOX_API_KEY> -e PSBX_TOOL_TIMEOUT_SEC=<PSBX_TOOL_TIMEOUT_SEC> parallelsandbox npx -y parallelsandbox-mcp
```
Replace <…> with your own values

## When to use it
- send working files to a Linux box without committing
- sync project changes to `/work/<dest>`
- copy files from a box back to your machine
- inspect logs from a remote box

## Example prompts
- Connect to ParallelSandbox and sync `/abs/path/to/repo` to `/work/repo`.
- Use `sandbox_sync` to show which project files would be sent, without uploading them.
- Use `sandbox_pull` to copy the requested files from the box to my machine.

## Similar
- [k6-perf-test-website](https://affpapa.org/en/nevibecode/skills/k6-perf-test-website.md) — skill · 3400 installs
- [chrome-webstore-release-blueprint](https://affpapa.org/en/nevibecode/skills/chrome-webstore-release-blueprint.md) — skill · 2800 installs
- [logfire-ui](https://affpapa.org/en/nevibecode/skills/logfire-ui.md) — skill · 1600 installs
- [cmux-terminal-multiplexer](https://affpapa.org/en/nevibecode/skills/cmux-terminal-multiplexer.md) — skill · 1400 installs
- [searxng-search](https://affpapa.org/en/nevibecode/skills/searxng-search.md) — skill · 828 installs
- [dd-browser-sdk](https://affpapa.org/en/nevibecode/skills/dd-browser-sdk.md) — skill · 577 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
