Local-first screen and audio capture system exposing indexed desktop history to AI agents via MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent ā or use 1-click editor setup below.
š” Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Screenpipe.
search-contentSearch screen text, audio transcriptions, input events, memories, and parsed app data. Returns timestamped results with app context. USE WHEN: you need the actual text/content of a moment ā quotes, screen text, transcript lines, or compact parsed messages, emails, tasks, documents, and code review ā or want to filter by speaker/window. DO NOT USE for: broad questions like 'what was I doing?' (use activity-summary, it pre-summarizes apps + windows + transcripts). Also DO NOT USE for: targeted UI controls (use search-elements). Start with limit=5, increase only if needed. Per-result text is auto-truncated to 1000 chars; pass max_content_length=0 to opt out, or a custom integer to override.
synced-devicesList this signed-in user's Screenpipe devices that have uploaded Data Sync records, including each device name and last sync time. USE WHEN: the user asks what devices are available, names another device, or asks a cross-device question and you need the exact device_name filter. This never accepts an account or bucket identifier; the local app forwards the signed-in user's identity.
search-synced-contentSearch Data Sync records from this signed-in user's devices. Results include device name, device ID, and timestamp for attribution. USE WHEN: the user asks about another/named device, asks across devices, or local search does not cover the requested machine. For the current machine only, use search-content. Start with a narrow time range and limit=10.
list-meetingsList detected meetings (Zoom, Teams, Meet, etc.) with id, duration, app, attendees, and note status. Pass `q` to substring-match title, attendee names/emails, and notes ā `q` searches ALL meeting history, so when looking for a meeting with a person or on a topic ('when did I last talk to Noah?'), pass `q` and OMIT start_time. Only constrain the time range when the question itself is time-bound. Results are newest-first; without `q`, old meetings only surface via time range or offset pagination. Follow up with get-meeting (id from results) for the full note and transcript.
activity-summaryRich activity overview: authoritative active minutes, app/window time, edited document paths, key text, and audio transcriptions, with optional parsed task context when available. USE WHEN: any broad question about what the user did ā 'what was I doing?', 'how long on X?', 'which apps?', 'recap my morning'. This is almost always the right first call for time-range questions ā usually sufficient without follow-up searches. Use parsed/path evidence to identify tasks, but only active-minute fields for duration; frame and row counts are never time. DO NOT USE for: finding a specific keyword (use keyword-search) or a specific UI control (use search-elements).
search-elementsSearch UI elements (buttons, links, text fields) from the accessibility tree, filterable by role. USE WHEN: you want a specific UI control or page-structure question ā 'find every Submit button I saw', 'list the links in that page'. DO NOT USE for: general text/content (use search-content) or fast keyword lookup (use keyword-search).
Screenpipe provides local-first workflow memory for AI agents by continuously recording and indexing desktop screen and audio activity on your computer. Through its Model Context Protocol (MCP) server, AI assistants--such as Claude Desktop, Cursor, Windsurf, and Claude Code--can retrieve timestamped context, search past work, summarize conversations, and generate automated workflows grounded in actual user activity.
Screenpipe operates as an on-device daemon that indexes desktop activity locally:
screenpipe-mcp package runs locally to safely answer queries from connected AI agents without exposing the raw database directly.The most reliable and recommended installation path is via the desktop application:
This automatically configures Claude Desktop using Screenpipe's bundled runtime and injects your SCREENPIPE_LOCAL_API_KEY directly into the client configuration with zero external Node or PATH dependencies.
If you prefer configuring MCP manually or are connecting clients like Cursor or Windsurf, configure your client's MCP settings:
You can obtain your local API key anytime by running:
The standard stdio MCP package provides six core tools:
search_content: Search captured screen recordings, OCR text, and audio transcriptions over arbitrary time windows.export-video: Export video clips from captured screen history.list-meetings: Inspect and retrieve detected meeting events and transcripts.activity-summary: Generate structured summaries of computer activity over a designated timeframe.search-elements: Search and inspect captured UI elements and accessibility tree items.frame-context: Retrieve frame context and OCR details for specific timestamps.Orgs with enterprise query gateways can additionally configure SCREENPIPE_ENTERPRISE_TOKEN and SCREENPIPE_TEAM_API_URL to enable team-* org-wide search tools.
Factual signals from GitHub, npm, and our automated checks ā not a rating.
No reviews yet ā be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/screenpipe)<a href="https://allmcps.com/mcp/screenpipe"><img src="https://allmcps.com/api/badge/screenpipe?style=directory" alt="Screenpipe on AllMCPs" /></a>