Skip to main content
Claude Code is Anthropic’s official CLI for agentic coding. with screenpipe integration, Claude can reference what you’ve been working on, recall information from your screen, and access meeting transcriptions.

setup

Claude Code connects to screenpipe via MCP (Model Context Protocol). there are two ways to set this up:
  1. open the screenpipe app
  2. go to settingsconnections
  3. click “install extension” next to Claude Code
  4. done! Claude Code now has access to screenpipe

option 2: CLI command

# add screenpipe MCP server to Claude Code
claude mcp add screenpipe --transport stdio -- npx -y screenpipe-mcp

option 3: add from JSON config

claude mcp add-json screenpipe '{"type":"stdio","command":"npx","args":["-y","screenpipe-mcp"]}'
use --scope user to make screenpipe available in all your projects:
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mcp

verify connection

check that screenpipe is connected:
# list MCP servers
claude mcp list

# or inside Claude Code, use
/mcp

available tools

once connected, Claude Code has access to these tools:
tooldescription
search-contentsearch screen OCR, audio transcriptions, UI elements with time/app filters
export-videocreate video exports from screen recordings

usage examples

ask Claude Code to use screenpipe naturally:
> what was I looking at in my browser an hour ago?

> find mentions of "kubernetes" from my screen today

> show me audio transcriptions from my last meeting

> what code was I reading in VS Code yesterday about async?

> export a video of my screen from 2-3pm today

search parameters

the search-content tool supports these parameters:
parameterdescription
qsearch query (optional - omit to get all content)
content_typeocr, audio, ui, or all (default: all)
limitmax results (default: 10)
offsetpagination offset
start_timeISO 8601 UTC start time
end_timeISO 8601 UTC end time
app_namefilter by app (e.g., “Chrome”, “Slack”)
window_namefilter by window title
include_framesinclude base64 screenshots
speaker_idscomma-separated speaker IDs for audio filtering
speaker_namefilter audio by speaker name

example workflows

recall context from earlier:
> I was reading a blog post about rust async earlier today,
> search screenpipe and summarize the key points
reference meeting discussion:
> search my audio transcriptions for what was discussed in standup
> about the API refactor, then help me implement it
debug with screen history:
> I saw an error message flash on screen, search screenpipe
> to find it and help me fix the issue
find code examples:
> search screenpipe for the python code I was looking at
> in the browser yesterday about asyncio patterns

requirements

  • screenpipe running on localhost:3030
  • Claude Code CLI installed
  • Node.js >= 18.0.0

troubleshooting

MCP not connecting?
  • verify screenpipe is running: curl http://localhost:3030/health
  • check MCP status in Claude Code: /mcp
  • remove and re-add: claude mcp remove screenpipe && claude mcp add screenpipe --transport stdio -- npx -y screenpipe-mcp
queries returning empty?
  • check screenpipe has data: curl "http://localhost:3030/search?limit=1"
  • ensure screen recording permissions are granted
  • verify the time range you’re querying
permission errors?
  • macos: check System Settings > Privacy & Security > Screen Recording
  • ensure screenpipe app/CLI is listed and enabled