Shift Space gives AI coding assistants visual context through screen recording and AI-powered video analysis.
Three steps to give your AI coding assistant eyes:
Ctrl/Cmd+Shift+Space to record, or let your AI agent call the MCP tools directlyThat's it. No config files to edit, no servers to start.
Shift Space works in two modes:
Ctrl/Cmd+Shift+Space to start recording your screenYour AI coding assistant calls Shift Space tools directly — no hotkey needed:
take_screenshot() to see your screenstart_recording() / stop_recording() to capture videoanalyze_url() to check a webpageThe MCP server is registered automatically when you launch the tray app. Your AI tool discovers the tools and can use them immediately.
The MCP server shares your tray app login. Once you sign in from the tray menu, both the hotkey and the MCP tools use the same Pro account. Your AI agent gets unlimited sessions automatically — no extra configuration.
The MCP server lets AI coding tools call Shift Space programmatically. Choose your preferred installation method:
Automatically detects and configures all installed AI tools:
# macOS / Linux
python3 -c "$(curl -fsSL https://shiftspace.dev/install-mcp.py)"
# Windows (PowerShell)
iwr -useb https://shiftspace.dev/install-mcp.py | python
Run the MCP server directly via npx (requires Node.js and Python):
npx shiftspace-mcp
Or add to your MCP config:
{
"mcpServers": {
"shiftspace": {
"command": "npx",
"args": ["shiftspace-mcp"]
}
}
}
The Shift Space tray app automatically registers the MCP server with detected AI tools on first launch. No manual setup needed.
Run the registration script directly:
python -m mcp_server.register
Or add manually to your AI tool's MCP config:
{
"mcpServers": {
"shiftspace": {
"command": "python",
"args": ["-m", "mcp_server"]
}
}
}
Nine tools available for AI agents:
Parameters: none
Parameters: none
Parameters: none
Parameters: none
Parameters: duration (optional, default 10s, max 60s)
Parameters: recording_id (optional — stops most recent if omitted)
Parameters: file_path (required, path to .mp4/.mov/.webm)
Parameters: url (required), wait_seconds (optional, default 3)
Requires Playwright: pip install playwright && playwright install chromium
Parameters: before_description (str), after_description (str), duration (optional, default 5s)
Here's how an AI coding assistant might use Shift Space tools:
# Agent starts a session — discover available tools:
1. Agent calls get_capabilities()
→ Learns about screenshot, recording, URL analysis tools
2. Agent calls check_connection()
→ Backend reachable, authenticated, 47 sessions remaining
# Agent debugging a web app:
3. Agent calls take_screenshot()
→ "I see a login form with the submit button overlapping the footer"
4. Agent fixes the CSS
5. Agent calls compare_before_after("button overlaps footer", "after CSS fix")
→ First call: captures current state
→ Agent applies fix
→ Second call: "The button is now correctly positioned above the footer"
# Agent checking a deployed site:
6. Agent calls analyze_url("https://staging.myapp.com")
→ "The hero image is broken, showing a 404 placeholder"
# Agent recording a user flow:
7. Agent calls start_recording(duration=15)
→ "Recording started"
8. User performs the action
9. Agent calls stop_recording()
→ "The dropdown menu flickers when hovering between items 3 and 4"
API keys let you authenticate to the Shift Space API from servers, scripts, and CI/CD pipelines without using a browser-based JWT. API keys require a Pro or Team account.
You can create API keys from the API Keys dashboard, or via the API:
curl -X POST https://api.shiftspace.dev/api-keys \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Production server"}'
The response includes the full API key. Save it immediately — it is only shown once.
Pass the API key as a Bearer token in the Authorization header. It works everywhere a JWT works — /analyze, /billing, /sessions, etc.
curl -X POST https://api.shiftspace.dev/analyze \
-H "Authorization: Bearer sk_live_..." \
-F "video=@recording.mp4"
GET /api-keys — returns name, prefix, creation date, and last used date (never the full key)DELETE /api-keys/{key_id} — immediately invalidates the keyAPI keys start with sk_live_ followed by a random token. The first 16 characters (the prefix) are shown in the dashboard for identification — for example, sk_live_a1b2c3d4.
SHIFTSPACE_API_URL — Backend URL (default: https://api.shiftspace.dev)The MCP server uses your tray app login automatically. Sign in from the tray app and the MCP tools will use the same account.
~/.claude.json~/.claude/claude_desktop_config.json~/.cursor/mcp.json~/.codeium/windsurf/mcp_config.json~/.codex/config.toml~/.continue/config.json~/.config/zed/settings.jsonRun check_connection from your AI tool, or test manually:
python -m mcp_server
If you see JSON output, the server is working. If you see an import error, install dependencies:
pip install mcp httpx keyring
The installer looks for config directories. If your tool uses a non-standard location, use manual config (see above).