connectiq-mcp-server 1.1.8 → 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.
Files changed (225) hide show
  1. package/README.md +124 -8
  2. package/build/handlers/handlerUtils.d.ts +15 -1
  3. package/build/handlers/handlerUtils.d.ts.map +1 -1
  4. package/build/handlers/handlerUtils.js +24 -1
  5. package/build/handlers/handlerUtils.js.map +1 -1
  6. package/build/handlers/promptHandlers.d.ts.map +1 -1
  7. package/build/handlers/promptHandlers.js +9 -8
  8. package/build/handlers/promptHandlers.js.map +1 -1
  9. package/build/handlers/resourceHandlers.d.ts.map +1 -1
  10. package/build/handlers/resourceHandlers.js +94 -46
  11. package/build/handlers/resourceHandlers.js.map +1 -1
  12. package/build/handlers/toolHandlers.d.ts.map +1 -1
  13. package/build/handlers/toolHandlers.js +270 -19
  14. package/build/handlers/toolHandlers.js.map +1 -1
  15. package/build/index.js +202 -57
  16. package/build/index.js.map +1 -1
  17. package/build/parsers/HtmlParser.d.ts +34 -4
  18. package/build/parsers/HtmlParser.d.ts.map +1 -1
  19. package/build/parsers/HtmlParser.js +293 -34
  20. package/build/parsers/HtmlParser.js.map +1 -1
  21. package/build/parsers/HtmlParserSchemas.d.ts +140 -54
  22. package/build/parsers/HtmlParserSchemas.d.ts.map +1 -1
  23. package/build/parsers/HtmlParserSchemas.js +6 -0
  24. package/build/parsers/HtmlParserSchemas.js.map +1 -1
  25. package/build/schemas/SchemaFactory.d.ts +2 -2
  26. package/build/schemas/SchemaFactory.d.ts.map +1 -1
  27. package/build/schemas/SchemaFactory.js +1 -0
  28. package/build/schemas/SchemaFactory.js.map +1 -1
  29. package/build/services/ApiDocService.d.ts +4 -0
  30. package/build/services/ApiDocService.d.ts.map +1 -1
  31. package/build/services/ApiDocService.js +69 -19
  32. package/build/services/ApiDocService.js.map +1 -1
  33. package/build/services/DevGuideService.d.ts +75 -0
  34. package/build/services/DevGuideService.d.ts.map +1 -0
  35. package/build/services/DevGuideService.js +274 -0
  36. package/build/services/DevGuideService.js.map +1 -0
  37. package/build/services/SampleCodeSearchService.d.ts +2 -0
  38. package/build/services/SampleCodeSearchService.d.ts.map +1 -1
  39. package/build/services/SampleCodeSearchService.js +63 -25
  40. package/build/services/SampleCodeSearchService.js.map +1 -1
  41. package/build/types/index.d.ts +48 -1
  42. package/build/types/index.d.ts.map +1 -1
  43. package/build/utils/IndexCache.d.ts +3 -1
  44. package/build/utils/IndexCache.d.ts.map +1 -1
  45. package/build/utils/IndexCache.js +3 -2
  46. package/build/utils/IndexCache.js.map +1 -1
  47. package/build/utils/logging.d.ts +12 -4
  48. package/build/utils/logging.d.ts.map +1 -1
  49. package/build/utils/logging.js +40 -5
  50. package/build/utils/logging.js.map +1 -1
  51. package/data/guides/app-review-guidelines/app-review-guidelines.md +235 -0
  52. package/data/guides/connect-iq-basics/app-types.md +606 -0
  53. package/data/guides/connect-iq-basics/getting-started.md +85 -0
  54. package/data/guides/connect-iq-basics/your-first-app.md +104 -0
  55. package/data/guides/connect-iq-faq/how-do-i-create-a-connect-iq-background-service.md +101 -0
  56. package/data/guides/connect-iq-faq/how-do-i-create-an-audio-content-provider.md +85 -0
  57. package/data/guides/connect-iq-faq/how-do-i-get-my-watch-face-to-update-every-second.md +33 -0
  58. package/data/guides/connect-iq-faq/how-do-i-make-a-watch-face-for-amoled-products.md +74 -0
  59. package/data/guides/connect-iq-faq/how-do-i-optimize-bitmaps.md +313 -0
  60. package/data/guides/connect-iq-faq/how-do-i-override-the-goal-animations.md +13 -0
  61. package/data/guides/connect-iq-faq/how-do-i-use-a-mapview.md +130 -0
  62. package/data/guides/connect-iq-faq/how-do-i-use-custom-fonts.md +203 -0
  63. package/data/guides/connect-iq-faq/how-do-i-use-rest-services.md +127 -0
  64. package/data/guides/connect-iq-faq/how-do-i-use-the-connect-iq-mobile-sdk.md +29 -0
  65. package/data/guides/core-topics/activity-control.md +25 -0
  66. package/data/guides/core-topics/activity-prompts.md +39 -0
  67. package/data/guides/core-topics/activity-recording.md +245 -0
  68. package/data/guides/core-topics/ant-and-ant-plus.md +177 -0
  69. package/data/guides/core-topics/application-and-system-modules.md +239 -0
  70. package/data/guides/core-topics/authenticated-web-services.md +69 -0
  71. package/data/guides/core-topics/backgrounding.md +138 -0
  72. package/data/guides/core-topics/beta-apps.md +7 -0
  73. package/data/guides/core-topics/bluetooth-low-energy.md +142 -0
  74. package/data/guides/core-topics/build-configuration.md +149 -0
  75. package/data/guides/core-topics/communicating-with-mobile-apps.md +45 -0
  76. package/data/guides/core-topics/complications.md +387 -0
  77. package/data/guides/core-topics/debugging.md +193 -0
  78. package/data/guides/core-topics/downloading-content.md +116 -0
  79. package/data/guides/core-topics/editing-watch-faces-on-device.md +178 -0
  80. package/data/guides/core-topics/exception-reporting-tool.md +88 -0
  81. package/data/guides/core-topics/getting-the-users-attention.md +248 -0
  82. package/data/guides/core-topics/glances.md +70 -0
  83. package/data/guides/core-topics/graphics.md +343 -0
  84. package/data/guides/core-topics/https.md +134 -0
  85. package/data/guides/core-topics/input-handling.md +321 -0
  86. package/data/guides/core-topics/intents.md +41 -0
  87. package/data/guides/core-topics/layouts.md +686 -0
  88. package/data/guides/core-topics/manifest-and-permissions.md +406 -0
  89. package/data/guides/core-topics/mobile-sdk-for-android.md +321 -0
  90. package/data/guides/core-topics/mobile-sdk-for-ios.md +237 -0
  91. package/data/guides/core-topics/monkey-style.md +98 -0
  92. package/data/guides/core-topics/native-controls.md +786 -0
  93. package/data/guides/core-topics/notifications.md +73 -0
  94. package/data/guides/core-topics/pairing-wireless-devices.md +91 -0
  95. package/data/guides/core-topics/persisting-data.md +155 -0
  96. package/data/guides/core-topics/positioning.md +105 -0
  97. package/data/guides/core-topics/profiling.md +65 -0
  98. package/data/guides/core-topics/properties-and-app-settings.md +385 -0
  99. package/data/guides/core-topics/publishing-to-the-store.md +70 -0
  100. package/data/guides/core-topics/quantifying-the-user.md +355 -0
  101. package/data/guides/core-topics/requesting-reviews.md +54 -0
  102. package/data/guides/core-topics/resources.md +1028 -0
  103. package/data/guides/core-topics/security.md +41 -0
  104. package/data/guides/core-topics/sensors.md +467 -0
  105. package/data/guides/core-topics/shareable-libraries.md +220 -0
  106. package/data/guides/core-topics/trial-apps.md +136 -0
  107. package/data/guides/core-topics/unit-testing.md +118 -0
  108. package/data/guides/core-topics/user-interface.md +80 -0
  109. package/data/guides/index.json +723 -0
  110. package/data/guides/monetization/account-management.md +13 -0
  111. package/data/guides/monetization/app-sales.md +86 -0
  112. package/data/guides/monetization/merchant-onboarding.md +65 -0
  113. package/data/guides/monetization/monetization.md +11 -0
  114. package/data/guides/monetization/price-points.md +6386 -0
  115. package/data/guides/monkey-c/annotations.md +48 -0
  116. package/data/guides/monkey-c/coding-conventions.md +68 -0
  117. package/data/guides/monkey-c/compiler-options.md +219 -0
  118. package/data/guides/monkey-c/containers.md +86 -0
  119. package/data/guides/monkey-c/exceptions-and-errors.md +126 -0
  120. package/data/guides/monkey-c/functions.md +572 -0
  121. package/data/guides/monkey-c/monkey-c.md +115 -0
  122. package/data/guides/monkey-c/monkey-types.md +1070 -0
  123. package/data/guides/monkey-c/objects-and-memory.md +422 -0
  124. package/data/guides/personality-library/action-views.md +139 -0
  125. package/data/guides/personality-library/colors.md +228 -0
  126. package/data/guides/personality-library/confirmations.md +143 -0
  127. package/data/guides/personality-library/iconography.md +92 -0
  128. package/data/guides/personality-library/input-hints.md +66 -0
  129. package/data/guides/personality-library/page-loops.md +23 -0
  130. package/data/guides/personality-library/personality-library.md +83 -0
  131. package/data/guides/personality-library/progress-bars.md +47 -0
  132. package/data/guides/personality-library/prompts.md +94 -0
  133. package/data/guides/personality-library/toasts.md +25 -0
  134. package/data/guides/personality-library/typography.md +47 -0
  135. package/data/guides/reference-guides/jungle-reference.md +390 -0
  136. package/data/guides/reference-guides/monkey-c-command-line-setup.md +151 -0
  137. package/data/guides/reference-guides/monkey-c-reference.md +1697 -0
  138. package/data/guides/reference-guides/monkey-graph-reference.md +53 -0
  139. package/data/guides/reference-guides/monkey-motion-reference.md +414 -0
  140. package/data/guides/reference-guides/visual-studio-code-extension.md +260 -0
  141. package/data/guides/ux-guide/confirmations.md +13 -0
  142. package/data/guides/ux-guide/data-fields.md +59 -0
  143. package/data/guides/ux-guide/design-principles.md +11 -0
  144. package/data/guides/ux-guide/designing-workflows-and-interactions.md +200 -0
  145. package/data/guides/ux-guide/developing-the-concepts.md +62 -0
  146. package/data/guides/ux-guide/entry-points.md +46 -0
  147. package/data/guides/ux-guide/incorporating-the-visual-design-and-product-personalities.md +211 -0
  148. package/data/guides/ux-guide/localization.md +90 -0
  149. package/data/guides/ux-guide/map-views.md +11 -0
  150. package/data/guides/ux-guide/menus.md +35 -0
  151. package/data/guides/ux-guide/progress-bars.md +19 -0
  152. package/data/guides/ux-guide/understanding-what-you-are-building.md +39 -0
  153. package/data/guides/ux-guide/views.md +42 -0
  154. package/data/guides/ux-guide/watch-faces.md +59 -0
  155. package/package.json +12 -3
  156. package/.claude/settings.json +0 -11
  157. package/.claude/skills/commit/SKILL.md +0 -37
  158. package/.claude/skills/prd-generate/SKILL.md +0 -228
  159. package/.claude/skills/prd-generate/references/agent-prompts.md +0 -114
  160. package/.claude/skills/prd-generate/references/principles.md +0 -60
  161. package/.claude/skills/prd-generate/references/templates.md +0 -289
  162. package/.claude/skills/prd-implement-phase/SKILL.md +0 -79
  163. package/.github/workflows/publish.yml +0 -52
  164. package/.mcp.json +0 -36
  165. package/.prettierignore +0 -5
  166. package/.prettierrc +0 -8
  167. package/.serena/memories/code_style.md +0 -64
  168. package/.serena/memories/project_overview.md +0 -71
  169. package/.serena/memories/suggested_commands.md +0 -59
  170. package/.serena/memories/task_completion.md +0 -56
  171. package/.serena/project.yml +0 -113
  172. package/CHANGELOG.md +0 -105
  173. package/CLAUDE.md +0 -100
  174. package/eslint.config.js +0 -44
  175. package/mcp/github/.env.example +0 -1
  176. package/mcp/github/command.sh +0 -20
  177. package/server.json +0 -34
  178. package/src/config/ConfigManager.ts +0 -425
  179. package/src/handlers/handlerUtils.ts +0 -217
  180. package/src/handlers/promptHandlers.ts +0 -453
  181. package/src/handlers/resourceHandlers.ts +0 -390
  182. package/src/handlers/toolHandlers.ts +0 -1460
  183. package/src/index.ts +0 -158
  184. package/src/parsers/HtmlParser.ts +0 -1223
  185. package/src/parsers/HtmlParserSchemas.ts +0 -138
  186. package/src/parsers/XmlParser.ts +0 -445
  187. package/src/schemas/DataSampler.ts +0 -276
  188. package/src/schemas/SchemaFactory.ts +0 -423
  189. package/src/schemas/SchemaInferenceEngine.ts +0 -365
  190. package/src/schemas/index.ts +0 -36
  191. package/src/services/ApiDocService.ts +0 -739
  192. package/src/services/DeviceInfoService.ts +0 -564
  193. package/src/services/ProjectInfoService.ts +0 -62
  194. package/src/services/SampleCodeSearchService.ts +0 -534
  195. package/src/services/SampleService.ts +0 -659
  196. package/src/types/index.ts +0 -672
  197. package/src/utils/AsyncFileCache.ts +0 -118
  198. package/src/utils/DeviceFilter.ts +0 -345
  199. package/src/utils/IndexCache.ts +0 -305
  200. package/src/utils/MarkdownConverter.ts +0 -318
  201. package/src/utils/ParsingQualityMetrics.ts +0 -475
  202. package/src/utils/index.ts +0 -21
  203. package/src/utils/logging.ts +0 -92
  204. package/src/utils/versionUtils.ts +0 -34
  205. package/test/fixtures/mockConfig.ts +0 -780
  206. package/test/unit/config/ConfigManager.test.ts +0 -709
  207. package/test/unit/handlers/resourceHandlers.test.ts +0 -333
  208. package/test/unit/handlers/toolHandlers.test.ts +0 -706
  209. package/test/unit/parsers/HtmlParser.test.ts +0 -1196
  210. package/test/unit/parsers/XmlParser.test.ts +0 -368
  211. package/test/unit/schemas/SchemaFactory.test.ts +0 -331
  212. package/test/unit/schemas/SchemaInferenceEngine.test.ts +0 -315
  213. package/test/unit/services/ApiDocService.test.ts +0 -410
  214. package/test/unit/services/DeviceInfoService.test.ts +0 -839
  215. package/test/unit/services/ProjectInfoService.test.ts +0 -68
  216. package/test/unit/services/SampleCodeSearchService.test.ts +0 -505
  217. package/test/unit/services/SampleService.test.ts +0 -369
  218. package/test/unit/utils/DeviceFilter.test.ts +0 -599
  219. package/test/unit/utils/IndexCache.test.ts +0 -425
  220. package/test/unit/utils/MarkdownConverter.test.ts +0 -327
  221. package/test/unit/utils/ParsingQualityMetrics.test.ts +0 -858
  222. package/test/unit/utils/versionUtils.test.ts +0 -57
  223. package/tsconfig.json +0 -20
  224. package/tsconfig.test.json +0 -8
  225. package/vitest.config.ts +0 -20
package/README.md CHANGED
@@ -9,6 +9,7 @@ An MCP (Model Context Protocol) server that provides access to Garmin ConnectIQ
9
9
  - **Sample Code Access**: Browse and read sample project source code from the SDK
10
10
  - **Sample Code Search**: Full-text search across sample source files to find implementation patterns
11
11
  - **Project Configuration**: Access app types, permissions, languages, and activity sports
12
+ - **Developer Guide Access**: Search and read developer guides from developer.garmin.com covering Monkey C, core topics, UX guidelines, and more
12
13
 
13
14
  ## Installation
14
15
 
@@ -25,17 +26,18 @@ The server auto-detects the ConnectIQ SDK installation based on your operating s
25
26
 
26
27
  The server automatically looks for ConnectIQ in the standard location:
27
28
 
28
- | OS | Default Path |
29
- |----|-------------|
30
- | macOS | `~/Library/Application Support/Garmin/ConnectIQ` |
31
- | Windows | `%APPDATA%\Garmin\ConnectIQ` |
32
- | Linux | `~/.Garmin/ConnectIQ` |
29
+ | OS | Default Path |
30
+ | ------- | ------------------------------------------------ |
31
+ | macOS | `~/Library/Application Support/Garmin/ConnectIQ` |
32
+ | Windows | `%APPDATA%\Garmin\ConnectIQ` |
33
+ | Linux | `~/.Garmin/ConnectIQ` |
33
34
 
34
35
  If ConnectIQ is installed in the default location and configured with Garmin SDK Manager, the server will auto-detect the current SDK from `current-sdk.cfg`.
35
36
 
36
37
  ### Option 1: Automatic (Recommended)
37
38
 
38
39
  If you have ConnectIQ SDK Manager installed and configured, just run:
40
+
39
41
  ```bash
40
42
  npx connectiq-mcp-server
41
43
  ```
@@ -43,6 +45,7 @@ npx connectiq-mcp-server
43
45
  ### Option 2: Specify Version
44
46
 
45
47
  To use a specific SDK version:
48
+
46
49
  ```bash
47
50
  # Environment variable
48
51
  export CONNECTIQ_VERSION="8.4" # Matches 8.4.x (e.g., 8.4.0, 8.4.1)
@@ -59,6 +62,7 @@ Version matching supports prefixes: `8` matches any `8.x.x`, `8.4` matches any `
59
62
  ### Option 3: Custom ConnectIQ Path
60
63
 
61
64
  If ConnectIQ is installed in a non-standard location:
65
+
62
66
  ```bash
63
67
  # Environment variable
64
68
  export CONNECTIQ_PATH="/custom/path/to/ConnectIQ"
@@ -71,6 +75,24 @@ npx connectiq-mcp-server --connectiq-path="/custom/path/to/ConnectIQ" --version=
71
75
  npx connectiq-mcp-server -c "/custom/path/to/ConnectIQ" -v 8.4
72
76
  ```
73
77
 
78
+ ### Transport Mode
79
+
80
+ By default the server uses **stdio** transport. To run as an HTTP server instead, use the `--http` flag:
81
+
82
+ ```bash
83
+ npx connectiq-mcp-server --http
84
+ npx connectiq-mcp-server --http --port=8080
85
+ npx connectiq-mcp-server --http --host=0.0.0.0 --port=3000
86
+ ```
87
+
88
+ | Flag | Description | Default |
89
+ | ------------------ | ----------------------------------- | ----------- |
90
+ | `--http` | Enable HTTP transport mode | off (stdio) |
91
+ | `--port <number>` | Port to listen on (HTTP mode) | 3000 |
92
+ | `--host <address>` | Host address to bind to (HTTP mode) | 127.0.0.1 |
93
+
94
+ Both transport modes share the same service layer, caching, and tool implementations.
95
+
74
96
  ### Devices Path (Auto-Discovered)
75
97
 
76
98
  The `Devices/` folder (sibling to `Sdks/`) is automatically discovered for richer device information. When found, `getDeviceInfo` returns enhanced data including vector fonts, display configurations, and firmware details.
@@ -80,6 +102,7 @@ The `Devices/` folder (sibling to `Sdks/`) is automatically discovered for riche
80
102
  Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
81
103
 
82
104
  **Auto-detect (recommended if SDK Manager is configured):**
105
+
83
106
  ```json
84
107
  {
85
108
  "mcpServers": {
@@ -93,6 +116,7 @@ Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/
93
116
  ```
94
117
 
95
118
  **With specific version:**
119
+
96
120
  ```json
97
121
  {
98
122
  "mcpServers": {
@@ -109,6 +133,7 @@ Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/
109
133
  ```
110
134
 
111
135
  **With custom path:**
136
+
112
137
  ```json
113
138
  {
114
139
  "mcpServers": {
@@ -125,12 +150,29 @@ Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/
125
150
  }
126
151
  ```
127
152
 
153
+ ### HTTP Mode
154
+
155
+ Start the server separately, then point Claude Desktop at the HTTP endpoint:
156
+
157
+ ```json
158
+ {
159
+ "mcpServers": {
160
+ "connectiq": {
161
+ "type": "http",
162
+ "url": "http://localhost:3000/mcp"
163
+ }
164
+ }
165
+ }
166
+ ```
167
+
128
168
  ## Available Tools
129
169
 
130
170
  ### searchApiDocs
171
+
131
172
  Search ConnectIQ Toybox API documentation. Supports fuzzy matching for typo tolerance.
132
173
 
133
174
  **Parameters:**
175
+
134
176
  - `query` (required): Search term (module, class, method, or constant name)
135
177
  - `module` (optional): Filter by Toybox module (e.g., "System", "WatchUi")
136
178
  - `limit` (optional): Maximum results to return (default: 20)
@@ -162,9 +204,11 @@ Search ConnectIQ Toybox API documentation. Supports fuzzy matching for typo tole
162
204
  ```
163
205
 
164
206
  ### getDeviceInfo
207
+
165
208
  Get specifications and capabilities for a specific Garmin device. Returns screen dimensions, supported features, and app types.
166
209
 
167
210
  **Parameters:**
211
+
168
212
  - `deviceId` (required): Device identifier (e.g., "fenix847mm", "edge1040", "vivoactive5")
169
213
  - `fields` (optional): Field sections to include - array of: "all", "spec", "memory", "features", "fonts", "gps", "icons", "identity" (default: ["all"])
170
214
  - `spec`: Screen/display fields (width, height, shape, displayType, bitsPerPixel, orientation, deviceFamily, deviceGroup, display config)
@@ -183,24 +227,29 @@ Get specifications and capabilities for a specific Garmin device. Returns screen
183
227
  ```
184
228
 
185
229
  ### listDevices
230
+
186
231
  List all available Garmin devices supported by the ConnectIQ SDK. Supports text search and advanced filtering with AND logic.
187
232
 
188
233
  **Parameters:**
234
+
189
235
  - `query` (optional): Search by device name or ID
190
236
 
191
237
  **Screen Filters:**
238
+
192
239
  - `screenWidth` (optional): Filter with operator (e.g., ">400", ">=260", "=454")
193
240
  - `screenHeight` (optional): Filter with operator
194
241
  - `screenShape` (optional): "round", "rectangle", "semiround", or "semi-octagon"
195
242
  - `displayType` (optional): Filter by display type (e.g., "amoled", "mip")
196
243
 
197
244
  **Memory Filters:**
245
+
198
246
  - `appStorageCapacity` (optional): Filter with operator (e.g., ">1000000")
199
247
  - `appTypeMemoryLimit` (optional): Filter by app type memory limit
200
248
  - `appType`: App type name (e.g., "watchFace", "widget")
201
249
  - `limit`: Memory limit filter (e.g., ">32768")
202
250
 
203
251
  **Feature Filters:**
252
+
204
253
  - `hasTouch` (optional): Filter by touch screen support
205
254
  - `alphaBlendingSupport` (optional): Filter by alpha blending support
206
255
  - `enhancedGraphicSupport` (optional): Filter by enhanced graphics support
@@ -208,6 +257,7 @@ List all available Garmin devices supported by the ConnectIQ SDK. Supports text
208
257
  - `controlBarSupport` (optional): Filter by control bar support (Edge devices)
209
258
 
210
259
  **Classification Filters:**
260
+
211
261
  - `deviceFamily` (optional): Filter by device family (e.g., "round-454x454")
212
262
  - `deviceGroup` (optional): Filter by device group/API level
213
263
  - `hasVectorFonts` (optional): Filter by vector font support
@@ -232,9 +282,11 @@ List all available Garmin devices supported by the ConnectIQ SDK. Supports text
232
282
  ```
233
283
 
234
284
  ### listSamples
285
+
235
286
  Search and filter ConnectIQ SDK sample projects. Supports full-text search with fuzzy matching.
236
287
 
237
288
  **Parameters:**
289
+
238
290
  - `query` (optional): Search by name, description, or API usage
239
291
  - `appType` (optional): Filter by app type ("watchface", "datafield", "widget", "watch-app")
240
292
  - `targetDevices` (optional): Filter by target device IDs (e.g., ["fenix7", "fr965"])
@@ -259,9 +311,11 @@ Search and filter ConnectIQ SDK sample projects. Supports full-text search with
259
311
  ```
260
312
 
261
313
  ### getSampleCode
314
+
262
315
  Read source code from a ConnectIQ SDK sample project, or list available files when file parameter is omitted. Useful for understanding implementation patterns and best practices.
263
316
 
264
317
  **Parameters:**
318
+
265
319
  - `project` (required): Sample project name (e.g., "SimpleDataField", "Analog")
266
320
  - `file` (optional): File path within the project (e.g., "source/SimpleDataFieldView.mc"). Omit to list available files.
267
321
 
@@ -279,9 +333,11 @@ Read source code from a ConnectIQ SDK sample project, or list available files wh
279
333
  ```
280
334
 
281
335
  ### searchSampleCode
336
+
282
337
  Search file contents of ConnectIQ SDK sample projects. Find code examples, API usage patterns, and implementation details. Returns matching lines with context.
283
338
 
284
339
  **Parameters:**
340
+
285
341
  - `query` (required): Search term to find in sample code (supports fuzzy matching)
286
342
  - `project` (optional): Filter by specific sample project name
287
343
  - `extension` (optional): Filter by file type (".mc", ".xml", ".jungle", ".json")
@@ -303,10 +359,56 @@ Search file contents of ConnectIQ SDK sample projects. Find code examples, API u
303
359
  }
304
360
  ```
305
361
 
362
+ ### searchDevGuides
363
+
364
+ Search ConnectIQ developer guides from developer.garmin.com. Covers Monkey C language, core topics (UI, sensors, BLE, backgrounding, debugging), UX guidelines, FAQ, and more.
365
+
366
+ **Parameters:**
367
+
368
+ - `query` (required): Search term to find in developer guides
369
+ - `category` (optional): Filter by guide category (e.g., "Core Topics", "Monkey C", "UX Guide")
370
+ - `limit` (optional): Maximum number of results to return (default: 10)
371
+
372
+ ```json
373
+ {
374
+ "query": "backgrounding",
375
+ "category": "Core Topics"
376
+ }
377
+ ```
378
+
379
+ ```json
380
+ {
381
+ "query": "custom fonts",
382
+ "limit": 5
383
+ }
384
+ ```
385
+
386
+ ### getDevGuide
387
+
388
+ Get the full content of a ConnectIQ developer guide page. Use `searchDevGuides` first to find relevant guides, then use this tool with the slug to read the full content.
389
+
390
+ **Parameters:**
391
+
392
+ - `slug` (required): Guide slug (e.g., "core-topics/backgrounding", "monkey-c/functions")
393
+
394
+ ```json
395
+ {
396
+ "slug": "core-topics/backgrounding"
397
+ }
398
+ ```
399
+
400
+ ```json
401
+ {
402
+ "slug": "monkey-c/functions"
403
+ }
404
+ ```
405
+
306
406
  ### getProjectConfig
407
+
307
408
  Get ConnectIQ project configuration including app types, permissions, supported languages, activity sports/subsports, permission maps, activity mappings, and project templates.
308
409
 
309
410
  **Parameters:**
411
+
310
412
  - `section` (optional): Configuration section to retrieve (default: "all")
311
413
  - `all`: Everything
312
414
  - `appTypes`: Available app types
@@ -338,37 +440,46 @@ The server exposes resources via the `connectiq://` protocol:
338
440
  - `connectiq://samples/{project}` - Sample project information and file listing
339
441
  - `connectiq://samples/{project}/{file}` - Specific file from a sample project
340
442
  - `connectiq://devices/{deviceId}` - Device specifications as JSON
443
+ - `connectiq://guides/{slug}` - Developer guide content (markdown)
341
444
 
342
445
  ## Available Prompts
343
446
 
344
447
  The server provides pre-built prompt templates for common ConnectIQ development tasks:
345
448
 
346
449
  ### review-connectiq-code
450
+
347
451
  Review Monkey C code for best practices, potential issues, and optimization opportunities.
348
452
 
349
453
  **Parameters:**
454
+
350
455
  - `code` (required): The Monkey C code to review
351
456
  - `appType` (optional): App type for context (watchface, widget, datafield, watch-app, audio-content-provider, background)
352
457
  - `targetDevice` (optional): Target device ID for device-specific recommendations (e.g., fenix847mm, vivoactive5)
353
458
 
354
459
  ### explain-api
460
+
355
461
  Get detailed explanations of ConnectIQ APIs with usage examples and best practices.
356
462
 
357
463
  **Parameters:**
464
+
358
465
  - `apiName` (required): API element to explain (e.g., 'WatchUi.View', 'Graphics.Dc', 'System.getTimer')
359
466
  - `context` (optional): Additional context about your use case
360
467
 
361
468
  ### device-compatibility
469
+
362
470
  Analyze code for compatibility issues across multiple target devices.
363
471
 
364
472
  **Parameters:**
473
+
365
474
  - `code` (required): The Monkey C code to analyze
366
475
  - `targetDevices` (required): Comma-separated list of device IDs (e.g., 'fenix847mm,vivoactive5,edge1040')
367
476
 
368
477
  ### optimize-memory
478
+
369
479
  Analyze code for memory optimization opportunities with device-specific memory limits.
370
480
 
371
481
  **Parameters:**
482
+
372
483
  - `code` (required): The Monkey C code to analyze
373
484
  - `appType` (required): App type to determine memory limits (watchface, widget, datafield, watch-app)
374
485
  - `targetDevice` (optional): Target device ID for device-specific memory limits
@@ -440,7 +551,7 @@ src/
440
551
  │ ├── DataSampler.ts # Diversity-based SDK file sampling
441
552
  │ └── index.ts # Barrel export
442
553
  ├── handlers/
443
- │ ├── toolHandlers.ts # MCP tool registration (7 tools)
554
+ │ ├── toolHandlers.ts # MCP tool registration (9 tools)
444
555
  │ ├── resourceHandlers.ts # MCP resource registration
445
556
  │ ├── promptHandlers.ts # MCP prompt registration (4 prompts)
446
557
  │ └── handlerUtils.ts # Shared handler utilities
@@ -449,7 +560,8 @@ src/
449
560
  │ ├── DeviceInfoService.ts # Device specs
450
561
  │ ├── SampleService.ts # Sample code browsing
451
562
  │ ├── SampleCodeSearchService.ts # Full-text search in sample code
452
- └── ProjectInfoService.ts # App types/permissions/templates
563
+ ├── ProjectInfoService.ts # App types/permissions/templates
564
+ │ └── DevGuideService.ts # Developer guide search and retrieval
453
565
  ├── parsers/
454
566
  │ ├── HtmlParser.ts # HTML doc parsing
455
567
  │ ├── HtmlParserSchemas.ts # Zod schemas for parsed HTML
@@ -466,9 +578,13 @@ src/
466
578
  └── types/
467
579
  └── index.ts # Shared interfaces
468
580
 
581
+ data/
582
+ └── guides/ # Scraped developer guides (markdown)
583
+
469
584
  test/
470
585
  ├── fixtures/
471
- └── mockConfig.ts # Test configuration mocks
586
+ ├── mockConfig.ts # Test configuration mocks
587
+ │ └── htmlFixtures.ts # HTML parsing test fixtures
472
588
  └── unit/
473
589
  ├── config/ # ConfigManager tests
474
590
  ├── handlers/ # Tool and resource handler tests
@@ -7,7 +7,7 @@
7
7
  * - Generic prefix-based filtering for completions
8
8
  *
9
9
  * Key design decisions:
10
- * - All completables use pre-loaded SchemaFactory enums (no runtime service calls)
10
+ * - Device/appType/screenShape completables use pre-loaded SchemaFactory enums; module/project/file completables use async service calls
11
11
  * - Error handling follows MCP 2025-11-25 spec (isError flag enables LLM self-correction)
12
12
  * - Zod validation errors formatted with field paths for easier debugging
13
13
  */
@@ -45,6 +45,20 @@ export declare function validateToolOutput<T>(data: T, schema: ZodTypeAny, toolN
45
45
  * @returns Filtered options (max 100)
46
46
  */
47
47
  export declare function filterByPrefix(options: readonly string[], value: string | undefined): string[];
48
+ /**
49
+ * Validate a path component to prevent path traversal attacks.
50
+ * Rejects '.', '..', absolute paths, Windows drive letters, and null bytes.
51
+ */
52
+ export declare function isValidPathComponent(component: string): boolean;
53
+ /**
54
+ * Format guide content with a standard header including title, category, and source URL
55
+ */
56
+ export declare function formatGuideContent(guide: {
57
+ title: string;
58
+ category: string;
59
+ url: string;
60
+ content: string;
61
+ }): string;
48
62
  /**
49
63
  * Creates a completable schema for device ID arguments with dynamic autocompletion.
50
64
  * Uses pre-loaded SchemaFactory enum for validation + prefix filtering for completion.
@@ -1 +1 @@
1
- {"version":3,"file":"handlerUtils.d.ts","sourceRoot":"","sources":["../../src/handlers/handlerUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,CAAC,CAaH;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,EAAE,CAKV;AAoCD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GACb,UAAU,CACX,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;AAaF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GACb,UAAU,CACX,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;AAaF;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GACb,UAAU,CACX,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC"}
1
+ {"version":3,"file":"handlerUtils.d.ts","sourceRoot":"","sources":["../../src/handlers/handlerUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,CAAC,CAaH;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,EAAE,CAKV;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAO/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAET;AAoCD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GACb,UAAU,CACX,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;AAaF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GACb,UAAU,CACX,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;AAaF;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,GAClB,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,GACb,UAAU,CACX,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * - Generic prefix-based filtering for completions
8
8
  *
9
9
  * Key design decisions:
10
- * - All completables use pre-loaded SchemaFactory enums (no runtime service calls)
10
+ * - Device/appType/screenShape completables use pre-loaded SchemaFactory enums; module/project/file completables use async service calls
11
11
  * - Error handling follows MCP 2025-11-25 spec (isError flag enables LLM self-correction)
12
12
  * - Zod validation errors formatted with field paths for easier debugging
13
13
  */
@@ -71,6 +71,29 @@ export function filterByPrefix(options, value) {
71
71
  .filter((opt) => opt.toLowerCase().startsWith(lowerValue))
72
72
  .slice(0, 100);
73
73
  }
74
+ /**
75
+ * Validate a path component to prevent path traversal attacks.
76
+ * Rejects '.', '..', absolute paths, Windows drive letters, and null bytes.
77
+ */
78
+ export function isValidPathComponent(component) {
79
+ if (!component)
80
+ return false;
81
+ if (component === "." || component === "..")
82
+ return false;
83
+ if (component.startsWith("/") || component.startsWith("\\"))
84
+ return false;
85
+ if (/^[a-zA-Z]:/.test(component))
86
+ return false;
87
+ if (component.includes("\0"))
88
+ return false;
89
+ return true;
90
+ }
91
+ /**
92
+ * Format guide content with a standard header including title, category, and source URL
93
+ */
94
+ export function formatGuideContent(guide) {
95
+ return `# ${guide.title}\n\n**Category:** ${guide.category}\n**Source:** ${guide.url}\n\n---\n\n${guide.content}`;
96
+ }
74
97
  // ============================================================================
75
98
  // Completable Factory Functions
76
99
  //
@@ -1 +1 @@
1
- {"version":3,"file":"handlerUtils.js","sourceRoot":"","sources":["../../src/handlers/handlerUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlerUtils.js","sourceRoot":"","sources":["../../src/handlers/handlerUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"promptHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/promptHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAoQlD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,GACb,IAAI,CAiKN"}
1
+ {"version":3,"file":"promptHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/promptHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAqQlD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,GACb,IAAI,CAqKN"}
@@ -12,6 +12,7 @@
12
12
  * - Memory optimization guidance
13
13
  */
14
14
  import { z } from "zod";
15
+ import { withMcpServer } from "../utils/logging.js";
15
16
  import { createAppTypeCompletable, createDeviceIdCompletable, formatErrorMessage, } from "./handlerUtils.js";
16
17
  // ============================================================================
17
18
  // Prompt Message Builders
@@ -243,7 +244,7 @@ export function registerPrompts(server, services, schemaFactory, logger) {
243
244
  appType: createAppTypeCompletable(schemaFactory, "App type for context (watchface, widget, datafield, watch-app, audio-content-provider, background)", true),
244
245
  targetDevice: createDeviceIdCompletable(schemaFactory, "Target device ID for device-specific recommendations (e.g., fenix847mm, vivoactive5)", true),
245
246
  },
246
- }, async ({ code, appType, targetDevice }) => {
247
+ }, ({ code, appType, targetDevice }) => withMcpServer(server, async () => {
247
248
  logger.debug("Prompt called: review-connectiq-code", {
248
249
  prompt: "review-connectiq-code",
249
250
  appType,
@@ -259,7 +260,7 @@ export function registerPrompts(server, services, schemaFactory, logger) {
259
260
  });
260
261
  throw error;
261
262
  }
262
- });
263
+ }));
263
264
  // Register explain-api prompt
264
265
  server.registerPrompt("explain-api", {
265
266
  title: "Explain ConnectIQ API",
@@ -273,7 +274,7 @@ export function registerPrompts(server, services, schemaFactory, logger) {
273
274
  .optional()
274
275
  .describe("Additional context about your use case (e.g., 'drawing custom watch face', 'handling user input')"),
275
276
  },
276
- }, async ({ apiName, context }) => {
277
+ }, ({ apiName, context }) => withMcpServer(server, async () => {
277
278
  logger.debug("Prompt called: explain-api", {
278
279
  prompt: "explain-api",
279
280
  apiName,
@@ -288,7 +289,7 @@ export function registerPrompts(server, services, schemaFactory, logger) {
288
289
  });
289
290
  throw error;
290
291
  }
291
- });
292
+ }));
292
293
  // Register device-compatibility prompt
293
294
  server.registerPrompt("device-compatibility", {
294
295
  title: "Check Device Compatibility",
@@ -301,7 +302,7 @@ export function registerPrompts(server, services, schemaFactory, logger) {
301
302
  .string()
302
303
  .describe("Comma-separated list of target device IDs (e.g., 'fenix847mm,vivoactive5,edge1040')"),
303
304
  },
304
- }, async ({ code, targetDevices }) => {
305
+ }, ({ code, targetDevices }) => withMcpServer(server, async () => {
305
306
  logger.debug("Prompt called: device-compatibility", {
306
307
  prompt: "device-compatibility",
307
308
  targetDevices,
@@ -316,7 +317,7 @@ export function registerPrompts(server, services, schemaFactory, logger) {
316
317
  });
317
318
  throw error;
318
319
  }
319
- });
320
+ }));
320
321
  // Register optimize-memory prompt
321
322
  server.registerPrompt("optimize-memory", {
322
323
  title: "Optimize Memory Usage",
@@ -328,7 +329,7 @@ export function registerPrompts(server, services, schemaFactory, logger) {
328
329
  appType: createAppTypeCompletable(schemaFactory, "App type to determine memory limits (watchface, widget, datafield, watch-app)"),
329
330
  targetDevice: createDeviceIdCompletable(schemaFactory, "Target device ID for device-specific memory limits (e.g., fenix847mm)", true),
330
331
  },
331
- }, async ({ code, appType, targetDevice }) => {
332
+ }, ({ code, appType, targetDevice }) => withMcpServer(server, async () => {
332
333
  logger.debug("Prompt called: optimize-memory", {
333
334
  prompt: "optimize-memory",
334
335
  appType,
@@ -344,6 +345,6 @@ export function registerPrompts(server, services, schemaFactory, logger) {
344
345
  });
345
346
  throw error;
346
347
  }
347
- });
348
+ }));
348
349
  }
349
350
  //# sourceMappingURL=promptHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"promptHandlers.js","sourceRoot":"","sources":["../../src/handlers/promptHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"promptHandlers.js","sourceRoot":"","sources":["../../src/handlers/promptHandlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resourceHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/resourceHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA6BlD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACb,IAAI,CAkVN"}
1
+ {"version":3,"file":"resourceHandlers.d.ts","sourceRoot":"","sources":["../../src/handlers/resourceHandlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AASlD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,GACb,IAAI,CAsbN"}