@evercam/mcp 0.0.4 → 0.0.6

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.
@@ -1,6 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import "dotenv/config";
3
+ import { setDefaultResultOrder } from "dns";
3
4
  import { Command } from "commander";
5
+ // Prefer IPv4 when resolving hostnames. Some environments advertise IPv6
6
+ // addresses for Evercam API hosts that are unreachable, causing ETIMEDOUT
7
+ // in Node.js while curl (IPv4-only by default) succeeds.
8
+ setDefaultResultOrder("ipv4first");
4
9
  import { authLogin, authRelogin, authLogout, authStatus } from "../src/cli/auth.js";
5
10
  import { profileList, profileAdd, profileSwitch, profileDelete } from "../src/cli/profile.js";
6
11
  import { toolsList } from "../src/cli/tools.js";
@@ -1 +1 @@
1
- {"version":3,"file":"evercam-mcp.js","sourceRoot":"","sources":["../../bin/evercam-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evercam-mcp.js","sourceRoot":"","sources":["../../bin/evercam-mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/cli/tools.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwEpD,CAAA;AAmED,wBAAgB,SAAS,IAAI,IAAI,CAahC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/cli/tools.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoFpD,CAAA;AAgFD,wBAAgB,SAAS,IAAI,IAAI,CAahC"}
@@ -2,11 +2,16 @@ import chalk from "chalk";
2
2
  export const TOOL_DESCRIPTIONS = {
3
3
  // Cameras
4
4
  "list-cameras": "List all accessible cameras",
5
+ "get-camera-status": "Get camera details, latest snapshot, and live URL in one call",
6
+ "list-cameras-with-latest-snapshot": "List all cameras in a project with their latest snapshot",
7
+ "list-cameras-with-presence": "List all cameras in a project with presence intervals for a date range",
5
8
  "get-camera": "Get camera details by exid",
6
9
  "update-camera": "Update camera properties",
7
10
  // Snapshots
8
11
  "get-live-snapshot-url": "Get live snapshot URL for a camera",
9
12
  "get-snapshot-image": "Get snapshot image content (base64) or URL",
13
+ "get-camera-day-summary": "Get available hours and presence intervals for a camera on a specific day",
14
+ "get-camera-recording-range": "Get the oldest and latest snapshot timestamps for a camera",
10
15
  "get-snapshot-at": "Get recorded snapshot nearest to a timestamp",
11
16
  "get-latest-snapshot": "Get most recent snapshot for a camera",
12
17
  "get-oldest-snapshot": "Get oldest snapshot for a camera",
@@ -16,6 +21,9 @@ export const TOOL_DESCRIPTIONS = {
16
21
  "list-projects": "List all accessible projects",
17
22
  "create-project": "Create a new project",
18
23
  "list-project-cameras": "List cameras in a project",
24
+ "list-projects-with-camera-count": "List all projects with their camera count",
25
+ "get-project-overview": "Get a project summary: camera count, member count, and weather",
26
+ "get-project-security-summary": "Get gate report counts, ANPR events, and ROIs for a project in one call",
19
27
  "list-project-users": "List users in a project",
20
28
  "list-project-members": "List members with roles in a project",
21
29
  "invite-project-members": "Invite members to a project",
@@ -51,6 +59,7 @@ export const TOOL_DESCRIPTIONS = {
51
59
  "delete-roi": "Delete a ROI configuration",
52
60
  // Site Analytics
53
61
  "smart-search": "Semantic/visual search over footage",
62
+ "search-with-snapshots": "Smart search returning results with snapshot URLs",
54
63
  "list-smart-search-queries": "List saved smart search queries",
55
64
  "get-detections-heatmap": "Get detection heatmap data for a camera",
56
65
  "get-gate-report-counts": "Get event count statistics for gate report",
@@ -73,10 +82,19 @@ export const TOOL_DESCRIPTIONS = {
73
82
  "delete-share-request": "Delete a share request",
74
83
  };
75
84
  const GROUPS = {
76
- Cameras: ["list-cameras", "get-camera", "update-camera"],
85
+ Cameras: [
86
+ "list-cameras",
87
+ "get-camera-status",
88
+ "list-cameras-with-latest-snapshot",
89
+ "list-cameras-with-presence",
90
+ "get-camera",
91
+ "update-camera",
92
+ ],
77
93
  Snapshots: [
78
94
  "get-live-snapshot-url",
79
95
  "get-snapshot-image",
96
+ "get-camera-day-summary",
97
+ "get-camera-recording-range",
80
98
  "get-snapshot-at",
81
99
  "get-latest-snapshot",
82
100
  "get-oldest-snapshot",
@@ -85,6 +103,9 @@ const GROUPS = {
85
103
  ],
86
104
  Projects: [
87
105
  "list-projects",
106
+ "list-projects-with-camera-count",
107
+ "get-project-overview",
108
+ "get-project-security-summary",
88
109
  "create-project",
89
110
  "list-project-cameras",
90
111
  "list-project-users",
@@ -120,6 +141,7 @@ const GROUPS = {
120
141
  ],
121
142
  "Site Analytics": [
122
143
  "smart-search",
144
+ "search-with-snapshots",
123
145
  "list-smart-search-queries",
124
146
  "get-detections-heatmap",
125
147
  "get-gate-report-counts",
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/cli/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/cli/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"anpr.d.ts","sourceRoot":"","sources":["../../../src/tools/anpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgH3E"}
1
+ {"version":3,"file":"anpr.d.ts","sourceRoot":"","sources":["../../../src/tools/anpr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgJ3E"}
@@ -1,6 +1,31 @@
1
1
  import { z } from "zod";
2
2
  import { safeText } from "../utils/toolOutput.js";
3
3
  export function registerAnprTools(server, evercam) {
4
+ server.tool("get-project-security-summary", "Get a security summary for a project over a date range: gate report counts, recent ANPR events, and configured ROIs — all in one call. Use when the user asks for a security overview or activity digest.", {
5
+ projectExid: z.string().describe("Project exid"),
6
+ fromDate: z.string().describe("Start date ISO 8601"),
7
+ toDate: z.string().describe("End date ISO 8601"),
8
+ cameraExid: z.string().optional().describe("Filter by camera"),
9
+ }, async ({ projectExid, fromDate, toDate, cameraExid }) => {
10
+ const [counts, anprEvents, rois] = await Promise.allSettled([
11
+ evercam.ai.gateReport.getCounts(projectExid, { fromDate, toDate, cameraExid }),
12
+ evercam.ai.anpr.getAnprEvents(projectExid, {
13
+ fromDate,
14
+ toDate,
15
+ cameraExid,
16
+ limit: 50,
17
+ }),
18
+ evercam.ai.roi.getROIs(projectExid, { cameraExid }),
19
+ ]);
20
+ return safeText({
21
+ projectExid,
22
+ fromDate,
23
+ toDate,
24
+ gateReportCounts: counts.status === "fulfilled" ? counts.value : null,
25
+ anprEvents: anprEvents.status === "fulfilled" ? anprEvents.value : null,
26
+ rois: rois.status === "fulfilled" ? rois.value : null,
27
+ });
28
+ });
4
29
  server.tool("list-anpr-events", "List ANPR (license plate recognition) events for a project", {
5
30
  projectExid: z.string().describe("Project exid"),
6
31
  fromDate: z.string().optional().describe("Start date ISO 8601"),
@@ -1 +1 @@
1
- {"version":3,"file":"anpr.js","sourceRoot":"","sources":["../../../src/tools/anpr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anpr.js","sourceRoot":"","sources":["../../../src/tools/anpr.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cameras.d.ts","sourceRoot":"","sources":["../../../src/tools/cameras.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C7E"}
1
+ {"version":3,"file":"cameras.d.ts","sourceRoot":"","sources":["../../../src/tools/cameras.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgI7E"}
@@ -18,6 +18,62 @@ export function registerCameraTools(server, evercam) {
18
18
  const data = await evercam.api.cameras.getCameraById(cameraExid);
19
19
  return safeText(data);
20
20
  });
21
+ server.tool("get-camera-status", "Get full status for a camera: details, latest recorded snapshot, and live snapshot URL — all in one call. Use when the user asks what a specific camera is showing or its current status.", {
22
+ cameraExid: z.string().describe("Camera exid"),
23
+ }, async ({ cameraExid }) => {
24
+ const [details, latest] = await Promise.allSettled([
25
+ evercam.api.cameras.getCameraById(cameraExid),
26
+ evercam.api.recordings.latest(cameraExid),
27
+ ]);
28
+ let liveUrl = null;
29
+ try {
30
+ const camera = await evercam.getCamera(cameraExid);
31
+ liveUrl = camera.getSnapshotUrl({ timestamp: new Date() });
32
+ }
33
+ catch {
34
+ liveUrl = null;
35
+ }
36
+ return safeText({
37
+ details: details.status === "fulfilled" ? details.value : null,
38
+ latestSnapshot: latest.status === "fulfilled" ? latest.value : null,
39
+ liveUrl,
40
+ });
41
+ });
42
+ server.tool("list-cameras-with-latest-snapshot", "List all cameras in a project, each with its most recent snapshot URL. Use when the user wants to see what all cameras are currently showing.", {
43
+ projectExid: z.string().describe("Project exid"),
44
+ }, async ({ projectExid }) => {
45
+ const cameras = await evercam.api.projects.getCameras(projectExid);
46
+ const cameraList = Array.isArray(cameras) ? cameras : (cameras.cameras ?? []);
47
+ const withSnapshots = await Promise.all(cameraList.map(async (camera) => {
48
+ try {
49
+ const snapshot = await evercam.api.recordings.latest(camera.exid);
50
+ return { ...camera, latestSnapshot: snapshot };
51
+ }
52
+ catch {
53
+ return { ...camera, latestSnapshot: null };
54
+ }
55
+ }));
56
+ return safeText(withSnapshots);
57
+ });
58
+ server.tool("list-cameras-with-presence", "List all cameras in a project with presence detection intervals for a date range. Use when the user asks which cameras detected activity or people over a period.", {
59
+ projectExid: z.string().describe("Project exid"),
60
+ fromDate: z.string().describe("Start date ISO 8601"),
61
+ toDate: z.string().describe("End date ISO 8601"),
62
+ }, async ({ projectExid, fromDate, toDate }) => {
63
+ const cameras = await evercam.api.projects.getCameras(projectExid);
64
+ const cameraList = Array.isArray(cameras) ? cameras : (cameras.cameras ?? []);
65
+ const labsUrl = evercam.axios.env.evercamLabsUrl;
66
+ const withPresence = await Promise.all(cameraList.map(async (camera) => {
67
+ try {
68
+ const { data } = await evercam.axios.get(`${labsUrl}/cameras/${camera.exid}/segments/presence-intervals`, { params: { fromDate, toDate }, preserveCasing: true });
69
+ return { ...camera, presenceIntervals: data };
70
+ }
71
+ catch {
72
+ return { ...camera, presenceIntervals: null };
73
+ }
74
+ }));
75
+ return safeText(withPresence);
76
+ });
21
77
  server.tool("update-camera", "Update camera properties", {
22
78
  cameraExid: z.string().describe("Camera exid"),
23
79
  name: z.string().optional().describe("Camera display name"),
@@ -1 +1 @@
1
- {"version":3,"file":"cameras.js","sourceRoot":"","sources":["../../../src/tools/cameras.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,OAAgB;IACrE,MAAM,CAAC,IAAI,CACT,cAAc,EACd,uFAAuF,EACvF;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACnD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KACpE,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;YAChD,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAS;SACvD,CAAC,CAAA;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CACF,CAAA;IAED,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,+CAA+C,EAC/C;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC/C,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAChE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CACF,CAAA;IAED,MAAM,CAAC,IAAI,CACT,eAAe,EACf,0BAA0B,EAC1B;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC3D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;KAC5D,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,MAAa,CAAC,CAAA;QAC9E,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"cameras.js","sourceRoot":"","sources":["../../../src/tools/cameras.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/tools/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAmG9E"}
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/tools/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA+J9E"}
@@ -17,6 +17,46 @@ export function registerProjectTools(server, evercam) {
17
17
  const data = await evercam.api.projects.getCameras(projectExid);
18
18
  return safeText(data);
19
19
  });
20
+ server.tool("list-projects-with-camera-count", "List all projects accessible to the authenticated user, each with its camera count. Use this when the user asks for projects and their number of cameras.", {}, async () => {
21
+ const projects = await evercam.api.projects.index();
22
+ const projectList = Array.isArray(projects) ? projects : (projects.projects ?? []);
23
+ const withCounts = await Promise.all(projectList.map(async (project) => {
24
+ try {
25
+ const cameras = await evercam.api.projects.getCameras(project.exid);
26
+ const cameraList = Array.isArray(cameras) ? cameras : (cameras.cameras ?? []);
27
+ return { ...project, cameraCount: cameraList.length };
28
+ }
29
+ catch {
30
+ return { ...project, cameraCount: null };
31
+ }
32
+ }));
33
+ return safeText(withCounts);
34
+ });
35
+ server.tool("get-project-overview", "Get a full overview of a project: camera count, member count, and current weather. Use when the user asks for a project summary or dashboard.", {
36
+ projectExid: z.string().describe("Project exid"),
37
+ }, async ({ projectExid }) => {
38
+ const [cameras, members, weather] = await Promise.allSettled([
39
+ evercam.api.projects.getCameras(projectExid),
40
+ evercam.api.projects.getMembers(projectExid),
41
+ evercam.weather.current(projectExid, {}),
42
+ ]);
43
+ const cameraList = cameras.status === "fulfilled"
44
+ ? Array.isArray(cameras.value)
45
+ ? cameras.value
46
+ : (cameras.value.cameras ?? [])
47
+ : [];
48
+ const memberList = members.status === "fulfilled"
49
+ ? Array.isArray(members.value)
50
+ ? members.value
51
+ : (members.value.members ?? [])
52
+ : [];
53
+ return safeText({
54
+ projectExid,
55
+ cameraCount: cameraList.length,
56
+ memberCount: memberList.length,
57
+ weather: weather.status === "fulfilled" ? weather.value : null,
58
+ });
59
+ });
20
60
  server.tool("list-project-users", "List all users/members in a project", {
21
61
  projectExid: z.string().describe("Project exid"),
22
62
  }, async ({ projectExid }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/tools/projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../../src/tools/projects.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"siteAnalytics.d.ts","sourceRoot":"","sources":["../../../src/tools/siteAnalytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAyEpF"}
1
+ {"version":3,"file":"siteAnalytics.d.ts","sourceRoot":"","sources":["../../../src/tools/siteAnalytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAuHpF"}
@@ -22,6 +22,42 @@ export function registerSiteAnalyticsTools(server, evercam) {
22
22
  });
23
23
  return safeText(data);
24
24
  });
25
+ server.tool("search-with-snapshots", "Run a smart search and return each result with its snapshot URL. Use when the user wants to visually browse search results or asks to find frames matching a description.", {
26
+ projectExid: z.string().describe("Project exid"),
27
+ cameraExid: z.string().optional().describe("Filter by camera"),
28
+ query: z.string().optional().describe("Text search query"),
29
+ labels: z
30
+ .array(z.string())
31
+ .optional()
32
+ .describe("Object labels to search for (e.g. ['person', 'car'])"),
33
+ fromDate: z.string().optional().describe("Start date ISO 8601"),
34
+ toDate: z.string().optional().describe("End date ISO 8601"),
35
+ pageSize: z.number().optional().describe("Results per page (max 10 for this tool)"),
36
+ }, async ({ projectExid, pageSize, ...filters }) => {
37
+ const safePageSize = Math.min(pageSize ?? 5, 10);
38
+ const searchData = await evercam.ai.siteAnalytics.smartSearchAll(projectExid, {
39
+ pageSize: safePageSize,
40
+ ...filters,
41
+ });
42
+ const results = Array.isArray(searchData)
43
+ ? searchData
44
+ : (searchData.results ?? searchData.data ?? []);
45
+ const withSnapshots = await Promise.all(results.map(async (result) => {
46
+ const cameraId = result.cameraExid ?? result.camera_exid ?? result.cameraId;
47
+ const timestamp = result.timestamp ?? result.createdAt ?? result.created_at;
48
+ if (!cameraId || !timestamp)
49
+ return { ...result, snapshotUrl: null };
50
+ try {
51
+ const camera = await evercam.getCamera(cameraId);
52
+ const snapshotUrl = camera.getSnapshotUrl({ timestamp: new Date(timestamp) });
53
+ return { ...result, snapshotUrl };
54
+ }
55
+ catch {
56
+ return { ...result, snapshotUrl: null };
57
+ }
58
+ }));
59
+ return safeText({ ...(searchData ?? {}), results: withSnapshots });
60
+ });
25
61
  server.tool("list-smart-search-queries", "List saved smart search queries for a project", {
26
62
  projectExid: z.string().describe("Project exid"),
27
63
  }, async ({ projectExid }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"siteAnalytics.js","sourceRoot":"","sources":["../../../src/tools/siteAnalytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"siteAnalytics.js","sourceRoot":"","sources":["../../../src/tools/siteAnalytics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../src/tools/snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA6H/E"}
1
+ {"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../src/tools/snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAItC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAkL/E"}
@@ -34,6 +34,44 @@ export function registerSnapshotTools(server, evercam) {
34
34
  const mimeType = response.headers["content-type"] ?? "image/jpeg";
35
35
  return imageContent(bytes.toString("base64"), mimeType);
36
36
  });
37
+ server.tool("get-camera-day-summary", "Get a summary for a specific day on a camera: which hours have recordings and presence detection intervals. Use when the user asks what happened on a camera on a given day.", {
38
+ cameraExid: z.string().describe("Camera exid"),
39
+ year: z.number().describe("Year (e.g. 2024)"),
40
+ month: z.number().describe("Month 1-12"),
41
+ day: z.number().describe("Day 1-31"),
42
+ }, async ({ cameraExid, year, month, day }) => {
43
+ const pad = (n) => String(n).padStart(2, "0");
44
+ const fromDate = `${year}-${pad(month)}-${pad(day)}T00:00:00Z`;
45
+ const toDate = `${year}-${pad(month)}-${pad(day)}T23:59:59Z`;
46
+ const labsUrl = evercam.axios.env.evercamLabsUrl;
47
+ const [availableHours, presence] = await Promise.allSettled([
48
+ evercam.api.recordings.availableHours({
49
+ cameraId: cameraExid,
50
+ year: String(year),
51
+ month: String(month),
52
+ day: String(day),
53
+ }),
54
+ evercam.axios.get(`${labsUrl}/cameras/${cameraExid}/segments/presence-intervals`, {
55
+ params: { fromDate, toDate },
56
+ preserveCasing: true,
57
+ }),
58
+ ]);
59
+ return safeText({
60
+ cameraExid,
61
+ date: `${year}-${pad(month)}-${pad(day)}`,
62
+ availableHours: availableHours.status === "fulfilled" ? availableHours.value : null,
63
+ presenceIntervals: presence.status === "fulfilled" ? presence.value.data : null,
64
+ });
65
+ });
66
+ server.tool("get-camera-recording-range", "Get the full recording date range for a camera — returns both the oldest and latest snapshot timestamps in one call. Use when the user asks how long a camera has been recording or what its footage spans.", {
67
+ cameraExid: z.string().describe("Camera exid"),
68
+ }, async ({ cameraExid }) => {
69
+ const [oldest, latest] = await Promise.all([
70
+ evercam.api.recordings.oldest(cameraExid),
71
+ evercam.api.recordings.latest(cameraExid),
72
+ ]);
73
+ return safeText({ cameraExid, oldest, latest });
74
+ });
37
75
  server.tool("get-snapshot-at", "Get the recorded snapshot nearest to a given timestamp", {
38
76
  cameraExid: z.string().describe("Camera exid"),
39
77
  timestamp: z.string().describe("ISO 8601 timestamp"),
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../../src/tools/snapshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../../src/tools/snapshots.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evercam/mcp",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "MCP server + CLI for Evercam — cameras, AI, copilot, analytics",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",