same machine
If OpenClaw and screenpipe run on the same machine, setup is straightforward.MCP (recommended)
Add screenpipe to your OpenClaw MCP config:custom skill (alternative)
Create~/openclaw/skills/screenpipe/skill.md:
different machines
If OpenClaw runs on a different machine (e.g., a VPS or home server) than screenpipe, there are two ways to connect them:option 1: query screenpipe’s REST API directly
If both machines are on the same network, OpenClaw can query screenpipe’s API directly. Use a custom skill: Create~/openclaw/skills/screenpipe/skill.md:
SCREENPIPE_IP with the IP of the machine running screenpipe. If the machines aren’t on the same network, use Tailscale to create a private network between them.
option 2: push data to the OpenClaw machine over SSH
Use screenpipe’s built-in remote sync to push your~/.screenpipe/ directory to the OpenClaw machine over SFTP. No screenpipe-cloud account needed — just SSH access to your server.
On the laptop (or any machine recording):
SCREENPIPE_REMOTE_HOST, SCREENPIPE_REMOTE_USER, SCREENPIPE_REMOTE_KEY, SCREENPIPE_REMOTE_PATH.
On the OpenClaw machine, point its skill at the synced directory or run a local screenpipe pointing to the same data dir — OpenClaw can then query localhost:3030 as if the data were captured locally.
The deprecated cloud sync flow (Settings → Cloud, screenpipe-cloud account) is being phased out in favor of self-hosted remote sync. Use screenpipe sync remote for new setups.
available MCP tools
When connected via MCP (same machine setup), OpenClaw gets access to these tools:| Tool | Description |
|---|---|
| search-content | Search screen text (accessibility/OCR), audio transcriptions, user input. Supports time range, app, window, and speaker filters. |
| activity-summary | Lightweight overview of app usage, audio speakers, and recent texts for a time range (~200 tokens). |
| search-elements | Search structured UI elements (buttons, links, text fields) from the accessibility tree. |
| frame-context | Get full accessibility tree, URLs, and text for a specific frame. |
| list-meetings | List detected meetings with duration, app, and attendees. |
| export-video | Export screen recordings as MP4 for a time range. |
screenpipe://context for current time, screenpipe://guide for search strategy) and prompts (search-recent, find-in-app, meeting-notes).
example prompts
Once configured, message OpenClaw from any chat app:- “what was I reading about yesterday afternoon?”
- “find the slack message from john about the deployment”
- “what code was I looking at in cursor this morning?”
- “summarize my meetings from last week”
- “what tabs did I have open when researching that bug?”
- “when did I last see the budget spreadsheet?”
- “what did I copy to clipboard recently?”
- “show me what buttons I clicked in Figma today”
troubleshooting
MCP not connecting?- Test the server:
npx @modelcontextprotocol/inspector npx screenpipe-mcp - Check screenpipe is running:
curl http://localhost:3030/health
- Check Tailscale is connected:
tailscale status - Check SSH tunnel is up:
curl http://localhost:3030/healthon the remote - Make sure screenpipe is running on your computer
- Verify screenpipe is running:
curl http://localhost:3030/health - Ensure screenpipe has screen recording permissions