connectiq-mcp-server 1.2.0 → 1.3.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.
@@ -10,6 +10,7 @@
10
10
  * - ResourceTemplate for dynamic URI patterns with completion support
11
11
  */
12
12
  import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
13
+ import { withMcpServer } from "../utils/logging.js";
13
14
  import { formatErrorMessage, isValidPathComponent, filterByPrefix, formatGuideContent, } from "./handlerUtils.js";
14
15
  /**
15
16
  * Register all resource handlers with the MCP server
@@ -23,7 +24,7 @@ export function registerResources(server, services, logger) {
23
24
  priority: 0.8, // High priority - core reference material
24
25
  };
25
26
  server.registerResource("api-module", new ResourceTemplate("connectiq://api/{moduleName}", {
26
- list: async () => {
27
+ list: () => withMcpServer(server, async () => {
27
28
  const modules = await apiDocService.listModules();
28
29
  return {
29
30
  resources: modules.map((mod) => ({
@@ -34,23 +35,23 @@ export function registerResources(server, services, logger) {
34
35
  annotations: apiAnnotations,
35
36
  })),
36
37
  };
37
- },
38
+ }),
38
39
  complete: {
39
- moduleName: async (value) => {
40
+ moduleName: (value) => withMcpServer(server, async () => {
40
41
  const modules = await apiDocService.listModules();
41
42
  const lowerValue = value.toLowerCase();
42
43
  return modules
43
44
  .flatMap((m) => [m.name, m.name.replace("Toybox.", "")])
44
45
  .filter((name) => name.toLowerCase().startsWith(lowerValue))
45
46
  .slice(0, 100);
46
- },
47
+ }),
47
48
  },
48
49
  }), {
49
50
  title: "ConnectIQ API Module Documentation",
50
51
  description: "Toybox API module reference documentation",
51
52
  mimeType: "text/markdown",
52
53
  annotations: apiAnnotations,
53
- }, async (uri, params) => {
54
+ }, (uri, params) => withMcpServer(server, async () => {
54
55
  const moduleName = Array.isArray(params.moduleName)
55
56
  ? params.moduleName[0]
56
57
  : params.moduleName;
@@ -84,7 +85,7 @@ export function registerResources(server, services, logger) {
84
85
  });
85
86
  throw new Error(errorMessage);
86
87
  }
87
- });
88
+ }));
88
89
  // Register device specification resources using a template
89
90
  // Device specs are useful for both user and assistant during development
90
91
  const deviceAnnotations = {
@@ -92,7 +93,7 @@ export function registerResources(server, services, logger) {
92
93
  priority: 0.7, // Important for device-specific development
93
94
  };
94
95
  server.registerResource("device-info", new ResourceTemplate("connectiq://devices/{deviceId}", {
95
- list: async () => {
96
+ list: () => withMcpServer(server, async () => {
96
97
  const devices = await deviceInfoService.listDevices();
97
98
  return {
98
99
  resources: devices.map((device) => ({
@@ -103,23 +104,23 @@ export function registerResources(server, services, logger) {
103
104
  annotations: deviceAnnotations,
104
105
  })),
105
106
  };
106
- },
107
+ }),
107
108
  complete: {
108
- deviceId: async (value) => {
109
+ deviceId: (value) => withMcpServer(server, async () => {
109
110
  const devices = await deviceInfoService.listDevices();
110
111
  const lowerValue = value.toLowerCase();
111
112
  return devices
112
113
  .map((d) => d.id)
113
114
  .filter((id) => id.toLowerCase().startsWith(lowerValue))
114
115
  .slice(0, 100);
115
- },
116
+ }),
116
117
  },
117
118
  }), {
118
119
  title: "Garmin Device Specifications",
119
120
  description: "Device capabilities, screen dimensions, and supported features",
120
121
  mimeType: "application/json",
121
122
  annotations: deviceAnnotations,
122
- }, async (uri, params) => {
123
+ }, (uri, params) => withMcpServer(server, async () => {
123
124
  const deviceId = Array.isArray(params.deviceId)
124
125
  ? params.deviceId[0]
125
126
  : params.deviceId;
@@ -151,7 +152,7 @@ export function registerResources(server, services, logger) {
151
152
  });
152
153
  throw new Error(errorMessage);
153
154
  }
154
- });
155
+ }));
155
156
  // Register sample project listing resources using a template
156
157
  // Samples are learning resources for both users and assistants
157
158
  const sampleAnnotations = {
@@ -159,7 +160,7 @@ export function registerResources(server, services, logger) {
159
160
  priority: 0.6, // Useful reference but not always needed
160
161
  };
161
162
  server.registerResource("sample-project", new ResourceTemplate("connectiq://samples/{projectName}", {
162
- list: async () => {
163
+ list: () => withMcpServer(server, async () => {
163
164
  const samples = await sampleService.listSamples();
164
165
  return {
165
166
  resources: samples.map((sample) => ({
@@ -170,23 +171,23 @@ export function registerResources(server, services, logger) {
170
171
  annotations: sampleAnnotations,
171
172
  })),
172
173
  };
173
- },
174
+ }),
174
175
  complete: {
175
- projectName: async (value) => {
176
+ projectName: (value) => withMcpServer(server, async () => {
176
177
  const samples = await sampleService.listSamples();
177
178
  const lowerValue = value.toLowerCase();
178
179
  return samples
179
180
  .map((s) => s.name)
180
181
  .filter((name) => name.toLowerCase().startsWith(lowerValue))
181
182
  .slice(0, 100);
182
- },
183
+ }),
183
184
  },
184
185
  }), {
185
186
  title: "ConnectIQ SDK Sample Project",
186
187
  description: "Sample project with source code examples and best practices",
187
188
  mimeType: "text/markdown",
188
189
  annotations: sampleAnnotations,
189
- }, async (uri, params) => {
190
+ }, (uri, params) => withMcpServer(server, async () => {
190
191
  const projectName = Array.isArray(params.projectName)
191
192
  ? params.projectName[0]
192
193
  : params.projectName;
@@ -227,21 +228,21 @@ export function registerResources(server, services, logger) {
227
228
  });
228
229
  throw new Error(errorMessage);
229
230
  }
230
- });
231
+ }));
231
232
  // Register sample source code files using a template
232
233
  // Note: No list callback since file paths are discovered via project listing
233
234
  server.registerResource("sample-file", new ResourceTemplate("connectiq://samples/{projectName}/{filePath}", {
234
235
  list: undefined, // File paths are discovered via project listing, not enumerated
235
236
  complete: {
236
- projectName: async (value) => {
237
+ projectName: (value) => withMcpServer(server, async () => {
237
238
  const samples = await sampleService.listSamples();
238
239
  const lowerValue = value.toLowerCase();
239
240
  return samples
240
241
  .map((s) => s.name)
241
242
  .filter((name) => name.toLowerCase().startsWith(lowerValue))
242
243
  .slice(0, 100);
243
- },
244
- filePath: async (value, context) => {
244
+ }),
245
+ filePath: (value, context) => withMcpServer(server, async () => {
245
246
  // Get project name from context if available
246
247
  const projectName = context?.arguments?.["projectName"];
247
248
  if (!projectName)
@@ -253,14 +254,14 @@ export function registerResources(server, services, logger) {
253
254
  return sample.files
254
255
  .filter((file) => file.toLowerCase().startsWith(lowerValue))
255
256
  .slice(0, 100);
256
- },
257
+ }),
257
258
  },
258
259
  }), {
259
260
  title: "Sample Project Source File",
260
261
  description: "Source code file from a ConnectIQ SDK sample project",
261
262
  mimeType: "text/plain", // Default; actual mimeType determined per-file
262
263
  annotations: sampleAnnotations,
263
- }, async (uri, params) => {
264
+ }, (uri, params) => withMcpServer(server, async () => {
264
265
  const projectName = Array.isArray(params.projectName)
265
266
  ? params.projectName[0]
266
267
  : params.projectName;
@@ -303,7 +304,7 @@ export function registerResources(server, services, logger) {
303
304
  });
304
305
  throw new Error(errorMessage);
305
306
  }
306
- });
307
+ }));
307
308
  // Register developer guide resources using a template
308
309
  // Guides provide learning content for both users and assistants
309
310
  const guideAnnotations = {
@@ -311,7 +312,7 @@ export function registerResources(server, services, logger) {
311
312
  priority: 0.7, // Important reference for development guidance
312
313
  };
313
314
  server.registerResource("dev-guide", new ResourceTemplate("connectiq://guides/{slug}", {
314
- list: async () => {
315
+ list: () => withMcpServer(server, async () => {
315
316
  const guides = await devGuideService.listGuides();
316
317
  return {
317
318
  resources: guides.map((guide) => ({
@@ -322,19 +323,19 @@ export function registerResources(server, services, logger) {
322
323
  annotations: guideAnnotations,
323
324
  })),
324
325
  };
325
- },
326
+ }),
326
327
  complete: {
327
- slug: async (value) => {
328
+ slug: (value) => withMcpServer(server, async () => {
328
329
  const guides = await devGuideService.listGuides();
329
330
  return filterByPrefix(guides.map((g) => g.slug), value);
330
- },
331
+ }),
331
332
  },
332
333
  }), {
333
334
  title: "ConnectIQ Developer Guide",
334
335
  description: "Developer guide content from developer.garmin.com/connect-iq/",
335
336
  mimeType: "text/markdown",
336
337
  annotations: guideAnnotations,
337
- }, async (uri, params) => {
338
+ }, (uri, params) => withMcpServer(server, async () => {
338
339
  const slug = Array.isArray(params.slug)
339
340
  ? params.slug.join("/")
340
341
  : params.slug;
@@ -370,6 +371,6 @@ export function registerResources(server, services, logger) {
370
371
  });
371
372
  throw new Error(errorMessage);
372
373
  }
373
- });
374
+ }));
374
375
  }
375
376
  //# sourceMappingURL=resourceHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resourceHandlers.js","sourceRoot":"","sources":["../../src/handlers/resourceHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resourceHandlers.js","sourceRoot":"","sources":["../../src/handlers/resourceHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAI3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,QAAwB,EACxB,MAAc;IAEd,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,GACxE,QAAQ,CAAC;IAEX,+DAA+D;IAC/D,iEAAiE;IACjE,MAAM,cAAc,GAAgB;QAClC,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,QAAQ,EAAE,GAAG,EAAE,0CAA0C;KAC1D,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,YAAY,EACZ,IAAI,gBAAgB,CAAC,8BAA8B,EAAE;QACnD,IAAI,EAAE,GAAG,EAAE,CACT,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC/B,GAAG,EAAE,mBAAmB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE;oBACzD,IAAI,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAE;oBACxB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,qBAAqB,GAAG,CAAC,IAAI,EAAE;oBAC/D,QAAQ,EAAE,eAAe;oBACzB,WAAW,EAAE,cAAc;iBAC5B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC;QACJ,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,KAAa,EAAE,EAAE,CAC5B,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,OAAO;qBACX,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;qBACvD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBAC3D,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC;SACL;KACF,CAAC,EACF;QACE,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,cAAc;KAC5B,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACd,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YACjD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QAEtB,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,uDAAuD;YACvD,IACE,CAAC,UAAU;gBACX,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACzB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEnE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO;qBACvB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,wBAAwB,YAAY,EAAE,EAAE;gBACnD,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,UAAU;aACX,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CACL,CAAC;IAEF,2DAA2D;IAC3D,yEAAyE;IACzE,MAAM,iBAAiB,GAAgB;QACrC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAC/B,QAAQ,EAAE,GAAG,EAAE,4CAA4C;KAC5D,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,aAAa,EACb,IAAI,gBAAgB,CAAC,gCAAgC,EAAE;QACrD,IAAI,EAAE,GAAG,EAAE,CACT,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,CAAC;YACtD,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,EAAE,uBAAuB,MAAM,CAAC,EAAE,EAAE;oBACvC,IAAI,EAAE,WAAW,MAAM,CAAC,IAAI,EAAE;oBAC9B,WAAW,EAAE,sBAAsB,MAAM,CAAC,IAAI,EAAE;oBAChD,QAAQ,EAAE,kBAAkB;oBAC5B,WAAW,EAAE,iBAAiB;iBAC/B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC;QACJ,QAAQ,EAAE;YACR,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBACtD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,OAAO;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBACvD,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC;SACL;KACF,CAAC,EACF;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,gEAAgE;QAClE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,iBAAiB;KAC/B,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACd,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEpB,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,qDAAqD;YACrD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAErE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;wBAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO;qBACvB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,wBAAwB,YAAY,EAAE,EAAE;gBACnD,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CACL,CAAC;IAEF,6DAA6D;IAC7D,+DAA+D;IAC/D,MAAM,iBAAiB,GAAgB;QACrC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAC/B,QAAQ,EAAE,GAAG,EAAE,yCAAyC;KACzD,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,gBAAgB,EAChB,IAAI,gBAAgB,CAAC,mCAAmC,EAAE;QACxD,IAAI,EAAE,GAAG,EAAE,CACT,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO;gBACL,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;oBAClC,GAAG,EAAE,uBAAuB,MAAM,CAAC,IAAI,EAAE;oBACzC,IAAI,EAAE,WAAW,MAAM,CAAC,IAAI,EAAE;oBAC9B,WAAW,EACT,MAAM,CAAC,WAAW,IAAI,mBAAmB,MAAM,CAAC,IAAI,EAAE;oBACxD,QAAQ,EAAE,eAAe;oBACzB,WAAW,EAAE,iBAAiB;iBAC/B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC;QACJ,QAAQ,EAAE;YACR,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAC7B,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,OAAO;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBAC3D,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC;SACL;KACF,CAAC,EACF;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,6DAA6D;QAC/D,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,iBAAiB;KAC/B,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACd,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YACnD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QAEvB,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,kDAAkD;YAClD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,aAAa,MAAM,CAAC,IAAI,EAAE;gBAC1B,EAAE;gBACF,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE;gBACnD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;gBACzD,UAAU;gBACV,EAAE;gBACF,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,eAAe;wBACzB,IAAI,EAAE,OAAO;qBACd;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,wBAAwB,YAAY,EAAE,EAAE;gBACnD,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,WAAW;aACZ,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CACL,CAAC;IAEF,qDAAqD;IACrD,6EAA6E;IAC7E,MAAM,CAAC,gBAAgB,CACrB,aAAa,EACb,IAAI,gBAAgB,CAAC,8CAA8C,EAAE;QACnE,IAAI,EAAE,SAAS,EAAE,gEAAgE;QACjF,QAAQ,EAAE;YACR,WAAW,EAAE,CAAC,KAAa,EAAE,EAAE,CAC7B,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;gBAClD,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,OAAO;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBAC3D,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC;YACJ,QAAQ,EAAE,CAAC,KAAa,EAAE,OAAO,EAAE,EAAE,CACnC,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC/B,6CAA6C;gBAC7C,MAAM,WAAW,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW;oBAAE,OAAO,EAAE,CAAC;gBAE5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM;oBAAE,OAAO,EAAE,CAAC;gBAEvB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,MAAM,CAAC,KAAK;qBAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBAC3D,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC;SACL;KACF,CAAC,EACF;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,YAAY,EAAE,+CAA+C;QACvE,WAAW,EAAE,iBAAiB;KAC/B,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACd,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;YACnD,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEpB,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,qDAAqD;YACrD,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,0EAA0E;YAC1E,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACvC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAEhE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,OAAO,WAAW,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,IAAI,CAAC,OAAO;qBACnB;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,wBAAwB,YAAY,EAAE,EAAE;gBACnD,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,WAAW;gBACX,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CACL,CAAC;IAEF,sDAAsD;IACtD,gEAAgE;IAChE,MAAM,gBAAgB,GAAgB;QACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAC/B,QAAQ,EAAE,GAAG,EAAE,+CAA+C;KAC/D,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,WAAW,EACX,IAAI,gBAAgB,CAAC,2BAA2B,EAAE;QAChD,IAAI,EAAE,GAAG,EAAE,CACT,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;YAClD,OAAO;gBACL,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAChC,GAAG,EAAE,sBAAsB,KAAK,CAAC,IAAI,EAAE;oBACvC,IAAI,EAAE,UAAU,KAAK,CAAC,KAAK,EAAE;oBAC7B,WAAW,EAAE,GAAG,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,KAAK,EAAE;oBACjD,QAAQ,EAAE,eAAe;oBACzB,WAAW,EAAE,gBAAgB;iBAC9B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAC;QACJ,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,KAAa,EAAE,EAAE,CACtB,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;gBAC/B,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;gBAClD,OAAO,cAAc,CACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACzB,KAAK,CACN,CAAC;YACJ,CAAC,CAAC;SACL;KACF,CAAC,EACF;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,+DAA+D;QACjE,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,gBAAgB;KAC9B,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CACd,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACrC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAEhB,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,0CAA0C;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAE1C,OAAO;gBACL,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,GAAG,CAAC,IAAI;wBACb,QAAQ,EAAE,eAAe;wBACzB,IAAI,EAAE,OAAO;qBACd;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,wBAAwB,YAAY,EAAE,EAAE;gBACnD,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,IAAI;aACL,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CACL,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toolHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/toolHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAsa5E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,GACb,IAAI,CA+xCN"}
1
+ {"version":3,"file":"toolHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/toolHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAsa5E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,GACb,IAAI,CA+yCN"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import { completable } from "@modelcontextprotocol/sdk/server/completable.js";
13
13
  import { z } from "zod";
14
+ import { withMcpServer } from "../utils/logging.js";
14
15
  import { DeviceFilter, parseNumericFilter } from "../utils/index.js";
15
16
  import { API_ELEMENT_TYPES } from "../schemas/index.js";
16
17
  import { formatErrorMessage, validateToolOutput, isValidPathComponent, filterByPrefix, formatGuideContent, createDeviceIdCompletable, createScreenShapeCompletable, createAppTypeCompletable, } from "./handlerUtils.js";
@@ -414,7 +415,7 @@ export function registerTools(server, services, schemaFactory, logger) {
414
415
  .describe("Filter by supported device (partial match, e.g., 'fenix', 'vivoactive')"),
415
416
  },
416
417
  outputSchema: SearchApiDocsOutputSchema,
417
- }, async ({ query, module, limit, detailLevel, type, includeDeprecated, minApiLevel, device, }) => {
418
+ }, ({ query, module, limit, detailLevel, type, includeDeprecated, minApiLevel, device, }) => withMcpServer(server, async () => {
418
419
  logger.debug(`Tool called: searchApiDocs`, {
419
420
  tool: "searchApiDocs",
420
421
  detailLevel,
@@ -518,7 +519,7 @@ export function registerTools(server, services, schemaFactory, logger) {
518
519
  isError: true,
519
520
  };
520
521
  }
521
- });
522
+ }));
522
523
  // Register getDeviceInfo tool with output schema for structured responses
523
524
  server.registerTool("getDeviceInfo", {
524
525
  title: "Get Device Information",
@@ -535,7 +536,7 @@ export function registerTools(server, services, schemaFactory, logger) {
535
536
  "'icons' (launcher/complication icons), 'identity' (part numbers), 'all' (everything, default)"),
536
537
  },
537
538
  outputSchema: schemaFactory.getDeviceInfoSchema(),
538
- }, async ({ deviceId, fields }) => {
539
+ }, ({ deviceId, fields }) => withMcpServer(server, async () => {
539
540
  logger.debug(`Tool called: getDeviceInfo`, {
540
541
  tool: "getDeviceInfo",
541
542
  fields,
@@ -583,7 +584,7 @@ export function registerTools(server, services, schemaFactory, logger) {
583
584
  isError: true,
584
585
  };
585
586
  }
586
- });
587
+ }));
587
588
  // Register listDevices tool
588
589
  server.registerTool("listDevices", {
589
590
  title: "List Garmin Devices",
@@ -658,7 +659,7 @@ export function registerTools(server, services, schemaFactory, logger) {
658
659
  .describe("Filter by vector font support"),
659
660
  },
660
661
  outputSchema: ListDevicesOutputSchema,
661
- }, async (args) => {
662
+ }, (args) => withMcpServer(server, async () => {
662
663
  const { query, screenWidth, screenHeight, screenShape, displayType, appStorageCapacity, appTypeMemoryLimit, hasTouch, alphaBlendingSupport, enhancedGraphicSupport, screenRotationSupport, controlBarSupport, deviceFamily, deviceGroup, hasVectorFonts, } = args;
663
664
  logger.debug(`Tool called: listDevices`, { tool: "listDevices" });
664
665
  try {
@@ -682,7 +683,8 @@ export function registerTools(server, services, schemaFactory, logger) {
682
683
  criteria.displayType = displayType;
683
684
  }
684
685
  if (appStorageCapacity !== undefined) {
685
- criteria.appStorageCapacity = parseNumericFilter(appStorageCapacity);
686
+ criteria.appStorageCapacity =
687
+ parseNumericFilter(appStorageCapacity);
686
688
  }
687
689
  if (appTypeMemoryLimit !== undefined) {
688
690
  criteria.appTypeMemoryLimit = {
@@ -781,7 +783,7 @@ export function registerTools(server, services, schemaFactory, logger) {
781
783
  isError: true,
782
784
  };
783
785
  }
784
- });
786
+ }));
785
787
  // Register listSamples tool
786
788
  server.registerTool("listSamples", {
787
789
  title: "List Sample Projects",
@@ -816,8 +818,11 @@ export function registerTools(server, services, schemaFactory, logger) {
816
818
  .describe("Maximum number of results to return"),
817
819
  },
818
820
  outputSchema: ListSamplesOutputSchema,
819
- }, async ({ query, appType, targetDevices, permissions, apiModules, minSdkVersion, limit, }) => {
820
- logger.debug(`Tool called: listSamples`, { tool: "listSamples", query });
821
+ }, ({ query, appType, targetDevices, permissions, apiModules, minSdkVersion, limit, }) => withMcpServer(server, async () => {
822
+ logger.debug(`Tool called: listSamples`, {
823
+ tool: "listSamples",
824
+ query,
825
+ });
821
826
  try {
822
827
  // Use searchSamples for full-text search and filtering
823
828
  const results = await sampleService.searchSamples({
@@ -924,7 +929,7 @@ export function registerTools(server, services, schemaFactory, logger) {
924
929
  isError: true,
925
930
  };
926
931
  }
927
- });
932
+ }));
928
933
  // Register getSampleCode tool
929
934
  // This tool serves dual purpose: list files (when file omitted) or read file content
930
935
  server.registerTool("getSampleCode", {
@@ -960,7 +965,7 @@ export function registerTools(server, services, schemaFactory, logger) {
960
965
  }),
961
966
  },
962
967
  outputSchema: GetSampleCodeOutputSchema,
963
- }, async ({ project, file }) => {
968
+ }, ({ project, file }) => withMcpServer(server, async () => {
964
969
  logger.debug(`Tool called: getSampleCode`, {
965
970
  tool: "getSampleCode",
966
971
  mode: file ? "read" : "list",
@@ -1056,7 +1061,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1056
1061
  isError: true,
1057
1062
  };
1058
1063
  }
1059
- });
1064
+ }));
1060
1065
  // Register searchSampleCode tool
1061
1066
  server.registerTool("searchSampleCode", {
1062
1067
  title: "Search Sample Project Code",
@@ -1095,7 +1100,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1095
1100
  .describe("Number of context lines before/after each match"),
1096
1101
  },
1097
1102
  outputSchema: SearchSampleCodeOutputSchema,
1098
- }, async ({ query, project, extension, limit, contextLines }) => {
1103
+ }, ({ query, project, extension, limit, contextLines }) => withMcpServer(server, async () => {
1099
1104
  logger.debug(`Tool called: searchSampleCode`, {
1100
1105
  tool: "searchSampleCode",
1101
1106
  query,
@@ -1177,7 +1182,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1177
1182
  isError: true,
1178
1183
  };
1179
1184
  }
1180
- });
1185
+ }));
1181
1186
  // Register searchDevGuides tool for searching developer guide content
1182
1187
  server.registerTool("searchDevGuides", {
1183
1188
  title: "Search Developer Guides",
@@ -1204,7 +1209,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1204
1209
  .describe("Maximum number of results to return"),
1205
1210
  },
1206
1211
  outputSchema: SearchDevGuidesOutputSchema,
1207
- }, async ({ query, category, limit }) => {
1212
+ }, ({ query, category, limit }) => withMcpServer(server, async () => {
1208
1213
  logger.debug(`Tool called: searchDevGuides`, {
1209
1214
  tool: "searchDevGuides",
1210
1215
  query,
@@ -1266,7 +1271,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1266
1271
  isError: true,
1267
1272
  };
1268
1273
  }
1269
- });
1274
+ }));
1270
1275
  // Register getDevGuide tool for reading full guide content
1271
1276
  server.registerTool("getDevGuide", {
1272
1277
  title: "Get Developer Guide",
@@ -1283,7 +1288,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1283
1288
  }),
1284
1289
  },
1285
1290
  outputSchema: GetDevGuideOutputSchema,
1286
- }, async ({ slug }) => {
1291
+ }, ({ slug }) => withMcpServer(server, async () => {
1287
1292
  logger.debug(`Tool called: getDevGuide`, {
1288
1293
  tool: "getDevGuide",
1289
1294
  slug,
@@ -1350,7 +1355,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1350
1355
  isError: true,
1351
1356
  };
1352
1357
  }
1353
- });
1358
+ }));
1354
1359
  // Register getProjectConfig tool with output schema for structured responses
1355
1360
  server.registerTool("getProjectConfig", {
1356
1361
  title: "Get Project Configuration",
@@ -1366,7 +1371,7 @@ export function registerTools(server, services, schemaFactory, logger) {
1366
1371
  "'placeholders' (new project placeholders), 'templates' (project templates), or 'all' (everything)"),
1367
1372
  },
1368
1373
  outputSchema: schemaFactory.getProjectConfigSchema(),
1369
- }, async ({ section }) => {
1374
+ }, ({ section }) => withMcpServer(server, async () => {
1370
1375
  logger.debug(`Tool called: getProjectConfig`, {
1371
1376
  tool: "getProjectConfig",
1372
1377
  section,
@@ -1437,6 +1442,6 @@ export function registerTools(server, services, schemaFactory, logger) {
1437
1442
  isError: true,
1438
1443
  };
1439
1444
  }
1440
- });
1445
+ }));
1441
1446
  }
1442
1447
  //# sourceMappingURL=toolHandlers.js.map