@backendkit-labs/mcp-server 0.16.0 → 0.16.2

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.
package/README.md CHANGED
@@ -1,55 +1,324 @@
1
1
  # @backendkit-labs/mcp-server
2
2
 
3
- MCP server for the BackendKit agent framework — exposes skills, code intelligence, and agent context via the Model Context Protocol.
3
+ MCP (Model Context Protocol) server that exposes code intelligence, skills management, and project context as tools for any MCP-compatible AI client (Claude Desktop, agent-core, Cursor, etc.).
4
4
 
5
- ## Usage with Claude Desktop / Cursor / VS Code
5
+ [![npm](https://img.shields.io/npm/v/@backendkit-labs/mcp-server)](https://www.npmjs.com/package/@backendkit-labs/mcp-server)
6
6
 
7
- Add to your MCP client configuration:
7
+ > **Status: `stable`** — Maintained and production-ready. No new features during the pilot phase.
8
+
9
+ ## Table of contents
10
+
11
+ - [Installation](#installation)
12
+ - [Running the server](#running-the-server)
13
+ - [Tools reference](#tools-reference)
14
+ - [Code intelligence index](#code-intelligence-index)
15
+ - [Connecting via agent-core](#connecting-via-agent-core)
16
+ - [Connecting via Claude Desktop](#connecting-via-claude-desktop)
17
+ - [HTTP mode](#http-mode)
18
+ - [Environment variables](#environment-variables)
19
+
20
+ ---
21
+
22
+ ## Installation
23
+
24
+ ```bash
25
+ npm install -g @backendkit-labs/mcp-server
26
+ # or use via npx:
27
+ npx @backendkit-labs/mcp-server
28
+ ```
29
+
30
+ Binary: `bk-mcp`
31
+
32
+ ---
33
+
34
+ ## Running the server
35
+
36
+ ### Stdio mode (default — for Claude Desktop, agent-core)
37
+
38
+ ```bash
39
+ bk-mcp
40
+
41
+ # Against a specific project
42
+ BK_CWD=/my-project bk-mcp
43
+
44
+ # With a custom app name
45
+ BK_APP_NAME=my-app BK_CWD=/my-project bk-mcp
46
+ ```
47
+
48
+ ### HTTP mode (multi-session)
49
+
50
+ ```bash
51
+ bk-mcp --http --port 3100
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Tools reference
57
+
58
+ ### `stack_detect`
59
+
60
+ Detect the project's technology stack using file detection and the code index.
61
+
62
+ ```
63
+ Args:
64
+ cwd string? Project directory (defaults to server cwd)
65
+ ```
66
+
67
+ **Example:**
68
+ ```
69
+ What stack does this project use?
70
+ → stack_detect()
71
+ → "Detected stack: typescript, node, react, docker"
72
+ ```
73
+
74
+ ---
75
+
76
+ ### `code_index`
77
+
78
+ Index the codebase into a SQLite graph database. Incremental — only re-indexes changed files.
79
+
80
+ ```
81
+ Args:
82
+ cwd string? Project directory
83
+ watch boolean? Enable file watcher for live updates (default: false)
84
+ ```
85
+
86
+ **Example:**
87
+ ```
88
+ Index this codebase
89
+ → code_index({ watch: true })
90
+ → "Indexed 234 files, 4,821 symbols. File watcher enabled."
91
+ ```
92
+
93
+ **What gets indexed:** functions, classes, interfaces, types, enums from TypeScript/JS/Go/Python/Java/Kotlin. Callers and callees are recorded for each symbol (call graph).
94
+
95
+ ---
96
+
97
+ ### `code_search`
98
+
99
+ Search for symbols by name or keyword.
100
+
101
+ ```
102
+ Args:
103
+ query string Symbol name or keyword
104
+ limit number? Max results (default 20)
105
+ ```
106
+
107
+ **Example:**
108
+ ```
109
+ Where is TokenValidator defined?
110
+ → code_search({ query: "TokenValidator" })
111
+ → "**TokenValidator** (class) — src/auth/token-validator.ts:15
112
+ class TokenValidator { validate(token: string): DecodedToken | null }"
113
+ ```
114
+
115
+ **Fuzzy search:**
116
+ ```
117
+ All functions related to payment
118
+ → code_search({ query: "payment", limit: 30 })
119
+ → PaymentProcessor, processPayment, validatePayment, createPaymentIntent, ...
120
+ ```
121
+
122
+ ---
123
+
124
+ ### `code_context`
125
+
126
+ Given a task description, find the most relevant symbols and return their code, callers, and callees. Bootstraps context for a coding task without manual file reading.
127
+
128
+ ```
129
+ Args:
130
+ task string Task or feature description
131
+ max_symbols number? Max symbols (default 10)
132
+ ```
133
+
134
+ **Example:**
135
+ ```
136
+ I need to add rate limiting to the login endpoint
137
+ → code_context({ task: "add rate limiting to login endpoint" })
138
+ →
139
+ ### loginHandler (function) — src/routes/auth.ts:67-89
140
+ > calledBy: router.post | calls: validateCredentials, createSession
141
+ \`\`\`typescript
142
+ async function loginHandler(req: Request, res: Response) {
143
+ const { email, password } = req.body;
144
+ ...
145
+ }
146
+ \`\`\`
147
+ ```
148
+
149
+ The agent immediately knows which files and symbols are relevant.
150
+
151
+ ---
152
+
153
+ ### `skills_search`
154
+
155
+ Search available skills by query.
156
+
157
+ ```
158
+ Args:
159
+ query string Search term
160
+ cwd string? Project directory for stack detection
161
+ ```
162
+
163
+ **Example:**
164
+ ```
165
+ Find skills for TypeScript testing
166
+ → skills_search({ query: "typescript testing" })
167
+ → "- **ts-jest-setup** ✓ [global, typescript, ACTIVE]
168
+ Configure Jest for TypeScript with proper transforms
169
+ - **vitest-config** [node, typescript]
170
+ Set up Vitest for unit testing"
171
+ ```
172
+
173
+ `✓` means the skill matches the detected stack.
174
+
175
+ ---
176
+
177
+ ### `skills_install`
178
+
179
+ Install a skill pack from GitHub or a local path.
180
+
181
+ ```
182
+ Args:
183
+ source string GitHub URL or local path
184
+ skill string? Install only a specific skill
185
+ pack string? Override the derived pack name
186
+ ```
187
+
188
+ **Example:**
189
+ ```
190
+ Install our company skills repo
191
+ → skills_install({ source: "https://github.com/my-org/agent-skills" })
192
+ → "Installed pack "backend" with 12 skill(s)."
193
+ ```
194
+
195
+ ---
196
+
197
+ ### `skills_list`
198
+
199
+ List all installed skill packs.
200
+
201
+ ```
202
+ Args: (none)
203
+ ```
204
+
205
+ **Example:**
206
+ ```
207
+ What packs are installed?
208
+ → skills_list()
209
+ → "**global** (builtin)
210
+ Skills: code-review, refactor-pattern, ...
211
+ **my-org-backend** (installed 2026-06-01)
212
+ Skills: stripe-integration, postgres-pattern, ..."
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Code intelligence index
218
+
219
+ The indexer uses **Tree-sitter** (WASM) to parse source code into a SQLite graph with symbols and their relationships. Storage location:
220
+
221
+ ```
222
+ ~/.{BK_APP_NAME}/code-index/{base64url(CWD)}.db
223
+ ```
224
+
225
+ Default: `~/.deepseek-code/code-index/{hash}.db`
226
+
227
+ Supported languages: TypeScript, JavaScript, Go, Python, Java, Kotlin, Rust.
228
+
229
+ ---
230
+
231
+ ## Connecting via agent-core
232
+
233
+ ```typescript
234
+ import { createCodingEngine } from '@backendkit-labs/agent-coding';
235
+
236
+ const engine = createCodingEngine({
237
+ providers: { deepseek: { apiKey: process.env.DEEPSEEK_API_KEY! } },
238
+ defaultProvider: 'deepseek',
239
+ mcpServers: [
240
+ {
241
+ name: 'code-intelligence',
242
+ command: 'bk-mcp',
243
+ args: [],
244
+ env: {
245
+ BK_APP_NAME: 'my-app',
246
+ BK_CWD: process.cwd(),
247
+ },
248
+ },
249
+ ],
250
+ subAgentContextMessages: 20,
251
+ });
252
+
253
+ // Index then query
254
+ await engine.run('Index this codebase');
255
+ await engine.run('Find all functions that directly access the database without using the repository layer');
256
+ ```
257
+
258
+ ---
259
+
260
+ ## Connecting via Claude Desktop
261
+
262
+ Add to your Claude Desktop config:
263
+
264
+ **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
265
+ **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
8
266
 
9
267
  ```json
10
268
  {
11
269
  "mcpServers": {
12
- "bk-agent": {
13
- "command": "npx",
14
- "args": ["-y", "@backendkit-labs/mcp-server"],
270
+ "bk-code": {
271
+ "command": "bk-mcp",
15
272
  "env": {
16
- "BK_APP_NAME": "my-app",
17
- "BK_CWD": "/path/to/your/project"
273
+ "BK_APP_NAME": "claude-code",
274
+ "BK_CWD": "/path/to/your/project"
18
275
  }
19
276
  }
20
277
  }
21
278
  }
22
279
  ```
23
280
 
24
- ## Available tools
281
+ Restart Claude Desktop — the tools will appear in the tool picker.
25
282
 
26
- | Tool | Description |
27
- |------|-------------|
28
- | `skills_search` | Search loaded skills by keyword |
29
- | `skills_install` | Install a skill pack from GitHub or local path |
30
- | `skills_list` | List all loaded skills |
31
- | `code_search` | Full-text search across the project codebase |
32
- | `code_context` | Get code context around a symbol or file |
33
- | `code_index` | Trigger a full re-index of the project |
34
- | `stack_detect` | Detect the project's technology stack |
283
+ ### Multiple projects
35
284
 
36
- ## Environment variables
285
+ ```json
286
+ {
287
+ "mcpServers": {
288
+ "bk-api": {
289
+ "command": "bk-mcp",
290
+ "env": { "BK_CWD": "/projects/api-server", "BK_APP_NAME": "claude-code" }
291
+ },
292
+ "bk-frontend": {
293
+ "command": "bk-mcp",
294
+ "env": { "BK_CWD": "/projects/frontend", "BK_APP_NAME": "claude-code" }
295
+ }
296
+ }
297
+ }
298
+ ```
37
299
 
38
- | Variable | Default | Description |
39
- |----------|---------|-------------|
40
- | `BK_APP_NAME` | `deepseek-code` | App name for `~/.{appName}/` data directory |
41
- | `BK_CWD` | `process.cwd()` | Project directory to index and serve |
300
+ ---
42
301
 
43
- ## Run directly
302
+ ## HTTP mode
44
303
 
45
304
  ```bash
46
- # stdio mode (for MCP clients)
47
- npx @backendkit-labs/mcp-server
305
+ BK_CWD=/my-project bk-mcp --http --port 3100
306
+ ```
48
307
 
49
- # HTTP mode (port 3100 by default)
50
- BK_MCP_PORT=3100 npx @backendkit-labs/mcp-server --http
308
+ Connect:
309
+
310
+ ```typescript
311
+ await mcp.connectStreamableHTTP({
312
+ name: 'code-intelligence',
313
+ baseUrl: 'http://localhost:3100',
314
+ });
51
315
  ```
52
316
 
53
- ## License
317
+ ---
318
+
319
+ ## Environment variables
54
320
 
55
- MIT © [BackendKit Labs](https://github.com/BackendKit-labs)
321
+ | Variable | Default | Description |
322
+ |----------|---------|-------------|
323
+ | `BK_APP_NAME` | `deepseek-code` | App name — determines `~/.{name}/` storage |
324
+ | `BK_CWD` | `process.cwd()` | Project directory to index and serve |
@@ -0,0 +1,9 @@
1
+ /**
2
+ * MCP Resources — platform-level resources served by mcp-server.
3
+ *
4
+ * Each resource fetches from director-api at read time and is ABAC-gated
5
+ * via abac-service. URIs follow the director:// scheme defined in ARCHITECTURE.md.
6
+ */
7
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
8
+ export declare function registerPlatformResources(srv: McpServer, bearerToken?: string): void;
9
+ //# sourceMappingURL=platform-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-resources.d.ts","sourceRoot":"","sources":["../../src/resources/platform-resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgEzE,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBpF"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Resources — platform-level resources served by mcp-server.
4
+ *
5
+ * Each resource fetches from director-api at read time and is ABAC-gated
6
+ * via abac-service. URIs follow the director:// scheme defined in ARCHITECTURE.md.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.registerPlatformResources = registerPlatformResources;
10
+ const resource_auth_js_1 = require("./resource-auth.js");
11
+ const DIRECTOR_URL = process.env.DIRECTOR_URL ?? 'http://localhost:4000';
12
+ const DIRECTOR_API_KEY = process.env.DIRECTOR_API_KEY ?? '';
13
+ function directorHeaders() {
14
+ return DIRECTOR_API_KEY ? { 'X-Api-Key': DIRECTOR_API_KEY } : {};
15
+ }
16
+ async function directorGet(path) {
17
+ const res = await fetch(`${DIRECTOR_URL}/api${path}`, {
18
+ headers: directorHeaders(),
19
+ signal: AbortSignal.timeout(5_000),
20
+ });
21
+ if (!res.ok)
22
+ throw new Error(`director-api ${res.status}: ${path}`);
23
+ return res.json();
24
+ }
25
+ const PLATFORM_RESOURCES = [
26
+ {
27
+ uri: 'director://workflows',
28
+ name: 'Active Workflows',
29
+ description: 'Lista de workflows activos en director-api con sus pasos y estado.',
30
+ mimeType: 'application/json',
31
+ fetch: async () => {
32
+ const data = await directorGet('/workflows');
33
+ return JSON.stringify(data, null, 2);
34
+ },
35
+ },
36
+ {
37
+ uri: 'director://agents/health',
38
+ name: 'Agent Health',
39
+ description: 'Estado en tiempo real de todos los agentes desplegados.',
40
+ mimeType: 'application/json',
41
+ fetch: async () => {
42
+ const data = await directorGet('/director/status');
43
+ return JSON.stringify(data, null, 2);
44
+ },
45
+ },
46
+ {
47
+ uri: 'director://deployables',
48
+ name: 'Deployable Catalog',
49
+ description: 'Catálogo completo de deployables (agentes y apps) registrados.',
50
+ mimeType: 'application/json',
51
+ fetch: async () => {
52
+ const data = await directorGet('/deployables');
53
+ return JSON.stringify(data, null, 2);
54
+ },
55
+ },
56
+ ];
57
+ // ── Registration ──────────────────────────────────────────────────────────────
58
+ function registerPlatformResources(srv, bearerToken) {
59
+ for (const def of PLATFORM_RESOURCES) {
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
+ srv.resource(def.name, def.uri, { description: def.description, mimeType: def.mimeType }, async (uri) => {
62
+ // ABAC check — evaluated lazily at read time so the JWT is fresh
63
+ const auth = await (0, resource_auth_js_1.resolveResourceAuth)(bearerToken);
64
+ if (!auth.isAllowed(uri.toString())) {
65
+ throw new Error(`Access denied to resource: ${uri}`);
66
+ }
67
+ const text = await def.fetch();
68
+ return {
69
+ contents: [{ uri: uri.toString(), mimeType: def.mimeType, text }],
70
+ };
71
+ });
72
+ }
73
+ }
74
+ //# sourceMappingURL=platform-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-resources.js","sourceRoot":"","sources":["../../src/resources/platform-resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * MCP Resource authorization — calls abac-service to get allowed URI patterns
3
+ * for a given JWT, then provides a matcher to gate resources/list and resources/read.
4
+ */
5
+ export interface ResourceAuthContext {
6
+ patterns: string[];
7
+ isAllowed(uri: string): boolean;
8
+ }
9
+ export declare function resolveResourceAuth(bearerToken: string | undefined): Promise<ResourceAuthContext>;
10
+ //# sourceMappingURL=resource-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-auth.d.ts","sourceRoot":"","sources":["../../src/resources/resource-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAMD,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2BvG"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Resource authorization — calls abac-service to get allowed URI patterns
4
+ * for a given JWT, then provides a matcher to gate resources/list and resources/read.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.resolveResourceAuth = resolveResourceAuth;
8
+ const ABAC_URL = process.env.ABAC_URL ?? 'http://localhost:3005';
9
+ /** Cache per JWT to avoid hammering abac-service on every resource call. */
10
+ const cache = new Map();
11
+ const CACHE_TTL_MS = 60_000; // 1 minute
12
+ async function resolveResourceAuth(bearerToken) {
13
+ if (!bearerToken)
14
+ return allowAll();
15
+ const token = bearerToken.startsWith('Bearer ') ? bearerToken.slice(7) : bearerToken;
16
+ // Check cache
17
+ const hit = cache.get(token);
18
+ if (hit && hit.expiresAt > Date.now()) {
19
+ return buildContext(hit.patterns);
20
+ }
21
+ try {
22
+ const res = await fetch(`${ABAC_URL}/resources/allowed`, {
23
+ headers: { Authorization: `Bearer ${token}` },
24
+ signal: AbortSignal.timeout(3_000),
25
+ });
26
+ if (!res.ok)
27
+ return denyAll();
28
+ const body = (await res.json());
29
+ const patterns = body.patterns ?? [];
30
+ cache.set(token, { patterns, expiresAt: Date.now() + CACHE_TTL_MS });
31
+ return buildContext(patterns);
32
+ }
33
+ catch {
34
+ // abac-service unreachable → fail open (allow) in dev, fail closed in prod
35
+ const isDev = (process.env.NODE_ENV ?? 'development') === 'development';
36
+ return isDev ? allowAll() : denyAll();
37
+ }
38
+ }
39
+ function buildContext(patterns) {
40
+ return {
41
+ patterns,
42
+ isAllowed: (uri) => patterns.some(p => matchesPattern(p, uri)),
43
+ };
44
+ }
45
+ function allowAll() {
46
+ return { patterns: ['**'], isAllowed: () => true };
47
+ }
48
+ function denyAll() {
49
+ return { patterns: [], isAllowed: () => false };
50
+ }
51
+ /** Glob-style match: * = single segment, ** = any depth */
52
+ function matchesPattern(pattern, uri) {
53
+ const re = new RegExp('^' +
54
+ pattern
55
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&')
56
+ .replace(/\*\*/g, '.+')
57
+ .replace(/\*/g, '[^/]+')
58
+ + '$');
59
+ return re.test(uri);
60
+ }
61
+ //# sourceMappingURL=resource-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-auth.js","sourceRoot":"","sources":["../../src/resources/resource-auth.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAaH,kDA2BC;AAtCD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,uBAAuB,CAAC;AAOjE,4EAA4E;AAC5E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqD,CAAC;AAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,WAAW;AAEjC,KAAK,UAAU,mBAAmB,CAAC,WAA+B;IACrE,IAAI,CAAC,WAAW;QAAE,OAAO,QAAQ,EAAE,CAAC;IAEpC,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAErF,cAAc;IACd,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,oBAAoB,EAAE;YACrD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;YAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,OAAO,EAAE,CAAC;QAE9B,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2B,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;QACrE,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACL,2EAA2E;QAC3E,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,aAAa,CAAC;QACxE,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,QAAkB;IACpC,OAAO;QACH,QAAQ;QACR,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACzE,CAAC;AACN,CAAC;AAED,SAAS,QAAQ;IACb,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,OAAO;IACZ,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;AACpD,CAAC;AAED,2DAA2D;AAC3D,SAAS,cAAc,CAAC,OAAe,EAAE,GAAW;IAChD,MAAM,EAAE,GAAG,IAAI,MAAM,CACjB,GAAG;QACH,OAAO;aACF,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC;aACpC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;aACtB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;UAC1B,GAAG,CACR,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC"}
package/dist/server.js CHANGED
@@ -51,6 +51,7 @@ const graph_store_js_1 = require("./indexer/graph-store.js");
51
51
  const indexer_js_1 = require("./indexer/indexer.js");
52
52
  const watcher_js_1 = require("./indexer/watcher.js");
53
53
  const stack_detector_js_1 = require("./indexer/stack-detector.js");
54
+ const platform_resources_js_1 = require("./resources/platform-resources.js");
54
55
  const APP_NAME = process.env.BK_APP_NAME ?? 'deepseek-code';
55
56
  const CWD = process.env.BK_CWD ?? process.cwd();
56
57
  // --- Code index setup ---
@@ -62,20 +63,22 @@ const watcher = new watcher_js_1.FileWatcher();
62
63
  // Server factory — creates a fresh McpServer with all tools registered.
63
64
  // Called once for stdio mode; called per-session in HTTP mode.
64
65
  // ---------------------------------------------------------------------------
65
- function buildServer() {
66
+ function buildServer(bearerToken) {
66
67
  const srv = new mcp_js_1.McpServer({
67
68
  name: '@backendkit-labs/mcp-server',
68
69
  version: '0.2.0',
69
70
  });
70
71
  registerTools(srv);
72
+ (0, platform_resources_js_1.registerPlatformResources)(srv, bearerToken);
71
73
  return srv;
72
74
  }
73
75
  function registerTools(srv) {
76
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
+ const t = srv.tool.bind(srv);
74
78
  // ---------------------------------------------------------------------------
75
79
  // stack_detect
76
80
  // ---------------------------------------------------------------------------
77
- // @ts-expect-error: TS2589 — MCP SDK + zod generic depth limit, safe at runtime
78
- srv.tool('stack_detect', 'Detect the technology stack of the current project using the code index (languages, frameworks, libraries).', {
81
+ t('stack_detect', 'Detect the technology stack of the current project using the code index (languages, frameworks, libraries).', {
79
82
  cwd: zod_1.z.string().optional().describe('Project directory (defaults to server cwd)'),
80
83
  }, async ({ cwd: _cwd }) => {
81
84
  const graphTech = (0, stack_detector_js_1.detectStackFromGraph)(store);
@@ -95,7 +98,7 @@ function registerTools(srv) {
95
98
  // ---------------------------------------------------------------------------
96
99
  // skills_search
97
100
  // ---------------------------------------------------------------------------
98
- srv.tool('skills_search', 'Search available skills by query. Returns matching skills and whether they are active for the current project.', {
101
+ t('skills_search', 'Search available skills by query. Returns matching skills and whether they are active for the current project.', {
99
102
  query: zod_1.z.string().describe('Search term — skill name, trigger keyword, or description'),
100
103
  cwd: zod_1.z.string().optional().describe('Project directory to detect stack (defaults to server cwd)'),
101
104
  }, async ({ query, cwd }) => {
@@ -120,7 +123,7 @@ function registerTools(srv) {
120
123
  // ---------------------------------------------------------------------------
121
124
  // skills_install
122
125
  // ---------------------------------------------------------------------------
123
- srv.tool('skills_install', 'Install a skill pack from a GitHub repository or local path.', {
126
+ t('skills_install', 'Install a skill pack from a GitHub repository or local path.', {
124
127
  source: zod_1.z.string().describe('GitHub URL (https://github.com/org/repo) or local path'),
125
128
  skill: zod_1.z.string().optional().describe('Install only this specific skill by name'),
126
129
  pack: zod_1.z.string().optional().describe('Override the derived pack name'),
@@ -139,7 +142,7 @@ function registerTools(srv) {
139
142
  // ---------------------------------------------------------------------------
140
143
  // skills_list
141
144
  // ---------------------------------------------------------------------------
142
- srv.tool('skills_list', 'List all installed skill packs including builtin packs.', {}, async () => {
145
+ t('skills_list', 'List all installed skill packs including builtin packs.', {}, async () => {
143
146
  const packs = await (0, list_js_1.skillsList)(APP_NAME);
144
147
  const lines = packs.map(p => {
145
148
  const tag = p.builtin ? 'builtin' : `installed ${p.installedAt.slice(0, 10)}`;
@@ -150,8 +153,7 @@ function registerTools(srv) {
150
153
  // ---------------------------------------------------------------------------
151
154
  // code_search
152
155
  // ---------------------------------------------------------------------------
153
- // @ts-expect-error: TS2589 — MCP SDK + zod generic depth limit, safe at runtime
154
- srv.tool('code_search', 'Search the codebase for symbols (functions, classes, interfaces, types) by name or keyword.', {
156
+ t('code_search', 'Search the codebase for symbols (functions, classes, interfaces, types) by name or keyword.', {
155
157
  query: zod_1.z.string().describe('Symbol name or keyword to search for'),
156
158
  limit: zod_1.z.number().optional().describe('Max results to return (default 20)'),
157
159
  }, ({ query, limit }) => {
@@ -165,7 +167,7 @@ function registerTools(srv) {
165
167
  // ---------------------------------------------------------------------------
166
168
  // code_context
167
169
  // ---------------------------------------------------------------------------
168
- srv.tool('code_context', 'Get relevant code context for a task — finds the symbols most related to the task and returns their code, callers, and callees.', {
170
+ t('code_context', 'Get relevant code context for a task — finds the symbols most related to the task and returns their code, callers, and callees.', {
169
171
  task: zod_1.z.string().describe('Task or feature description to find context for'),
170
172
  max_symbols: zod_1.z.number().optional().describe('Max symbols to return (default 10)'),
171
173
  }, async ({ task, max_symbols }) => {
@@ -192,7 +194,7 @@ function registerTools(srv) {
192
194
  // ---------------------------------------------------------------------------
193
195
  // code_index (trigger manual re-index)
194
196
  // ---------------------------------------------------------------------------
195
- srv.tool('code_index', 'Trigger a full re-index of the project codebase. Run this after installing new files or if search results seem stale.', {
197
+ t('code_index', 'Trigger a full re-index of the project codebase. Run this after installing new files or if search results seem stale.', {
196
198
  cwd: zod_1.z.string().optional().describe('Directory to index (defaults to server cwd)'),
197
199
  }, async ({ cwd }) => {
198
200
  const dir = cwd ?? CWD;
@@ -270,12 +272,13 @@ async function startHttp() {
270
272
  return;
271
273
  }
272
274
  const body = await parseBody(req);
275
+ const bearerToken = req.headers['authorization'];
273
276
  const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
274
277
  sessionIdGenerator: () => (0, node_crypto_1.randomUUID)(),
275
278
  });
276
279
  // Connect a fresh McpServer per session so each session has
277
280
  // isolated protocol state (initialized, tool list, etc.)
278
- const sessionServer = buildServer();
281
+ const sessionServer = buildServer(bearerToken);
279
282
  await sessionServer.connect(transport);
280
283
  // handleRequest processes the initialize message and sets transport.sessionId
281
284
  await transport.handleRequest(req, res, body);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backendkit-labs/mcp-server",
3
- "version": "0.16.0",
3
+ "version": "0.16.2",
4
4
  "description": "MCP server for agent-framework — skills, code intelligence, agent context",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,7 +10,7 @@
10
10
  "files": ["dist/", "README.md"],
11
11
  "repository": {
12
12
  "type": "git",
13
- "url": "https://github.com/BackendKit-labs/backendkit-agent-framework.git",
13
+ "url": "git+https://github.com/BackendKit-labs/backendkit-agent-framework.git",
14
14
  "directory": "packages/mcp-server"
15
15
  },
16
16
  "publishConfig": { "access": "public" },
@@ -22,8 +22,8 @@
22
22
  "prepublishOnly": "npm run build"
23
23
  },
24
24
  "dependencies": {
25
- "@backendkit-labs/agent-core": "*",
26
- "@backendkit-labs/agent-coding": "*",
25
+ "@backendkit-labs/agent-core": "^0.24.0",
26
+ "@backendkit-labs/agent-coding": "^0.20.0",
27
27
  "@modelcontextprotocol/sdk": "^1.12.0",
28
28
  "better-sqlite3": "^12.10.0",
29
29
  "chokidar": "^5.0.0",