@backendkit-labs/mcp-server 0.14.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 (81) hide show
  1. package/dist/agent-server.d.ts +88 -0
  2. package/dist/agent-server.d.ts.map +1 -0
  3. package/dist/agent-server.js +149 -0
  4. package/dist/agent-server.js.map +1 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +6 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/indexer/graph-store.d.ts +48 -0
  10. package/dist/indexer/graph-store.d.ts.map +1 -0
  11. package/dist/indexer/graph-store.js +233 -0
  12. package/dist/indexer/graph-store.js.map +1 -0
  13. package/dist/indexer/indexer.d.ts +17 -0
  14. package/dist/indexer/indexer.d.ts.map +1 -0
  15. package/dist/indexer/indexer.js +180 -0
  16. package/dist/indexer/indexer.js.map +1 -0
  17. package/dist/indexer/languages/go.d.ts +2 -0
  18. package/dist/indexer/languages/go.d.ts.map +1 -0
  19. package/dist/indexer/languages/go.js +36 -0
  20. package/dist/indexer/languages/go.js.map +1 -0
  21. package/dist/indexer/languages/index.d.ts +27 -0
  22. package/dist/indexer/languages/index.d.ts.map +1 -0
  23. package/dist/indexer/languages/index.js +25 -0
  24. package/dist/indexer/languages/index.js.map +1 -0
  25. package/dist/indexer/languages/java.d.ts +2 -0
  26. package/dist/indexer/languages/java.d.ts.map +1 -0
  27. package/dist/indexer/languages/java.js +39 -0
  28. package/dist/indexer/languages/java.js.map +1 -0
  29. package/dist/indexer/languages/python.d.ts +2 -0
  30. package/dist/indexer/languages/python.d.ts.map +1 -0
  31. package/dist/indexer/languages/python.js +41 -0
  32. package/dist/indexer/languages/python.js.map +1 -0
  33. package/dist/indexer/languages/rust.d.ts +2 -0
  34. package/dist/indexer/languages/rust.d.ts.map +1 -0
  35. package/dist/indexer/languages/rust.js +49 -0
  36. package/dist/indexer/languages/rust.js.map +1 -0
  37. package/dist/indexer/languages/typescript.d.ts +2 -0
  38. package/dist/indexer/languages/typescript.d.ts.map +1 -0
  39. package/dist/indexer/languages/typescript.js +47 -0
  40. package/dist/indexer/languages/typescript.js.map +1 -0
  41. package/dist/indexer/languages/utils.d.ts +2 -0
  42. package/dist/indexer/languages/utils.d.ts.map +1 -0
  43. package/dist/indexer/languages/utils.js +52 -0
  44. package/dist/indexer/languages/utils.js.map +1 -0
  45. package/dist/indexer/parser.d.ts +24 -0
  46. package/dist/indexer/parser.d.ts.map +1 -0
  47. package/dist/indexer/parser.js +136 -0
  48. package/dist/indexer/parser.js.map +1 -0
  49. package/dist/indexer/stack-detector.d.ts +3 -0
  50. package/dist/indexer/stack-detector.d.ts.map +1 -0
  51. package/dist/indexer/stack-detector.js +63 -0
  52. package/dist/indexer/stack-detector.js.map +1 -0
  53. package/dist/indexer/watcher.d.ts +8 -0
  54. package/dist/indexer/watcher.d.ts.map +1 -0
  55. package/dist/indexer/watcher.js +83 -0
  56. package/dist/indexer/watcher.js.map +1 -0
  57. package/dist/server.d.ts +3 -0
  58. package/dist/server.d.ts.map +1 -0
  59. package/dist/server.js +308 -0
  60. package/dist/server.js.map +1 -0
  61. package/dist/tools/code/context.d.ts +23 -0
  62. package/dist/tools/code/context.d.ts.map +1 -0
  63. package/dist/tools/code/context.js +93 -0
  64. package/dist/tools/code/context.js.map +1 -0
  65. package/dist/tools/code/search.d.ts +15 -0
  66. package/dist/tools/code/search.d.ts.map +1 -0
  67. package/dist/tools/code/search.js +40 -0
  68. package/dist/tools/code/search.js.map +1 -0
  69. package/dist/tools/skills/install.d.ts +11 -0
  70. package/dist/tools/skills/install.d.ts.map +1 -0
  71. package/dist/tools/skills/install.js +33 -0
  72. package/dist/tools/skills/install.js.map +1 -0
  73. package/dist/tools/skills/list.d.ts +9 -0
  74. package/dist/tools/skills/list.d.ts.map +1 -0
  75. package/dist/tools/skills/list.js +34 -0
  76. package/dist/tools/skills/list.js.map +1 -0
  77. package/dist/tools/skills/search.d.ts +11 -0
  78. package/dist/tools/skills/search.d.ts.map +1 -0
  79. package/dist/tools/skills/search.js +44 -0
  80. package/dist/tools/skills/search.js.map +1 -0
  81. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { GraphStore } from '../../indexer/graph-store';
2
+ export interface ContextSymbol {
3
+ name: string;
4
+ kind: string;
5
+ language: string;
6
+ filePath: string;
7
+ startLine: number;
8
+ endLine: number;
9
+ signature: string;
10
+ snippet: string;
11
+ calledBy: string[];
12
+ calls: string[];
13
+ }
14
+ export interface CodeContext {
15
+ task: string;
16
+ symbols: ContextSymbol[];
17
+ stats: {
18
+ searched: number;
19
+ returned: number;
20
+ };
21
+ }
22
+ export declare function codeContext(task: string, store: GraphStore, maxSymbols?: number): Promise<CodeContext>;
23
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/tools/code/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,2BAA2B,CAAC;AAGrE,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAkBD,wBAAsB,WAAW,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,EACjB,UAAU,SAAK,GAChB,OAAO,CAAC,WAAW,CAAC,CA2CtB"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.codeContext = codeContext;
37
+ const fs = __importStar(require("fs/promises"));
38
+ const search_1 = require("./search");
39
+ async function readSnippet(filePath, startLine, endLine) {
40
+ try {
41
+ const content = await fs.readFile(filePath, 'utf-8');
42
+ const lines = content.split('\n');
43
+ const from = Math.max(0, startLine - 1);
44
+ const to = Math.min(lines.length, endLine);
45
+ return lines.slice(from, to).join('\n');
46
+ }
47
+ catch {
48
+ return '';
49
+ }
50
+ }
51
+ function resolveNodeName(store, nodeId) {
52
+ return store.getNode(nodeId)?.name ?? nodeId.slice(0, 8);
53
+ }
54
+ async function codeContext(task, store, maxSymbols = 10) {
55
+ const results = (0, search_1.codeSearch)(task, store, maxSymbols * 2);
56
+ // Deduplicate by file+name, keep highest ranked
57
+ const seen = new Set();
58
+ const top = [];
59
+ for (const r of results) {
60
+ const key = `${r.filePath}::${r.name}`;
61
+ if (!seen.has(key)) {
62
+ seen.add(key);
63
+ top.push(r);
64
+ if (top.length >= maxSymbols)
65
+ break;
66
+ }
67
+ }
68
+ const symbols = await Promise.all(top.map(async (r) => {
69
+ const [snippet, outEdges, inEdges] = await Promise.all([
70
+ readSnippet(r.filePath, r.startLine, r.endLine),
71
+ Promise.resolve(store.getOutgoingEdges(r.id)),
72
+ Promise.resolve(store.getIncomingEdges(r.id)),
73
+ ]);
74
+ return {
75
+ name: r.name,
76
+ kind: r.kind,
77
+ language: r.language,
78
+ filePath: r.filePath,
79
+ startLine: r.startLine,
80
+ endLine: r.endLine,
81
+ signature: r.signature,
82
+ snippet: snippet.slice(0, 2000),
83
+ calls: outEdges.map(e => resolveNodeName(store, e.target_id)),
84
+ calledBy: inEdges.map(e => resolveNodeName(store, e.source_id)),
85
+ };
86
+ }));
87
+ return {
88
+ task,
89
+ symbols,
90
+ stats: { searched: results.length, returned: symbols.length },
91
+ };
92
+ }
93
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/tools/code/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { GraphStore } from '../../indexer/graph-store';
2
+ export interface CodeSearchResult {
3
+ id: string;
4
+ name: string;
5
+ qualifiedName: string;
6
+ kind: string;
7
+ language: string;
8
+ filePath: string;
9
+ startLine: number;
10
+ endLine: number;
11
+ signature: string;
12
+ exported: boolean;
13
+ }
14
+ export declare function codeSearch(query: string, store: GraphStore, limit?: number): CodeSearchResult[];
15
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/tools/code/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,2BAA2B,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,UAAU,EACjB,KAAK,SAAK,GACX,gBAAgB,EAAE,CAkCpB"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.codeSearch = codeSearch;
4
+ function codeSearch(query, store, limit = 20) {
5
+ const sanitized = query.trim().replace(/[^a-zA-Z0-9_\-. ]/g, ' ').trim();
6
+ if (!sanitized)
7
+ return [];
8
+ const terms = sanitized.split(/\s+/).filter(t => t.length > 2);
9
+ if (terms.length === 0)
10
+ return [];
11
+ let rows;
12
+ try {
13
+ // Multi-word: try AND first, fall back to OR so partial matches surface
14
+ rows = store.search(sanitized, limit);
15
+ if (rows.length === 0 && terms.length > 1) {
16
+ rows = store.search(terms.join(' OR '), limit);
17
+ }
18
+ }
19
+ catch {
20
+ try {
21
+ rows = store.search(terms.join(' OR '), limit);
22
+ }
23
+ catch {
24
+ rows = [];
25
+ }
26
+ }
27
+ return rows.map(r => ({
28
+ id: r.id,
29
+ name: r.name,
30
+ qualifiedName: r.qualified_name,
31
+ kind: r.kind,
32
+ language: r.language,
33
+ filePath: r.file_path,
34
+ startLine: r.start_line,
35
+ endLine: r.end_line,
36
+ signature: r.signature,
37
+ exported: r.exported === 1,
38
+ }));
39
+ }
40
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/code/search.ts"],"names":[],"mappings":";;AAeA,gCAsCC;AAtCD,SAAgB,UAAU,CACtB,KAAa,EACb,KAAiB,EACjB,KAAK,GAAG,EAAE;IAEV,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAE1B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,IAAI,IAAoB,CAAC;IACzB,IAAI,CAAC;QACD,wEAAwE;QACxE,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,GAAG,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClB,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,aAAa,EAAE,CAAC,CAAC,cAAc;QAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,OAAO,EAAE,CAAC,CAAC,QAAQ;QACnB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,CAAC;KAC7B,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface InstallResult {
2
+ ok: boolean;
3
+ pack: string;
4
+ skillsInstalled: number;
5
+ error?: string;
6
+ }
7
+ export declare function skillsInstall(source: string, appName: string, options?: {
8
+ skill?: string;
9
+ pack?: string;
10
+ }): Promise<InstallResult>;
11
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/tools/skills/install.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,aAAa,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAChD,OAAO,CAAC,aAAa,CAAC,CAqBxB"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.skillsInstall = skillsInstall;
4
+ const agent_core_1 = require("@backendkit-labs/agent-core");
5
+ async function skillsInstall(source, appName, options = {}) {
6
+ const manager = (0, agent_core_1.createSkillManager)(appName);
7
+ try {
8
+ await manager.install(source, options);
9
+ const packs = await manager.list();
10
+ const packName = options.pack ?? derivePackName(source);
11
+ const installed = packs.find((p) => p.pack === packName);
12
+ return {
13
+ ok: true,
14
+ pack: packName,
15
+ skillsInstalled: installed?.skills.length ?? 0,
16
+ };
17
+ }
18
+ catch (e) {
19
+ return {
20
+ ok: false,
21
+ pack: options.pack ?? source,
22
+ skillsInstalled: 0,
23
+ error: e instanceof Error ? e.message : String(e),
24
+ };
25
+ }
26
+ }
27
+ function derivePackName(source) {
28
+ const match = source.match(/github\.com\/([^/]+)\//i);
29
+ if (match)
30
+ return `@${match[1]}`;
31
+ return source;
32
+ }
33
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/tools/skills/install.ts"],"names":[],"mappings":";;AASA,sCAyBC;AAlCD,4DAAiE;AAS1D,KAAK,UAAU,aAAa,CAC/B,MAAc,EACd,OAAe,EACf,UAA6C,EAAE;IAE/C,MAAM,OAAO,GAAG,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC;QACD,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC3E,OAAO;YACH,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;SACjD,CAAC;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO;YACH,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;YAC5B,eAAe,EAAE,CAAC;YAClB,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;SACpD,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtD,IAAI,KAAK;QAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface PackSummary {
2
+ pack: string;
3
+ source: string;
4
+ installedAt: string;
5
+ skills: string[];
6
+ builtin: boolean;
7
+ }
8
+ export declare function skillsList(appName: string): Promise<PackSummary[]>;
9
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/tools/skills/list.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA8BxE"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.skillsList = skillsList;
4
+ const agent_core_1 = require("@backendkit-labs/agent-core");
5
+ const agent_coding_1 = require("@backendkit-labs/agent-coding");
6
+ async function skillsList(appName) {
7
+ const manager = new agent_core_1.SkillManager(appName);
8
+ const installed = await manager.list();
9
+ const builtins = [
10
+ {
11
+ pack: '@bk/global',
12
+ source: 'builtin',
13
+ installedAt: '-',
14
+ skills: agent_coding_1.GLOBAL_BUILTIN_SKILLS.map((s) => s.name),
15
+ builtin: true,
16
+ },
17
+ {
18
+ pack: '@bk-node',
19
+ source: 'builtin',
20
+ installedAt: '-',
21
+ skills: agent_coding_1.NODE_PACK_SKILLS.map((s) => s.name),
22
+ builtin: true,
23
+ },
24
+ ];
25
+ const external = installed.map((p) => ({
26
+ pack: p.pack,
27
+ source: p.source,
28
+ installedAt: p.installedAt,
29
+ skills: p.skills,
30
+ builtin: false,
31
+ }));
32
+ return [...builtins, ...external];
33
+ }
34
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/tools/skills/list.ts"],"names":[],"mappings":";;AAYA,gCA8BC;AA1CD,4DAA2D;AAC3D,gEAAwF;AAWjF,KAAK,UAAU,UAAU,CAAC,OAAe;IAC5C,MAAM,OAAO,GAAG,IAAI,yBAAY,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAEvC,MAAM,QAAQ,GAAkB;QAC5B;YACI,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,GAAG;YAChB,MAAM,EAAE,oCAAqB,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,OAAO,EAAE,IAAI;SAChB;QACD;YACI,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,GAAG;YAChB,MAAM,EAAE,+BAAgB,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,OAAO,EAAE,IAAI;SAChB;KACJ,CAAC;IAEF,MAAM,QAAQ,GAAkB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface SkillSearchResult {
2
+ name: string;
3
+ description: string;
4
+ scope: string;
5
+ pack?: string;
6
+ language?: string[];
7
+ triggers: string[];
8
+ active: boolean;
9
+ }
10
+ export declare function skillsSearch(query: string, cwd: string, appName: string): Promise<SkillSearchResult[]>;
11
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/tools/skills/search.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,YAAY,CAC9B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2C9B"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.skillsSearch = skillsSearch;
4
+ const agent_core_1 = require("@backendkit-labs/agent-core");
5
+ const agent_coding_1 = require("@backendkit-labs/agent-coding");
6
+ async function skillsSearch(query, cwd, appName) {
7
+ const loader = new agent_core_1.SkillLoader(appName);
8
+ const activator = new agent_core_1.SkillActivator();
9
+ const [loaded, detectedStack] = await Promise.all([
10
+ loader.loadAll(cwd),
11
+ activator.detectStack(cwd),
12
+ ]);
13
+ const allSkills = [
14
+ ...agent_coding_1.GLOBAL_BUILTIN_SKILLS,
15
+ ...agent_coding_1.NODE_PACK_SKILLS,
16
+ ...loaded.global,
17
+ ...loaded.packs,
18
+ ...loaded.project,
19
+ ];
20
+ const activeSkills = activator.activate(query, allSkills, detectedStack);
21
+ const activeNames = new Set(activeSkills.map((s) => s.name));
22
+ const lowerQuery = query.toLowerCase();
23
+ const matched = allSkills.filter((skill) => skill.name.toLowerCase().includes(lowerQuery) ||
24
+ skill.description.toLowerCase().includes(lowerQuery) ||
25
+ skill.triggers.some((t) => t.toLowerCase().includes(lowerQuery)));
26
+ const seen = new Set();
27
+ return matched
28
+ .filter((skill) => {
29
+ if (seen.has(skill.name))
30
+ return false;
31
+ seen.add(skill.name);
32
+ return true;
33
+ })
34
+ .map((skill) => ({
35
+ name: skill.name,
36
+ description: skill.description,
37
+ scope: skill.scope ?? 'global',
38
+ pack: skill.pack,
39
+ language: skill.language,
40
+ triggers: skill.triggers,
41
+ active: activeNames.has(skill.name),
42
+ }));
43
+ }
44
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/tools/skills/search.ts"],"names":[],"mappings":";;AAcA,oCA+CC;AA7DD,4DAA0E;AAC1E,gEAAwF;AAajF,KAAK,UAAU,YAAY,CAC9B,KAAa,EACb,GAAW,EACX,OAAe;IAEf,MAAM,MAAM,GAAG,IAAI,wBAAW,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,2BAAc,EAAE,CAAC;IAEvC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACnB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;KAC7B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAY;QACvB,GAAG,oCAAqB;QACxB,GAAG,+BAAgB;QACnB,GAAG,MAAM,CAAC,MAAM;QAChB,GAAG,MAAM,CAAC,KAAK;QACf,GAAG,MAAM,CAAC,OAAO;KACpB,CAAC;IAEF,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAY,EAAE,EAAE,CAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC7C,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACpD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAC3E,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,OAAO;SACT,MAAM,CAAC,CAAC,KAAY,EAAE,EAAE;QACrB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ;QAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;KACtC,CAAC,CAAC,CAAC;AACZ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@backendkit-labs/mcp-server",
3
+ "version": "0.14.0",
4
+ "description": "MCP server for agent-framework — skills, code intelligence, agent context",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "bk-mcp": "./dist/server.js"
9
+ },
10
+ "files": ["dist/", "README.md"],
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/BackendKit-labs/backendkit-agent-framework.git",
14
+ "directory": "packages/mcp-server"
15
+ },
16
+ "publishConfig": { "access": "public" },
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "dev": "tsc --watch",
20
+ "typecheck": "tsc --noEmit",
21
+ "start": "node dist/server.js",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "dependencies": {
25
+ "@backendkit-labs/agent-core": "*",
26
+ "@backendkit-labs/agent-coding": "*",
27
+ "@modelcontextprotocol/sdk": "^1.12.0",
28
+ "better-sqlite3": "^12.10.0",
29
+ "chokidar": "^5.0.0",
30
+ "tree-sitter-wasms": "^0.1.13",
31
+ "web-tree-sitter": "^0.20.8"
32
+ },
33
+ "devDependencies": {
34
+ "@types/better-sqlite3": "^7.6.13",
35
+ "@types/chokidar": "^1.7.5",
36
+ "@types/node": "^20.0.0",
37
+ "typescript": "^5.4.0"
38
+ },
39
+ "engines": {
40
+ "node": ">=20.0.0"
41
+ }
42
+ }