screenpipe-mcp 0.19.0 → 0.19.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -12
- package/bun.lock +1 -3
- package/dist/cli.js +52886 -44
- package/dist/http-server.js +50456 -328
- package/dist/index.js +51268 -2003
- package/package.json +4 -6
- package/scripts/assert-pack-contents.js +60 -28
- package/scripts/build.mjs +34 -0
- package/server.json +2 -2
- package/src/activity-summary-format.test.ts +109 -0
- package/src/activity-summary-format.ts +253 -0
- package/src/activity-summary-tool.test.ts +133 -0
- package/src/activity-summary-tool.ts +79 -0
- package/src/api-base.test.ts +39 -0
- package/src/api-base.ts +24 -0
- package/src/http-server.ts +6 -5
- package/src/index.ts +293 -211
- package/src/notification-request.test.ts +17 -1
- package/src/notification-request.ts +6 -2
- package/src/pack-contents.test.ts +53 -17
- package/src/qualified-value.test.ts +51 -3
- package/src/qualified-value.ts +54 -1
- package/src/self-contained-pack.test.ts +115 -0
- package/src/stdio-startup.test.ts +223 -5
- package/src/team-frame.test.ts +86 -0
- package/src/team-frame.ts +78 -0
- package/src/time-normalization.test.ts +94 -0
- package/src/time-normalization.ts +90 -0
- package/vitest.config.ts +7 -0
- package/dist/cli.d.ts +0 -2
- package/dist/element-format.d.ts +0 -8
- package/dist/element-format.js +0 -18
- package/dist/element-format.test.d.ts +0 -1
- package/dist/element-format.test.js +0 -20
- package/dist/export-video.test.d.ts +0 -1
- package/dist/export-video.test.js +0 -156
- package/dist/http-server.d.ts +0 -65
- package/dist/http-server.test.d.ts +0 -1
- package/dist/http-server.test.js +0 -232
- package/dist/index.d.ts +0 -2
- package/dist/notification-request.d.ts +0 -3
- package/dist/notification-request.js +0 -25
- package/dist/notification-request.test.d.ts +0 -1
- package/dist/notification-request.test.js +0 -36
- package/dist/pack-contents.test.d.ts +0 -1
- package/dist/pack-contents.test.js +0 -119
- package/dist/qualified-value.d.ts +0 -10
- package/dist/qualified-value.js +0 -18
- package/dist/qualified-value.test.d.ts +0 -1
- package/dist/qualified-value.test.js +0 -20
- package/dist/stdio-startup.test.d.ts +0 -1
- package/dist/stdio-startup.test.js +0 -273
- package/dist/team-config.d.ts +0 -19
- package/dist/team-config.js +0 -99
- package/dist/team-config.test.d.ts +0 -1
- package/dist/team-config.test.js +0 -90
- package/dist/telemetry.d.ts +0 -24
- package/dist/telemetry.js +0 -228
- package/dist/telemetry.test.d.ts +0 -1
- package/dist/telemetry.test.js +0 -130
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -27
- package/dist/version.test.d.ts +0 -1
- package/dist/version.test.js +0 -144
package/README.md
CHANGED
|
@@ -48,8 +48,9 @@ If you're not using the desktop app, edit your Claude Desktop config:
|
|
|
48
48
|
|
|
49
49
|
Requires Node/`npx` on `PATH`. Pin `@latest` so the first install doesn't cache a
|
|
50
50
|
stale version forever. Get your key with `screenpipe auth token`. If you omit the
|
|
51
|
-
key, the server will try to discover it
|
|
52
|
-
|
|
51
|
+
key, the server will try to discover it through the bundled Screenpipe CLI and
|
|
52
|
+
then `npx`. It never opens the live SQLite database directly. Discovery can be
|
|
53
|
+
slower on first run, so setting the environment variable is still recommended.
|
|
53
54
|
|
|
54
55
|
Enterprise admins: add `SCREENPIPE_ENTERPRISE_TOKEN` (and, for orgs running their
|
|
55
56
|
own query gateway, `SCREENPIPE_TEAM_API_URL`) to the same `env` block to get the
|
|
@@ -138,10 +139,10 @@ Then configure Claude Desktop:
|
|
|
138
139
|
|
|
139
140
|
## Enterprise team tools (`team-*`)
|
|
140
141
|
|
|
141
|
-
`team-search`, `team-devices` and `team-
|
|
142
|
-
just this machine. They are registered **only** when an enterprise
|
|
143
|
-
present, and they need **two** independent settings: a token, and
|
|
144
|
-
the API that token is valid for.
|
|
142
|
+
`team-search`, `team-devices`, `team-records`, and `team-frame` query your whole
|
|
143
|
+
org instead of just this machine. They are registered **only** when an enterprise
|
|
144
|
+
admin token is present, and they need **two** independent settings: a token, and
|
|
145
|
+
the base URL of the API that token is valid for.
|
|
145
146
|
|
|
146
147
|
### 1. The token
|
|
147
148
|
|
|
@@ -242,9 +243,15 @@ Export screen recordings as video files:
|
|
|
242
243
|
|
|
243
244
|
### activity-summary
|
|
244
245
|
Get a lightweight compressed activity overview for a time range:
|
|
245
|
-
-
|
|
246
|
-
-
|
|
247
|
-
-
|
|
246
|
+
- Authoritative total active minutes and server data status
|
|
247
|
+
- Per-app active minutes and a bounded window/tab breakdown
|
|
248
|
+
- Edited document paths plus an optional bounded parsed-context sample for identifying tasks
|
|
249
|
+
- Recent accessibility text and audio context
|
|
250
|
+
|
|
251
|
+
Use active-minute fields for duration. Edited paths, parsed rows, frames, text,
|
|
252
|
+
and audio samples are supporting context only; their counts are not time.
|
|
253
|
+
Parsed capture is experimental and may be disabled or unsupported; the base
|
|
254
|
+
activity summary remains complete without it.
|
|
248
255
|
|
|
249
256
|
### list-meetings
|
|
250
257
|
List detected meetings with id, duration, app, attendees, and note snippet. Pass `q` to filter by substring (title, attendees, notes) — `q` searches all meeting history, so omit the time range when looking for a person or topic. Follow up with `get-meeting` (optionally `include_transcript: true`) for the full note and speaker-attributed transcript.
|
|
@@ -303,8 +310,8 @@ List available monitors/screens for capture.
|
|
|
303
310
|
### list-pipes / create-pipe / run-pipe / pipe-logs
|
|
304
311
|
Manage pipes — scheduled AI automations that run a markdown prompt on a schedule (e.g. "every day at 9am"). `list-pipes` shows enabled state + schedule; `create-pipe` creates one; `run-pipe` triggers a one-off test run; `pipe-logs` fetches recent execution output.
|
|
305
312
|
|
|
306
|
-
### team-search / team-devices / team-records
|
|
307
|
-
Team-tier tools, registered only when an enterprise admin token is configured. `team-search` runs substring search across the entire org's telemetry, `team-devices` lists enrolled devices (hostname, OS),
|
|
313
|
+
### team-search / team-devices / team-records / team-frame
|
|
314
|
+
Team-tier tools, registered only when an enterprise admin token is configured. `team-search` runs substring search across the entire org's telemetry, `team-devices` lists enrolled devices (hostname, OS), `team-records` dumps chronological frame, parsed-app, or audio data for a time window, and `team-frame` returns one bounded PII-redacted JPEG using IDs from search or records. Orgs running their own query gateway must also set `SCREENPIPE_TEAM_API_URL` — see [Enterprise team tools](#enterprise-team-tools-team-) for the full precedence order.
|
|
308
315
|
|
|
309
316
|
## Example Queries in Claude
|
|
310
317
|
|
|
@@ -357,7 +364,10 @@ To disable crash/error reporting, set any of:
|
|
|
357
364
|
### Data usage
|
|
358
365
|
Tool calls are passed straight through to your local Screenpipe daemon
|
|
359
366
|
and the results stream back to Claude. The MCP server doesn't keep
|
|
360
|
-
anything.
|
|
367
|
+
anything. Database access stays inside Screenpipe's daemon and first-party CLI,
|
|
368
|
+
which own SQLite lifecycle and locking; the MCP server never opens, copies, or
|
|
369
|
+
mutates the live database, WAL, or shared-memory files. Use MCP tools such as
|
|
370
|
+
`query_recordings` for SQL-shaped analysis.
|
|
361
371
|
|
|
362
372
|
### Data storage
|
|
363
373
|
Nothing is stored by the MCP server itself. Recordings, OCR text,
|
package/bun.lock
CHANGED
|
@@ -4,11 +4,9 @@
|
|
|
4
4
|
"workspaces": {
|
|
5
5
|
"": {
|
|
6
6
|
"name": "screenpipe-mcp",
|
|
7
|
-
"
|
|
7
|
+
"devDependencies": {
|
|
8
8
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
9
9
|
"@sentry/node": "^10.64.0",
|
|
10
|
-
},
|
|
11
|
-
"devDependencies": {
|
|
12
10
|
"@types/node": "^25.3.5",
|
|
13
11
|
"ts-node": "^10.9.2",
|
|
14
12
|
"typescript": "^5.9.3",
|