All reports

screenpipe-mcp

io.github.screenpipe/screenpipe-mcp · version 0.20.4 · 4,770 weekly npm downloads · audited 2026-11-03

MCPVetter badge Notes

Findings

No hidden-instruction or invisible-character findings in any tool, prompt, or resource description.

Claude Connectors Directory readiness

Checks the directory's published tool requirements that are visible from tools/list. Passing them does not guarantee acceptance.

Supply chain

Tools (34)

NameTitleHintDescription
search-chatsread-onlySearch existing local Screenpipe, Codex, Claude Code, Cursor, and Gemini CLI conversations by transcript text, title, preview, workspace, or exact ID. Omit query for recent chats. Returns bounded previews and source attr…
list-workflowsread-onlyFind the user's saved workflows from Screenpipe: repeated work, triggers, outcomes, and evidence status. Use before planning to automate their work. Reads the same catalog as the desktop Workflows view; does not run anal…
get-workflowread-onlyRead a workflow's ordered steps, source quotes, decisions, missing details, and historical accessibility evidence (roles, text, bounds, automation properties and URLs when captured). IDs come from list-workflows. Frame m…
screenpipe-skillsread-onlyList Screenpipe's bundled workflow skills, or read one by exact name before using it. Covers recall, meetings, project handoffs, decisions, customer context, bug reports, and process guides. Available without filesystem …
search-contentSearch Contentread-onlySearch screen text, audio transcriptions, input events, memories, and parsed app data. Returns timestamped results with app context and starred markers. For starred work, set starred_only=true and a time range; no sessio…
synced-devicesSynced Devicesread-onlyList 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…
search-synced-contentSearch Synced Contentread-onlySearch 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…
list-meetingsList Meetingsread-onlyList 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…
activity-summaryActivity Summaryread-onlyIncludes up to ten recent starred intervals for this time range, even without captured content. Stars indicate user intent, not duration or completion. Rich activity overview: authoritative active minutes, app/window tim…
search-elementsSearch Elementsread-onlySearch 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…
frame-contextFrame Contextread-onlyGet full accessibility text, parsed tree nodes, and URLs for a specific frame ID. Use after search-content or get-workflow for a specific moment. Set purpose=automation for paginated nodes preserving exact captured bound…
export-videoExport VideowritesExport an MP4 of screen recordings for a time range, with synced microphone audio. Frames are placed at their real timestamps, so the clip's duration matches the wall-clock span you requested (not a sped-up timelapse). R…
update-memoryUpdate MemorywritesCreate, update, or delete a persistent memory (facts, preferences, decisions the user wants to remember). To retrieve memories, use search-content with content_type='memory'. To create: provide content + tags. To update:…
get-feedbackGet AI Feedbackread-onlySearch local user ratings and written comments attached to AI-produced notifications, chats, memories, blocks, artifacts, and other targets. Use before generating related work so you preserve what earned up ratings and c…
send-notificationSend NotificationwritesSend a notification to the screenpipe desktop UI. Use high priority only for time-sensitive failures or decisions needing human attention; routine findings and completed tasks should be normal or low.
health-checkHealth Checkread-onlyCheck if screenpipe is running and healthy. Returns recording status, frame/audio stats, timestamps.
list-audio-devicesList Audio Devicesread-onlyList available audio input/output devices for recording.
list-monitorsList Monitorsread-onlyList available monitors/screens for capture.
add-tagsAdd TagswritesTag a screen frame (vision) or audio chunk (audio) so it can be retrieved later. Tags are a shared linking layer: use namespaced tags (person:ada, project:atlas, topic:pricing) to connect a capture to a person, project, …
search-speakersSearch Speakersread-onlySearch for speakers by name prefix. Returns speaker ID, name, and metadata.
list-unnamed-speakersList Unnamed Speakersread-onlyList speakers that haven't been named yet. Useful for speaker identification workflow.
update-speakerUpdate SpeakerwritesRename a speaker or update their metadata.
merge-speakersMerge SpeakersdestructiveMerge two speakers into one (e.g. when the same person was detected as different speakers).
start-meetingStart MeetingwritesManually start a meeting recording session.
stop-meetingStop MeetingwritesStop the current manual meeting recording session.
get-meetingGet Meetingread-onlyGet a meeting by ID: title, attendees, times, and the full note. Pass include_transcript=true to also get the speaker-attributed transcript segments — do this when the note is empty and you need to reconstruct what was s…
update-meetingUpdate MeetingwritesUpdate a meeting's mutable fields (title, attendees, note, app, start/end). Partial: only the fields you pass are written, others stay as-is. Use this to save an AI-generated summary into the meeting note — read the curr…
keyword-searchKeyword Searchread-onlyFast FTS5 keyword search across OCR + audio combined. Returns matches with frame_id, app, timestamp, and text positions. USE WHEN: you have a specific keyword/phrase and want the fastest hit-list (e.g. 'find every screen…
get-frame-elementsGet Frame Elementsread-onlyGet all UI elements for a specific frame. More targeted than search-elements when you already have a frame_id.
control-recordingControl RecordingwritesStart or stop audio recording. This does not pause or resume screen capture.
list-pipesList Pipesread-onlyList the user's pipes (scheduled AI automations) with their enabled state + schedule. USE WHEN: the user asks what automations/pipes exist, or before you create or edit one.
create-pipeCreate PipewritesCreate a pipe — a scheduled AI automation that runs a markdown prompt on a schedule (e.g. 'every day at 9am'). Writes ~/.screenpipe/pipes/<name>/pipe.md, installs it, enables it, and (by default) runs it once to test. US…
run-pipeRun PipewritesRun a pipe once immediately (a test run), independent of its schedule. USE WHEN: you just created/edited a pipe and want to verify it, or the user says 'run X now'. Then read pipe-logs to see what it did.
pipe-logsPipe Logsread-onlyGet a pipe's recent execution logs / output. USE WHEN: debugging why a pipe misbehaved, or reading the result of a test run.

Check your own setup

npx mcpvetter scan --live

Badge

Add this to a README:

[![MCPVetter](https://mcpvetter.com/badge/screenpipe-mcp.svg)](https://mcpvetter.com/servers/screenpipe-mcp)

Publish this server?

Get the MCPVetter verified badge, a re-audit within 24 hours of every npm release, and an email whenever tools, findings, or Claude directory readiness change. $29 per server per month. You prove ownership first, free.