ftc-mcp 1.0.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.
@@ -0,0 +1,520 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerResources = registerResources;
4
+ const pedro_js_1 = require("../knowledge/pedro.js");
5
+ const dashboard_js_1 = require("../knowledge/dashboard.js");
6
+ const hardware_js_1 = require("../knowledge/hardware.js");
7
+ const ftc_sdk_js_1 = require("../knowledge/ftc-sdk.js");
8
+ const gradle_js_1 = require("../knowledge/gradle.js");
9
+ const roadrunner_js_1 = require("../knowledge/roadrunner.js");
10
+ const ftclib_js_1 = require("../knowledge/ftclib.js");
11
+ const vision_js_1 = require("../knowledge/vision.js");
12
+ const panels_js_1 = require("../knowledge/panels.js");
13
+ function registerResources(server) {
14
+ // ── Core SDK (FTC_SDK_KNOWLEDGE) ──────────────────────────────────────
15
+ server.resource("FTC Overview", "ftc://sdk/overview", async (uri) => ({
16
+ contents: [{
17
+ uri: uri.href,
18
+ mimeType: "text/plain",
19
+ text: ftc_sdk_js_1.FTC_SDK_KNOWLEDGE.overview
20
+ }]
21
+ }));
22
+ server.resource("OpMode Patterns", "ftc://sdk/opmode-patterns", async (uri) => ({
23
+ contents: [{
24
+ uri: uri.href,
25
+ mimeType: "text/plain",
26
+ text: ftc_sdk_js_1.FTC_SDK_KNOWLEDGE.opmodePatterns
27
+ }]
28
+ }));
29
+ server.resource("Hardware Map", "ftc://sdk/hardware-map", async (uri) => ({
30
+ contents: [{
31
+ uri: uri.href,
32
+ mimeType: "text/plain",
33
+ text: ftc_sdk_js_1.FTC_SDK_KNOWLEDGE.hardwareMap
34
+ }]
35
+ }));
36
+ server.resource("Gamepad API", "ftc://sdk/gamepad-api", async (uri) => ({
37
+ contents: [{
38
+ uri: uri.href,
39
+ mimeType: "text/plain",
40
+ text: ftc_sdk_js_1.FTC_SDK_KNOWLEDGE.gamepadApi
41
+ }]
42
+ }));
43
+ server.resource("Best Practices", "ftc://sdk/best-practices", async (uri) => ({
44
+ contents: [{
45
+ uri: uri.href,
46
+ mimeType: "text/plain",
47
+ text: ftc_sdk_js_1.FTC_SDK_KNOWLEDGE.bestPractices
48
+ }]
49
+ }));
50
+ server.resource("Dev Environment Setup", "ftc://sdk/dev-environment", async (uri) => ({
51
+ contents: [{
52
+ uri: uri.href,
53
+ mimeType: "text/plain",
54
+ text: ftc_sdk_js_1.FTC_SDK_KNOWLEDGE.devEnvironment
55
+ }]
56
+ }));
57
+ // ── Pedro Pathing (PEDRO_KNOWLEDGE) ───────────────────────────────────
58
+ server.resource("Pedro API Reference", "ftc://pedro/api-reference", async (uri) => ({
59
+ contents: [{
60
+ uri: uri.href,
61
+ mimeType: "text/plain",
62
+ text: pedro_js_1.PEDRO_KNOWLEDGE.apiReference
63
+ }]
64
+ }));
65
+ server.resource("Pedro Constants Pattern", "ftc://pedro/constants-pattern", async (uri) => ({
66
+ contents: [{
67
+ uri: uri.href,
68
+ mimeType: "text/plain",
69
+ text: pedro_js_1.PEDRO_KNOWLEDGE.constantsPattern
70
+ }]
71
+ }));
72
+ server.resource("Pedro Coordinate System", "ftc://pedro/coordinate-system", async (uri) => ({
73
+ contents: [{
74
+ uri: uri.href,
75
+ mimeType: "text/plain",
76
+ text: pedro_js_1.PEDRO_KNOWLEDGE.coordinateSystem
77
+ }]
78
+ }));
79
+ server.resource("Pedro Auto Structure", "ftc://pedro/auto-structure", async (uri) => ({
80
+ contents: [{
81
+ uri: uri.href,
82
+ mimeType: "text/plain",
83
+ text: pedro_js_1.PEDRO_KNOWLEDGE.autoStructure
84
+ }]
85
+ }));
86
+ server.resource("Pedro TeleOp Structure", "ftc://pedro/teleop-structure", async (uri) => ({
87
+ contents: [{
88
+ uri: uri.href,
89
+ mimeType: "text/plain",
90
+ text: pedro_js_1.PEDRO_KNOWLEDGE.teleopStructure
91
+ }]
92
+ }));
93
+ server.resource("Pedro Callbacks", "ftc://pedro/callbacks", async (uri) => ({
94
+ contents: [{
95
+ uri: uri.href,
96
+ mimeType: "text/plain",
97
+ text: pedro_js_1.PEDRO_KNOWLEDGE.callbacks
98
+ }]
99
+ }));
100
+ // ── Dashboard (DASHBOARD_KNOWLEDGE) ───────────────────────────────────
101
+ server.resource("Dashboard Config Pattern", "ftc://dashboard/config-pattern", async (uri) => ({
102
+ contents: [{
103
+ uri: uri.href,
104
+ mimeType: "text/plain",
105
+ text: dashboard_js_1.DASHBOARD_KNOWLEDGE.configPattern
106
+ }]
107
+ }));
108
+ server.resource("Dashboard Telemetry", "ftc://dashboard/telemetry", async (uri) => ({
109
+ contents: [{
110
+ uri: uri.href,
111
+ mimeType: "text/plain",
112
+ text: dashboard_js_1.DASHBOARD_KNOWLEDGE.telemetry
113
+ }]
114
+ }));
115
+ server.resource("Dashboard Canvas", "ftc://dashboard/canvas", async (uri) => ({
116
+ contents: [{
117
+ uri: uri.href,
118
+ mimeType: "text/plain",
119
+ text: dashboard_js_1.DASHBOARD_KNOWLEDGE.canvas
120
+ }]
121
+ }));
122
+ server.resource("Dashboard Camera", "ftc://dashboard/camera", async (uri) => ({
123
+ contents: [{
124
+ uri: uri.href,
125
+ mimeType: "text/plain",
126
+ text: dashboard_js_1.DASHBOARD_KNOWLEDGE.camera
127
+ }]
128
+ }));
129
+ server.resource("Dashboard Setup", "ftc://dashboard/setup", async (uri) => ({
130
+ contents: [{
131
+ uri: uri.href,
132
+ mimeType: "text/plain",
133
+ text: dashboard_js_1.DASHBOARD_KNOWLEDGE.setup
134
+ }]
135
+ }));
136
+ server.resource("Dashboard API", "ftc://dashboard/api", async (uri) => ({
137
+ contents: [{
138
+ uri: uri.href,
139
+ mimeType: "text/plain",
140
+ text: dashboard_js_1.DASHBOARD_KNOWLEDGE.api
141
+ }]
142
+ }));
143
+ // ── Gradle (GRADLE_KNOWLEDGE) ─────────────────────────────────────────
144
+ server.resource("Gradle Project Structure", "ftc://gradle/project-structure", async (uri) => ({
145
+ contents: [{
146
+ uri: uri.href,
147
+ mimeType: "text/plain",
148
+ text: gradle_js_1.GRADLE_KNOWLEDGE.projectStructure
149
+ }]
150
+ }));
151
+ server.resource("Adding Libraries", "ftc://gradle/adding-libraries", async (uri) => ({
152
+ contents: [{
153
+ uri: uri.href,
154
+ mimeType: "text/plain",
155
+ text: gradle_js_1.GRADLE_KNOWLEDGE.addingLibraries
156
+ }]
157
+ }));
158
+ server.resource("All Library Coordinates", "ftc://gradle/all-library-coords", async (uri) => ({
159
+ contents: [{
160
+ uri: uri.href,
161
+ mimeType: "text/plain",
162
+ text: gradle_js_1.GRADLE_KNOWLEDGE.allLibraryCoords
163
+ }]
164
+ }));
165
+ server.resource("Common Gradle Issues", "ftc://gradle/common-issues", async (uri) => ({
166
+ contents: [{
167
+ uri: uri.href,
168
+ mimeType: "text/plain",
169
+ text: gradle_js_1.GRADLE_KNOWLEDGE.commonIssues
170
+ }]
171
+ }));
172
+ server.resource("Build Process", "ftc://gradle/build-process", async (uri) => ({
173
+ contents: [{
174
+ uri: uri.href,
175
+ mimeType: "text/plain",
176
+ text: gradle_js_1.GRADLE_KNOWLEDGE.buildProcess
177
+ }]
178
+ }));
179
+ server.resource("Build and Deploy", "ftc://gradle/build-and-deploy", async (uri) => ({
180
+ contents: [{
181
+ uri: uri.href,
182
+ mimeType: "text/plain",
183
+ text: gradle_js_1.GRADLE_KNOWLEDGE.buildAndDeploy
184
+ }]
185
+ }));
186
+ // ── Hardware (HARDWARE_KNOWLEDGE) ─────────────────────────────────────
187
+ server.resource("Motors API", "ftc://hardware/motors/api", async (uri) => ({
188
+ contents: [{
189
+ uri: uri.href,
190
+ mimeType: "text/plain",
191
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.motorsApi
192
+ }]
193
+ }));
194
+ server.resource("Motor Run Modes", "ftc://hardware/motors/run-modes", async (uri) => ({
195
+ contents: [{
196
+ uri: uri.href,
197
+ mimeType: "text/plain",
198
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.motorRunModes
199
+ }]
200
+ }));
201
+ server.resource("Motor Specs", "ftc://hardware/motors/specs", async (uri) => ({
202
+ contents: [{
203
+ uri: uri.href,
204
+ mimeType: "text/plain",
205
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.motorSpecs
206
+ }]
207
+ }));
208
+ server.resource("Servos API", "ftc://hardware/servos/api", async (uri) => ({
209
+ contents: [{
210
+ uri: uri.href,
211
+ mimeType: "text/plain",
212
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.servosApi
213
+ }]
214
+ }));
215
+ server.resource("IMU Sensor", "ftc://hardware/sensors/imu", async (uri) => ({
216
+ contents: [{
217
+ uri: uri.href,
218
+ mimeType: "text/plain",
219
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.sensorsImu
220
+ }]
221
+ }));
222
+ server.resource("Distance Sensor", "ftc://hardware/sensors/distance", async (uri) => ({
223
+ contents: [{
224
+ uri: uri.href,
225
+ mimeType: "text/plain",
226
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.sensorsDistance
227
+ }]
228
+ }));
229
+ server.resource("Color Sensor", "ftc://hardware/sensors/color", async (uri) => ({
230
+ contents: [{
231
+ uri: uri.href,
232
+ mimeType: "text/plain",
233
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.sensorsColor
234
+ }]
235
+ }));
236
+ server.resource("Digital Sensors", "ftc://hardware/sensors/digital", async (uri) => ({
237
+ contents: [{
238
+ uri: uri.href,
239
+ mimeType: "text/plain",
240
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.sensorsDigital
241
+ }]
242
+ }));
243
+ server.resource("Encoders", "ftc://hardware/sensors/encoder", async (uri) => ({
244
+ contents: [{
245
+ uri: uri.href,
246
+ mimeType: "text/plain",
247
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.sensorsEncoder
248
+ }]
249
+ }));
250
+ server.resource("GoBilda Pinpoint", "ftc://hardware/pinpoint", async (uri) => ({
251
+ contents: [{
252
+ uri: uri.href,
253
+ mimeType: "text/plain",
254
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.pinpoint
255
+ }]
256
+ }));
257
+ server.resource("SparkFun OTOS", "ftc://hardware/otos", async (uri) => ({
258
+ contents: [{
259
+ uri: uri.href,
260
+ mimeType: "text/plain",
261
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.otos
262
+ }]
263
+ }));
264
+ server.resource("REV Hub", "ftc://hardware/rev-hub", async (uri) => ({
265
+ contents: [{
266
+ uri: uri.href,
267
+ mimeType: "text/plain",
268
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.revHub
269
+ }]
270
+ }));
271
+ server.resource("Bulk Reads", "ftc://hardware/bulk-reads", async (uri) => ({
272
+ contents: [{
273
+ uri: uri.href,
274
+ mimeType: "text/plain",
275
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.bulkReads
276
+ }]
277
+ }));
278
+ server.resource("Caching Hardware", "ftc://hardware/caching-hardware", async (uri) => ({
279
+ contents: [{
280
+ uri: uri.href,
281
+ mimeType: "text/plain",
282
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.cachingHardware
283
+ }]
284
+ }));
285
+ server.resource("Optimization Summary", "ftc://hardware/optimization-summary", async (uri) => ({
286
+ contents: [{
287
+ uri: uri.href,
288
+ mimeType: "text/plain",
289
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.optimizationSummary
290
+ }]
291
+ }));
292
+ server.resource("Custom Wrappers", "ftc://hardware/custom-wrappers", async (uri) => ({
293
+ contents: [{
294
+ uri: uri.href,
295
+ mimeType: "text/plain",
296
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.customWrappers
297
+ }]
298
+ }));
299
+ server.resource("Command Pipeline", "ftc://hardware/command-pipeline", async (uri) => ({
300
+ contents: [{
301
+ uri: uri.href,
302
+ mimeType: "text/plain",
303
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.commandPipeline
304
+ }]
305
+ }));
306
+ server.resource("Write Optimization", "ftc://hardware/write-optimization", async (uri) => ({
307
+ contents: [{
308
+ uri: uri.href,
309
+ mimeType: "text/plain",
310
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.writeOptimization
311
+ }]
312
+ }));
313
+ server.resource("Loop Time Budget", "ftc://hardware/loop-time-budget", async (uri) => ({
314
+ contents: [{
315
+ uri: uri.href,
316
+ mimeType: "text/plain",
317
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.loopTimeBudget
318
+ }]
319
+ }));
320
+ server.resource("Vision", "ftc://hardware/vision", async (uri) => ({
321
+ contents: [{
322
+ uri: uri.href,
323
+ mimeType: "text/plain",
324
+ text: hardware_js_1.HARDWARE_KNOWLEDGE.vision
325
+ }]
326
+ }));
327
+ // ── Road Runner (ROADRUNNER_KNOWLEDGE) ────────────────────────────────
328
+ server.resource("Road Runner API", "ftc://roadrunner/api-reference", async (uri) => ({
329
+ contents: [{
330
+ uri: uri.href,
331
+ mimeType: "text/plain",
332
+ text: roadrunner_js_1.ROADRUNNER_KNOWLEDGE.apiReference
333
+ }]
334
+ }));
335
+ // ── Command-Based / SolversLib (FTCLIB_KNOWLEDGE) ──────────────────────
336
+ server.resource("Command-Base Setup", "ftc://command-base/setup", async (uri) => ({
337
+ contents: [{
338
+ uri: uri.href,
339
+ mimeType: "text/plain",
340
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.setup
341
+ }]
342
+ }));
343
+ server.resource("Command-Base API", "ftc://command-base/api", async (uri) => ({
344
+ contents: [{
345
+ uri: uri.href,
346
+ mimeType: "text/plain",
347
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.apiReference
348
+ }]
349
+ }));
350
+ server.resource("Command-Base Subsystem Patterns", "ftc://command-base/subsystems", async (uri) => ({
351
+ contents: [{
352
+ uri: uri.href,
353
+ mimeType: "text/plain",
354
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.subsystemPatterns
355
+ }]
356
+ }));
357
+ server.resource("Command-Base Command Patterns", "ftc://command-base/commands", async (uri) => ({
358
+ contents: [{
359
+ uri: uri.href,
360
+ mimeType: "text/plain",
361
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.commandPatterns
362
+ }]
363
+ }));
364
+ server.resource("Command-Base Triggers & GamepadEx", "ftc://command-base/triggers", async (uri) => ({
365
+ contents: [{
366
+ uri: uri.href,
367
+ mimeType: "text/plain",
368
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.triggers
369
+ }]
370
+ }));
371
+ server.resource("Command-Base Project Organization", "ftc://command-base/organization", async (uri) => ({
372
+ contents: [{
373
+ uri: uri.href,
374
+ mimeType: "text/plain",
375
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.organization
376
+ }]
377
+ }));
378
+ server.resource("Command-Base Pedro Integration", "ftc://command-base/pedro-integration", async (uri) => ({
379
+ contents: [{
380
+ uri: uri.href,
381
+ mimeType: "text/plain",
382
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.pedroIntegration
383
+ }]
384
+ }));
385
+ server.resource("Command-Base SolversLib Extras", "ftc://command-base/extras", async (uri) => ({
386
+ contents: [{
387
+ uri: uri.href,
388
+ mimeType: "text/plain",
389
+ text: ftclib_js_1.FTCLIB_KNOWLEDGE.extras
390
+ }]
391
+ }));
392
+ // ── Vision (VISION_KNOWLEDGE) ─────────────────────────────────────────
393
+ server.resource("Vision Overview", "ftc://vision/overview", async (uri) => ({
394
+ contents: [{
395
+ uri: uri.href,
396
+ mimeType: "text/plain",
397
+ text: vision_js_1.VISION_KNOWLEDGE.overview
398
+ }]
399
+ }));
400
+ server.resource("VisionPortal Setup", "ftc://vision/visionportal-setup", async (uri) => ({
401
+ contents: [{
402
+ uri: uri.href,
403
+ mimeType: "text/plain",
404
+ text: vision_js_1.VISION_KNOWLEDGE.visionPortalSetup
405
+ }]
406
+ }));
407
+ server.resource("AprilTag Detection", "ftc://vision/apriltag-detection", async (uri) => ({
408
+ contents: [{
409
+ uri: uri.href,
410
+ mimeType: "text/plain",
411
+ text: vision_js_1.VISION_KNOWLEDGE.aprilTagDetection
412
+ }]
413
+ }));
414
+ server.resource("Camera Controls", "ftc://vision/camera-controls", async (uri) => ({
415
+ contents: [{
416
+ uri: uri.href,
417
+ mimeType: "text/plain",
418
+ text: vision_js_1.VISION_KNOWLEDGE.cameraControls
419
+ }]
420
+ }));
421
+ server.resource("Limelight 3A Guide", "ftc://vision/limelight", async (uri) => ({
422
+ contents: [{
423
+ uri: uri.href,
424
+ mimeType: "text/plain",
425
+ text: vision_js_1.VISION_KNOWLEDGE.limelight
426
+ }]
427
+ }));
428
+ server.resource("MegaTag Localization", "ftc://vision/megatag", async (uri) => ({
429
+ contents: [{
430
+ uri: uri.href,
431
+ mimeType: "text/plain",
432
+ text: vision_js_1.VISION_KNOWLEDGE.megaTag
433
+ }]
434
+ }));
435
+ server.resource("Color Detection", "ftc://vision/color-detection", async (uri) => ({
436
+ contents: [{
437
+ uri: uri.href,
438
+ mimeType: "text/plain",
439
+ text: vision_js_1.VISION_KNOWLEDGE.colorDetection
440
+ }]
441
+ }));
442
+ server.resource("Vision Optimization", "ftc://vision/optimization", async (uri) => ({
443
+ contents: [{
444
+ uri: uri.href,
445
+ mimeType: "text/plain",
446
+ text: vision_js_1.VISION_KNOWLEDGE.visionOptimization
447
+ }]
448
+ }));
449
+ server.resource("Multi-Camera Setup", "ftc://vision/multi-camera", async (uri) => ({
450
+ contents: [{
451
+ uri: uri.href,
452
+ mimeType: "text/plain",
453
+ text: vision_js_1.VISION_KNOWLEDGE.multiCamera
454
+ }]
455
+ }));
456
+ server.resource("Vision Patterns", "ftc://vision/patterns", async (uri) => ({
457
+ contents: [{
458
+ uri: uri.href,
459
+ mimeType: "text/plain",
460
+ text: vision_js_1.VISION_KNOWLEDGE.visionPatterns
461
+ }]
462
+ }));
463
+ // ── Panels (PANELS_KNOWLEDGE) ─────────────────────────────────────────
464
+ server.resource("Panels Overview", "ftc://panels/overview", async (uri) => ({
465
+ contents: [{
466
+ uri: uri.href,
467
+ mimeType: "text/plain",
468
+ text: panels_js_1.PANELS_KNOWLEDGE.overview
469
+ }]
470
+ }));
471
+ server.resource("Panels Setup", "ftc://panels/setup", async (uri) => ({
472
+ contents: [{
473
+ uri: uri.href,
474
+ mimeType: "text/plain",
475
+ text: panels_js_1.PANELS_KNOWLEDGE.setup
476
+ }]
477
+ }));
478
+ server.resource("Panels Configurables", "ftc://panels/configurables", async (uri) => ({
479
+ contents: [{
480
+ uri: uri.href,
481
+ mimeType: "text/plain",
482
+ text: panels_js_1.PANELS_KNOWLEDGE.configurables
483
+ }]
484
+ }));
485
+ server.resource("Panels Telemetry", "ftc://panels/telemetry", async (uri) => ({
486
+ contents: [{
487
+ uri: uri.href,
488
+ mimeType: "text/plain",
489
+ text: panels_js_1.PANELS_KNOWLEDGE.telemetry
490
+ }]
491
+ }));
492
+ server.resource("Panels Field Drawing", "ftc://panels/field", async (uri) => ({
493
+ contents: [{
494
+ uri: uri.href,
495
+ mimeType: "text/plain",
496
+ text: panels_js_1.PANELS_KNOWLEDGE.field
497
+ }]
498
+ }));
499
+ server.resource("Panels Limelight", "ftc://panels/limelight", async (uri) => ({
500
+ contents: [{
501
+ uri: uri.href,
502
+ mimeType: "text/plain",
503
+ text: panels_js_1.PANELS_KNOWLEDGE.limelight
504
+ }]
505
+ }));
506
+ server.resource("Panels Plugins", "ftc://panels/plugins", async (uri) => ({
507
+ contents: [{
508
+ uri: uri.href,
509
+ mimeType: "text/plain",
510
+ text: panels_js_1.PANELS_KNOWLEDGE.plugins
511
+ }]
512
+ }));
513
+ server.resource("Panels Gamepads", "ftc://panels/gamepads", async (uri) => ({
514
+ contents: [{
515
+ uri: uri.href,
516
+ mimeType: "text/plain",
517
+ text: panels_js_1.PANELS_KNOWLEDGE.gamepads
518
+ }]
519
+ }));
520
+ }
@@ -0,0 +1,2 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function createServer(): McpServer;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createServer = createServer;
4
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
+ const registry_js_1 = require("./resources/registry.js");
6
+ const registry_js_2 = require("./tools/registry.js");
7
+ const registry_js_3 = require("./prompts/registry.js");
8
+ function createServer() {
9
+ const server = new mcp_js_1.McpServer({
10
+ name: "ftc-mcp",
11
+ version: "1.0.0",
12
+ });
13
+ (0, registry_js_1.registerResources)(server);
14
+ (0, registry_js_2.registerTools)(server);
15
+ (0, registry_js_3.registerPrompts)(server);
16
+ return server;
17
+ }
@@ -0,0 +1,2 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerTools(server: McpServer): void;