docs/mintlify/docs-mintlify-mig-tmp/mcp-server.mdx
screenpipe provides an MCP (Model Context Protocol) server that lets AI assistants like Claude and Cursor search your screen recordings, audio transcriptions, and control your computer.
open the screenpipe app → settings → connections → click "install extension"
Claude will open and prompt you to confirm. click install — done!
try asking Claude: "what did I do in the last 5 minutes?"
<Tip> make sure screenpipe is running when you use Claude with screenpipe features. </Tip>one command:
claude mcp add screenpipe --transport stdio -- npx -y screenpipe-mcp
to make it available across all your projects:
claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mcp
verify with claude mcp list or /mcp inside Claude Code.
click here to install in cursor
or manually: open cursor settings → mcp → add new global mcp server → set command to npx with args ["-y", "screenpipe-mcp"].
any editor that supports MCP works with screenpipe. the server command is:
npx -y screenpipe-mcp
add this as a stdio MCP server in your editor's MCP settings. see also:
if you need remote MCP access or prefer HTTP over stdio, the screenpipe-mcp package also provides an HTTP server:
npx -y screenpipe-mcp-http --port 3031
this is useful for tools like Msty that support HTTP MCP transport. both screenpipe-mcp (stdio) and screenpipe-mcp-http (HTTP) come from the same npm package screenpipe-mcp.
search through recorded screen content, audio transcriptions, and user input events:
| parameter | type | description |
|---|---|---|
q | string | search query (optional - omit to get recent content) |
content_type | string | all, ocr, audio, input, or accessibility (default: all) |
limit | integer | max results (default: 10) |
offset | integer | pagination offset (default: 0) |
start_time | string | ISO 8601 UTC start time (e.g., 2024-01-15T10:00:00Z) |
end_time | string | ISO 8601 UTC end time |
app_name | string | filter by app (e.g., Google Chrome, Slack) |
window_name | string | filter by window title |
min_length | integer | minimum content length |
max_length | integer | maximum content length |
include_frames | boolean | include base64 screenshots (OCR only) |
speaker_ids | string | comma-separated speaker IDs for audio filtering (e.g., 1,2,3) |
speaker_name | string | filter audio by speaker name (case-insensitive partial match) |
create video exports from screen recordings for a specific time range:
| parameter | type | description |
|---|---|---|
start_time | string | ISO 8601 UTC start time (required) |
end_time | string | ISO 8601 UTC end time (required) |
fps | number | frames per second (default: 1.0) |
try these in Claude or Cursor:
test your setup with MCP Inspector:
npx @modelcontextprotocol/inspector npx screenpipe-mcp
if the one-click methods above don't work, you can manually edit config files.
claude desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %AppData%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"screenpipe": {
"command": "npx",
"args": ["-y", "screenpipe-mcp"]
}
}
}
cursor — create .cursor/mcp.json in your project root:
{
"mcpServers": {
"screenpipe": {
"command": "npx",
"args": ["-y", "screenpipe-mcp"]
}
}
}
from source:
git clone https://github.com/screenpipe/screenpipe
cd screenpipe/crates/screenpipe-integrations/screenpipe-mcp
npm install && npm run build
then point your editor to node /path/to/screenpipe-mcp/dist/index.js.
mcp not connecting?
screenpipe in terminal)macos automation not working?
still stuck? ask in our discord — the community can help debug MCP issues.