# screenpipe MCP server

> Search local screen recordings, audio transcriptions, and computer activity to control your computer with AI.

- Repository: https://github.com/screenpipe/screenpipe
- Page: https://hostedmcp.org/servers/screenpipe/screenpipe-mcp
- Transport: stdio
- Stars: 22376
- Latest version: 0.20.4

## Install

### Claude Code

```sh
claude mcp add screenpipe-mcp -- npx -y screenpipe-mcp
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "screenpipe-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "screenpipe-mcp"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "screenpipe-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "screenpipe-mcp"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"screenpipe-mcp","type":"stdio","command":"npx","args":["-y","screenpipe-mcp"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "screenpipe-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "screenpipe-mcp"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add screenpipe-mcp -- npx -y screenpipe-mcp
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.screenpipe-mcp]
command = "npx"
args = ["-y", "screenpipe-mcp"]
```

### Gemini CLI

```sh
gemini mcp add -s user screenpipe-mcp npx -- -y screenpipe-mcp
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "screenpipe-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "screenpipe-mcp"
      ]
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `SCREENPIPE_ENTERPRISE_TOKEN` | no | no |  |
| `SCREENPIPE_LOCAL_API_KEY` | no | no |  |
| `SCREENPIPE_TEAM_API_URL` | no | no |  |

## Tools (10)

- `query`
- `sources`
- `limit`
- `all`
- `screen`
- `ocr`
- `audio`
- `input`
- `accessibility`
- `parsed`

## FAQ

### Does the server access my SQLite database directly?

No, the server does not open the live SQLite database directly; it uses the Screenpipe CLI or API for discovery and access.

### How can I limit the amount of text returned in search results?

Both package transports cap text at 1,000 characters per hit by default, but you can request the full text by setting max_content_length=0.
