kmp-api-lookup-mcp 0.1.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 (38) hide show
  1. package/README.md +219 -0
  2. package/dist/config/index.d.ts +4 -0
  3. package/dist/config/index.js +33 -0
  4. package/dist/config/index.js.map +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.js +29 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/indexer/index.d.ts +12 -0
  9. package/dist/indexer/index.js +245 -0
  10. package/dist/indexer/index.js.map +1 -0
  11. package/dist/search-utils.d.ts +10 -0
  12. package/dist/search-utils.js +81 -0
  13. package/dist/search-utils.js.map +1 -0
  14. package/dist/server/createServer.d.ts +11 -0
  15. package/dist/server/createServer.js +30 -0
  16. package/dist/server/createServer.js.map +1 -0
  17. package/dist/server/index.d.ts +2 -0
  18. package/dist/server/index.js +3 -0
  19. package/dist/server/index.js.map +1 -0
  20. package/dist/server/lookupDetail.d.ts +3 -0
  21. package/dist/server/lookupDetail.js +295 -0
  22. package/dist/server/lookupDetail.js.map +1 -0
  23. package/dist/server/lookupService.d.ts +34 -0
  24. package/dist/server/lookupService.js +822 -0
  25. package/dist/server/lookupService.js.map +1 -0
  26. package/dist/server/metadataInspector.d.ts +14 -0
  27. package/dist/server/metadataInspector.js +288 -0
  28. package/dist/server/metadataInspector.js.map +1 -0
  29. package/dist/storage/index.d.ts +58 -0
  30. package/dist/storage/index.js +554 -0
  31. package/dist/storage/index.js.map +1 -0
  32. package/dist/tools/index.d.ts +3 -0
  33. package/dist/tools/index.js +488 -0
  34. package/dist/tools/index.js.map +1 -0
  35. package/dist/types.d.ts +287 -0
  36. package/dist/types.js +2 -0
  37. package/dist/types.js.map +1 -0
  38. package/package.json +56 -0
@@ -0,0 +1,488 @@
1
+ import { fromJsonSchema, } from '@modelcontextprotocol/server';
2
+ const emptyObjectSchema = fromJsonSchema({
3
+ type: 'object',
4
+ additionalProperties: false,
5
+ });
6
+ const stringArraySchema = {
7
+ type: 'array',
8
+ items: { type: 'string' },
9
+ };
10
+ const lookupInputSchema = fromJsonSchema({
11
+ type: 'object',
12
+ additionalProperties: false,
13
+ properties: {
14
+ query: { type: 'string', minLength: 1 },
15
+ frameworks: stringArraySchema,
16
+ kotlinVersion: { type: 'string' },
17
+ target: { type: 'string' },
18
+ detail: {
19
+ type: 'string',
20
+ enum: ['compact', 'full'],
21
+ },
22
+ queryKind: {
23
+ type: 'string',
24
+ enum: ['auto', 'class', 'member'],
25
+ },
26
+ limit: {
27
+ type: 'integer',
28
+ minimum: 1,
29
+ maximum: 20,
30
+ },
31
+ },
32
+ required: ['query'],
33
+ });
34
+ const rebuildInputSchema = fromJsonSchema({
35
+ type: 'object',
36
+ additionalProperties: false,
37
+ properties: {
38
+ kotlinVersion: { type: 'string' },
39
+ konanHome: { type: 'string' },
40
+ target: { type: 'string' },
41
+ frameworks: stringArraySchema,
42
+ force: { type: 'boolean' },
43
+ dryRun: { type: 'boolean' },
44
+ cleanBefore: { type: 'boolean' },
45
+ },
46
+ });
47
+ const lookupSymbolSignatureSchema = {
48
+ type: 'object',
49
+ additionalProperties: false,
50
+ properties: {
51
+ name: { type: 'string' },
52
+ kind: { type: 'string' },
53
+ scope: { type: 'string' },
54
+ declarationForm: { type: 'string' },
55
+ kotlinSignature: { type: 'string' },
56
+ objcSelector: { type: ['string', 'null'] },
57
+ requiredImports: stringArraySchema,
58
+ },
59
+ required: [
60
+ 'name',
61
+ 'kind',
62
+ 'scope',
63
+ 'declarationForm',
64
+ 'kotlinSignature',
65
+ 'objcSelector',
66
+ 'requiredImports',
67
+ ],
68
+ };
69
+ const lookupPropertyAccessorsSchema = {
70
+ type: 'object',
71
+ additionalProperties: false,
72
+ properties: {
73
+ getter: { type: 'boolean' },
74
+ setter: { type: 'boolean' },
75
+ },
76
+ required: ['getter', 'setter'],
77
+ };
78
+ const lookupCompactCallableSummarySchema = {
79
+ type: 'object',
80
+ additionalProperties: false,
81
+ properties: {
82
+ name: { type: 'string' },
83
+ kotlinSignatures: stringArraySchema,
84
+ objcSelectors: stringArraySchema,
85
+ requiredImports: stringArraySchema,
86
+ },
87
+ required: ['name', 'kotlinSignatures', 'objcSelectors', 'requiredImports'],
88
+ };
89
+ const lookupCompactPropertySummarySchema = {
90
+ type: 'object',
91
+ additionalProperties: false,
92
+ properties: {
93
+ name: { type: 'string' },
94
+ kotlinSignature: { type: 'string' },
95
+ mutable: { type: 'boolean' },
96
+ accessors: lookupPropertyAccessorsSchema,
97
+ requiredImports: stringArraySchema,
98
+ },
99
+ required: ['name', 'kotlinSignature', 'mutable', 'accessors', 'requiredImports'],
100
+ };
101
+ const lookupFullClassCardSchema = {
102
+ type: 'object',
103
+ additionalProperties: false,
104
+ properties: {
105
+ framework: { type: 'string' },
106
+ packageName: { type: 'string' },
107
+ name: { type: 'string' },
108
+ qualifiedName: { type: 'string' },
109
+ detailLevel: { type: 'string', enum: ['full'] },
110
+ kind: { type: 'string' },
111
+ kotlinSignature: { type: 'string' },
112
+ extendsType: { type: ['string', 'null'] },
113
+ implementsTypes: stringArraySchema,
114
+ requiredImports: stringArraySchema,
115
+ totalConstructors: { type: 'integer' },
116
+ totalMembers: { type: 'integer' },
117
+ totalClassMembers: { type: 'integer' },
118
+ omittedConstructors: { type: 'integer' },
119
+ omittedMembers: { type: 'integer' },
120
+ omittedClassMembers: { type: 'integer' },
121
+ constructors: {
122
+ type: 'array',
123
+ items: lookupSymbolSignatureSchema,
124
+ },
125
+ members: {
126
+ type: 'array',
127
+ items: lookupSymbolSignatureSchema,
128
+ },
129
+ classMembers: {
130
+ type: 'array',
131
+ items: lookupSymbolSignatureSchema,
132
+ },
133
+ },
134
+ required: [
135
+ 'framework',
136
+ 'packageName',
137
+ 'name',
138
+ 'qualifiedName',
139
+ 'detailLevel',
140
+ 'kind',
141
+ 'kotlinSignature',
142
+ 'extendsType',
143
+ 'implementsTypes',
144
+ 'requiredImports',
145
+ 'totalConstructors',
146
+ 'totalMembers',
147
+ 'totalClassMembers',
148
+ 'omittedConstructors',
149
+ 'omittedMembers',
150
+ 'omittedClassMembers',
151
+ 'constructors',
152
+ 'members',
153
+ 'classMembers',
154
+ ],
155
+ };
156
+ const lookupCompactClassCardSchema = {
157
+ type: 'object',
158
+ additionalProperties: false,
159
+ properties: {
160
+ framework: { type: 'string' },
161
+ packageName: { type: 'string' },
162
+ name: { type: 'string' },
163
+ qualifiedName: { type: 'string' },
164
+ detailLevel: { type: 'string', enum: ['compact'] },
165
+ kind: { type: 'string' },
166
+ kotlinSignature: { type: 'string' },
167
+ extendsType: { type: ['string', 'null'] },
168
+ implementsTypes: stringArraySchema,
169
+ requiredImports: stringArraySchema,
170
+ constructors: {
171
+ type: 'array',
172
+ items: lookupCompactCallableSummarySchema,
173
+ },
174
+ properties: {
175
+ type: 'array',
176
+ items: lookupCompactPropertySummarySchema,
177
+ },
178
+ methods: {
179
+ type: 'array',
180
+ items: lookupCompactCallableSummarySchema,
181
+ },
182
+ classMethods: {
183
+ type: 'array',
184
+ items: lookupCompactCallableSummarySchema,
185
+ },
186
+ },
187
+ required: [
188
+ 'framework',
189
+ 'packageName',
190
+ 'name',
191
+ 'qualifiedName',
192
+ 'detailLevel',
193
+ 'kind',
194
+ 'kotlinSignature',
195
+ 'extendsType',
196
+ 'implementsTypes',
197
+ 'requiredImports',
198
+ 'constructors',
199
+ 'properties',
200
+ 'methods',
201
+ 'classMethods',
202
+ ],
203
+ };
204
+ const lookupClassCardSchema = {
205
+ oneOf: [lookupFullClassCardSchema, lookupCompactClassCardSchema],
206
+ };
207
+ const lookupFullMemberCardSchema = {
208
+ type: 'object',
209
+ additionalProperties: false,
210
+ properties: {
211
+ framework: { type: 'string' },
212
+ packageName: { type: 'string' },
213
+ ownerName: { type: 'string' },
214
+ ownerQualifiedName: { type: 'string' },
215
+ detailLevel: { type: 'string', enum: ['full'] },
216
+ ownerKind: { type: 'string' },
217
+ ownerKotlinSignature: { type: 'string' },
218
+ extendsType: { type: ['string', 'null'] },
219
+ implementsTypes: stringArraySchema,
220
+ name: { type: 'string' },
221
+ requiredImports: stringArraySchema,
222
+ totalEntries: { type: 'integer' },
223
+ omittedEntries: { type: 'integer' },
224
+ entries: {
225
+ type: 'array',
226
+ items: lookupSymbolSignatureSchema,
227
+ },
228
+ },
229
+ required: [
230
+ 'framework',
231
+ 'packageName',
232
+ 'ownerName',
233
+ 'ownerQualifiedName',
234
+ 'detailLevel',
235
+ 'ownerKind',
236
+ 'ownerKotlinSignature',
237
+ 'extendsType',
238
+ 'implementsTypes',
239
+ 'name',
240
+ 'requiredImports',
241
+ 'totalEntries',
242
+ 'omittedEntries',
243
+ 'entries',
244
+ ],
245
+ };
246
+ const lookupCompactMemberCardSchema = {
247
+ type: 'object',
248
+ additionalProperties: false,
249
+ properties: {
250
+ framework: { type: 'string' },
251
+ packageName: { type: 'string' },
252
+ ownerName: { type: 'string' },
253
+ ownerQualifiedName: { type: 'string' },
254
+ ownerKind: { type: 'string' },
255
+ detailLevel: { type: 'string', enum: ['compact'] },
256
+ name: { type: 'string' },
257
+ requiredImports: stringArraySchema,
258
+ kind: { type: 'string' },
259
+ kotlinSignatures: stringArraySchema,
260
+ objcSelectors: stringArraySchema,
261
+ accessors: {
262
+ oneOf: [{ type: 'null' }, lookupPropertyAccessorsSchema],
263
+ },
264
+ mutable: { type: ['boolean', 'null'] },
265
+ },
266
+ required: [
267
+ 'framework',
268
+ 'packageName',
269
+ 'ownerName',
270
+ 'ownerQualifiedName',
271
+ 'ownerKind',
272
+ 'detailLevel',
273
+ 'name',
274
+ 'requiredImports',
275
+ 'kind',
276
+ 'kotlinSignatures',
277
+ 'objcSelectors',
278
+ 'accessors',
279
+ 'mutable',
280
+ ],
281
+ };
282
+ const lookupMemberCardSchema = {
283
+ oneOf: [lookupFullMemberCardSchema, lookupCompactMemberCardSchema],
284
+ };
285
+ const lookupOutputSchema = fromJsonSchema({
286
+ type: 'object',
287
+ additionalProperties: false,
288
+ properties: {
289
+ query: { type: 'string' },
290
+ effectiveKotlinVersion: { type: 'string' },
291
+ effectiveTarget: { type: 'string' },
292
+ detailLevel: { type: 'string' },
293
+ resultKind: { type: 'string' },
294
+ classCard: {
295
+ oneOf: [{ type: 'null' }, lookupFullClassCardSchema, lookupCompactClassCardSchema],
296
+ },
297
+ memberCard: {
298
+ oneOf: [{ type: 'null' }, lookupFullMemberCardSchema, lookupCompactMemberCardSchema],
299
+ },
300
+ alternatives: {
301
+ type: 'array',
302
+ items: {
303
+ type: 'object',
304
+ additionalProperties: false,
305
+ properties: {
306
+ resultKind: { type: 'string' },
307
+ framework: { type: 'string' },
308
+ packageName: { type: 'string' },
309
+ ownerName: { type: ['string', 'null'] },
310
+ symbolName: { type: 'string' },
311
+ },
312
+ required: ['resultKind', 'framework', 'packageName', 'ownerName', 'symbolName'],
313
+ },
314
+ },
315
+ },
316
+ required: [
317
+ 'query',
318
+ 'effectiveKotlinVersion',
319
+ 'effectiveTarget',
320
+ 'detailLevel',
321
+ 'resultKind',
322
+ 'classCard',
323
+ 'memberCard',
324
+ 'alternatives',
325
+ ],
326
+ });
327
+ const rebuildOutputSchema = fromJsonSchema({
328
+ type: 'object',
329
+ additionalProperties: false,
330
+ properties: {
331
+ kotlinVersion: { type: 'string' },
332
+ target: { type: 'string' },
333
+ selectedFrameworks: stringArraySchema,
334
+ rebuiltFrameworks: stringArraySchema,
335
+ skippedFrameworks: stringArraySchema,
336
+ dryRun: { type: 'boolean' },
337
+ indexedAt: { type: ['string', 'null'] },
338
+ totalRecordsWritten: { type: 'integer' },
339
+ reports: {
340
+ type: 'array',
341
+ items: {
342
+ type: 'object',
343
+ additionalProperties: false,
344
+ properties: {
345
+ framework: { type: 'string' },
346
+ action: { type: 'string' },
347
+ lineCount: { type: 'integer' },
348
+ symbolCount: { type: 'integer' },
349
+ reason: { type: 'string' },
350
+ },
351
+ required: ['framework', 'action', 'lineCount', 'symbolCount'],
352
+ },
353
+ },
354
+ },
355
+ required: [
356
+ 'kotlinVersion',
357
+ 'target',
358
+ 'selectedFrameworks',
359
+ 'rebuiltFrameworks',
360
+ 'skippedFrameworks',
361
+ 'dryRun',
362
+ 'indexedAt',
363
+ 'totalRecordsWritten',
364
+ 'reports',
365
+ ],
366
+ });
367
+ const statusOutputSchema = fromJsonSchema({
368
+ type: 'object',
369
+ additionalProperties: false,
370
+ properties: {
371
+ ready: { type: 'boolean' },
372
+ discoveredInstallations: {
373
+ type: 'array',
374
+ items: {
375
+ type: 'object',
376
+ additionalProperties: false,
377
+ properties: {
378
+ kotlinVersion: { type: 'string' },
379
+ availableTargets: stringArraySchema,
380
+ sources: stringArraySchema,
381
+ },
382
+ required: ['kotlinVersion', 'availableTargets', 'sources'],
383
+ },
384
+ },
385
+ indexedDatasets: {
386
+ type: 'array',
387
+ items: {
388
+ type: 'object',
389
+ additionalProperties: false,
390
+ properties: {
391
+ kotlinVersion: { type: 'string' },
392
+ target: { type: 'string' },
393
+ indexedAt: { type: 'string' },
394
+ recordCount: { type: 'integer' },
395
+ frameworkCount: { type: 'integer' },
396
+ frameworks: stringArraySchema,
397
+ },
398
+ required: [
399
+ 'kotlinVersion',
400
+ 'target',
401
+ 'indexedAt',
402
+ 'recordCount',
403
+ 'frameworkCount',
404
+ 'frameworks',
405
+ ],
406
+ },
407
+ },
408
+ recordCounts: {
409
+ type: 'object',
410
+ additionalProperties: false,
411
+ properties: {
412
+ datasets: { type: 'integer' },
413
+ frameworks: { type: 'integer' },
414
+ symbols: { type: 'integer' },
415
+ },
416
+ required: ['datasets', 'frameworks', 'symbols'],
417
+ },
418
+ lastRebuildAt: { type: ['string', 'null'] },
419
+ },
420
+ required: ['ready', 'discoveredInstallations', 'indexedDatasets', 'recordCounts', 'lastRebuildAt'],
421
+ });
422
+ export function registerTools(server, service) {
423
+ server.registerTool('lookup_symbol', {
424
+ description: 'Resolve a Kotlin/Native Apple platform class or member into a development card. Compact detail is returned by default; set detail=full to include the full class surface.',
425
+ inputSchema: lookupInputSchema,
426
+ outputSchema: lookupOutputSchema,
427
+ }, async (args) => handleToolCall(() => service.lookup(args), formatLookupSummary));
428
+ server.registerTool('rebuild_klib_index', {
429
+ description: 'Build or refresh the local Kotlin/Native klib index. By default, the server picks the latest discovered installation and a preferred iOS target.',
430
+ inputSchema: rebuildInputSchema,
431
+ outputSchema: rebuildOutputSchema,
432
+ }, async (args) => handleToolCall(() => service.rebuild(args), formatRebuildSummary));
433
+ server.registerTool('get_klib_index_status', {
434
+ description: 'Return a compact summary of discovered Kotlin/Native installations, indexed datasets, counts, and last rebuild time.',
435
+ inputSchema: emptyObjectSchema,
436
+ outputSchema: statusOutputSchema,
437
+ }, async () => handleToolCall(() => service.getStatus(), formatStatusSummary));
438
+ }
439
+ async function handleToolCall(action, formatSummary) {
440
+ try {
441
+ const result = await action();
442
+ return {
443
+ content: [{ type: 'text', text: formatSummary(result) }],
444
+ structuredContent: result,
445
+ };
446
+ }
447
+ catch (error) {
448
+ return {
449
+ isError: true,
450
+ content: [{ type: 'text', text: toErrorMessage(error) }],
451
+ };
452
+ }
453
+ }
454
+ function formatLookupSummary(result) {
455
+ switch (result.resultKind) {
456
+ case 'class':
457
+ if (result.classCard?.detailLevel === 'compact') {
458
+ return `Resolved class ${result.classCard.qualifiedName} in compact mode with ${result.classCard.properties.length} propert(ies), ${result.classCard.methods.length} method group(s), ${result.classCard.classMethods.length} class method group(s), and ${result.classCard.constructors.length} constructor group(s).`;
459
+ }
460
+ return `Resolved class ${result.classCard?.qualifiedName} in full mode with ${result.classCard?.constructors.length ?? 0}/${result.classCard?.totalConstructors ?? 0} constructor(s), ${result.classCard?.members.length ?? 0}/${result.classCard?.totalMembers ?? 0} member(s), and ${result.classCard?.classMembers.length ?? 0}/${result.classCard?.totalClassMembers ?? 0} class member(s).`;
461
+ case 'member':
462
+ if (result.memberCard?.detailLevel === 'compact') {
463
+ return `Resolved ${result.memberCard.kind} ${result.memberCard.ownerQualifiedName}.${result.memberCard.name} in compact mode with ${result.memberCard.kotlinSignatures.length} signature(s).`;
464
+ }
465
+ return `Resolved member ${result.memberCard?.ownerQualifiedName}.${result.memberCard?.name} in full mode with ${result.memberCard?.entries.length ?? 0}/${result.memberCard?.totalEntries ?? 0} signature(s).`;
466
+ case 'ambiguous':
467
+ return `Query "${result.query}" is ambiguous. ${result.alternatives.length} candidate(s) returned.`;
468
+ case 'not_found':
469
+ default:
470
+ return `No symbol matched "${result.query}".`;
471
+ }
472
+ }
473
+ function formatRebuildSummary(result) {
474
+ if (result.dryRun) {
475
+ return `Dry run complete for ${result.kotlinVersion} ${result.target}: ${result.rebuiltFrameworks.length} framework(s) would rebuild and ${result.skippedFrameworks.length} would be skipped.`;
476
+ }
477
+ return `Rebuild complete for ${result.kotlinVersion} ${result.target}: ${result.rebuiltFrameworks.length} framework(s) rebuilt, ${result.totalRecordsWritten} symbol record(s) written.`;
478
+ }
479
+ function formatStatusSummary(result) {
480
+ return `Index ready: ${result.ready}. Datasets: ${result.recordCounts.datasets}, frameworks: ${result.recordCounts.frameworks}, symbols: ${result.recordCounts.symbols}.`;
481
+ }
482
+ function toErrorMessage(error) {
483
+ if (error instanceof Error) {
484
+ return error.message;
485
+ }
486
+ return String(error);
487
+ }
488
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}