screenpipe-mcp 0.18.15 → 0.19.0
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 +149 -7
- package/RELEASE.md +175 -0
- package/dist/cli.js +5 -4
- package/dist/element-format.d.ts +8 -0
- package/dist/element-format.js +18 -0
- package/dist/element-format.test.d.ts +1 -0
- package/dist/element-format.test.js +20 -0
- package/dist/http-server.js +15 -4
- package/dist/http-server.test.js +14 -2
- package/dist/index.js +246 -106
- package/dist/pack-contents.test.d.ts +1 -0
- package/dist/pack-contents.test.js +119 -0
- package/dist/qualified-value.d.ts +10 -0
- package/dist/qualified-value.js +18 -0
- package/dist/qualified-value.test.d.ts +1 -0
- package/dist/qualified-value.test.js +20 -0
- package/dist/stdio-startup.test.d.ts +1 -0
- package/dist/stdio-startup.test.js +273 -0
- package/dist/team-config.d.ts +19 -0
- package/dist/team-config.js +99 -0
- package/dist/team-config.test.d.ts +1 -0
- package/dist/team-config.test.js +90 -0
- package/dist/telemetry.d.ts +3 -0
- package/dist/telemetry.js +32 -3
- package/dist/telemetry.test.js +69 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +27 -0
- package/dist/version.test.d.ts +1 -0
- package/dist/version.test.js +144 -0
- package/manifest.json +1 -1
- package/package.json +3 -1
- package/scripts/assert-pack-contents.js +179 -0
- package/server.json +2 -2
- package/src/cli.ts +5 -4
- package/src/element-format.test.ts +22 -0
- package/src/element-format.ts +17 -0
- package/src/http-server.test.ts +14 -2
- package/src/http-server.ts +16 -4
- package/src/index.ts +263 -104
- package/src/pack-contents.test.ts +133 -0
- package/src/qualified-value.test.ts +26 -0
- package/src/qualified-value.ts +27 -0
- package/src/stdio-startup.test.ts +256 -0
- package/src/team-config.test.ts +81 -0
- package/src/team-config.ts +75 -0
- package/src/telemetry.test.ts +37 -0
- package/src/telemetry.ts +36 -4
- package/src/version.test.ts +119 -0
- package/src/version.ts +27 -0
package/src/http-server.ts
CHANGED
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
flushMcpTelemetry,
|
|
31
31
|
initMcpTelemetry,
|
|
32
32
|
} from "./telemetry";
|
|
33
|
+
import { PKG_VERSION } from "./version";
|
|
33
34
|
|
|
34
35
|
// ── CLI parsing ─────────────────────────────────────────────────────────
|
|
35
36
|
|
|
@@ -150,7 +151,7 @@ const TOOLS = [
|
|
|
150
151
|
{
|
|
151
152
|
name: "search_content",
|
|
152
153
|
description:
|
|
153
|
-
"Search screenpipe's recorded content: screen text
|
|
154
|
+
"Search screenpipe's recorded content: screen text, audio transcriptions, input events, and parsed app data. " +
|
|
154
155
|
"Returns timestamped results with app context. " +
|
|
155
156
|
"Call with no parameters to get recent activity.",
|
|
156
157
|
inputSchema: {
|
|
@@ -162,9 +163,9 @@ const TOOLS = [
|
|
|
162
163
|
},
|
|
163
164
|
content_type: {
|
|
164
165
|
type: "string",
|
|
165
|
-
enum: ["all", "ocr", "audio", "input", "accessibility"],
|
|
166
|
+
enum: ["all", "ocr", "audio", "input", "accessibility", "parsed"],
|
|
166
167
|
description:
|
|
167
|
-
"Content type filter: 'ocr' (screen text), 'audio' (transcriptions), 'input' (clicks, keystrokes, clipboard, app switches), 'accessibility' (accessibility tree text), 'all'. Default: 'all'",
|
|
168
|
+
"Content type filter: 'ocr' (screen text), 'audio' (transcriptions), 'input' (clicks, keystrokes, clipboard, app switches), 'accessibility' (accessibility tree text), 'parsed' (compact messages, emails, tasks, documents, and code review), 'all'. Default: 'all'",
|
|
168
169
|
default: "all",
|
|
169
170
|
},
|
|
170
171
|
limit: { type: "integer", description: "Max results. Default: 10" },
|
|
@@ -182,6 +183,8 @@ const TOOLS = [
|
|
|
182
183
|
description: "Filter by app (e.g., 'Google Chrome', 'Slack', 'zoom.us')",
|
|
183
184
|
},
|
|
184
185
|
window_name: { type: "string", description: "Filter by window title" },
|
|
186
|
+
frame_id: { type: "integer", description: "With content_type='parsed', return parsed data for one frame" },
|
|
187
|
+
actor_id: { type: "integer", description: "With content_type='parsed', filter by resolved actor identity" },
|
|
185
188
|
},
|
|
186
189
|
},
|
|
187
190
|
},
|
|
@@ -257,6 +260,12 @@ async function handleSearchContent(
|
|
|
257
260
|
`${content.timestamp || ""}\n` +
|
|
258
261
|
`${content.text || ""}`
|
|
259
262
|
);
|
|
263
|
+
} else if (result.type === "Parsed") {
|
|
264
|
+
formattedResults.push(
|
|
265
|
+
`[Parsed] ${content.app_name || "?"} | ${content.window_name || "?"} | frame ${content.frame_id || "?"}\n` +
|
|
266
|
+
`${content.timestamp || ""}\n` +
|
|
267
|
+
`${content.text || ""}`
|
|
268
|
+
);
|
|
260
269
|
}
|
|
261
270
|
}
|
|
262
271
|
|
|
@@ -282,8 +291,11 @@ async function handleSearchContent(
|
|
|
282
291
|
// mapping between Server and transport (reusing a Server across
|
|
283
292
|
// transports throws "Already connected to a transport").
|
|
284
293
|
function createMcpServer(fetchAPI: ReturnType<typeof makeFetchAPI>): Server {
|
|
294
|
+
// version comes from package.json (see src/version.ts) — this used to be a
|
|
295
|
+
// hardcoded "0.14.0" and reported that over the wire long after the package
|
|
296
|
+
// had moved on, which is unusable for support triage.
|
|
285
297
|
const s = new Server(
|
|
286
|
-
{ name: "screenpipe-http", version:
|
|
298
|
+
{ name: "screenpipe-http", version: PKG_VERSION },
|
|
287
299
|
{ capabilities: { tools: {} } }
|
|
288
300
|
);
|
|
289
301
|
|