driftdetect-mcp 0.9.13 → 0.9.14
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.
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
* This enables running Drift MCP as a containerized service accessible via HTTP.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
|
-
* drift-mcp-http # Run server
|
|
9
|
+
* drift-mcp-http # Run server using active project
|
|
10
10
|
* drift-mcp-http --port 8080 # Run on custom port
|
|
11
11
|
* drift-mcp-http --project /path/to/proj # Analyze specific project
|
|
12
12
|
*
|
|
13
13
|
* Environment Variables:
|
|
14
14
|
* PORT - HTTP server port (default: 3000)
|
|
15
|
-
* PROJECT_ROOT - Path to project to analyze (default:
|
|
15
|
+
* PROJECT_ROOT - Path to project to analyze (default: active project from ~/.drift)
|
|
16
16
|
* ENABLE_CACHE - Enable response caching (default: true)
|
|
17
17
|
* ENABLE_RATE_LIMIT - Enable rate limiting (default: true)
|
|
18
18
|
* VERBOSE - Enable verbose logging (default: false)
|
package/dist/bin/http-server.js
CHANGED
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
* This enables running Drift MCP as a containerized service accessible via HTTP.
|
|
7
7
|
*
|
|
8
8
|
* Usage:
|
|
9
|
-
* drift-mcp-http # Run server
|
|
9
|
+
* drift-mcp-http # Run server using active project
|
|
10
10
|
* drift-mcp-http --port 8080 # Run on custom port
|
|
11
11
|
* drift-mcp-http --project /path/to/proj # Analyze specific project
|
|
12
12
|
*
|
|
13
13
|
* Environment Variables:
|
|
14
14
|
* PORT - HTTP server port (default: 3000)
|
|
15
|
-
* PROJECT_ROOT - Path to project to analyze (default:
|
|
15
|
+
* PROJECT_ROOT - Path to project to analyze (default: active project from ~/.drift)
|
|
16
16
|
* ENABLE_CACHE - Enable response caching (default: true)
|
|
17
17
|
* ENABLE_RATE_LIMIT - Enable rate limiting (default: true)
|
|
18
18
|
* VERBOSE - Enable verbose logging (default: false)
|
|
@@ -26,6 +26,9 @@
|
|
|
26
26
|
* docker compose up -d
|
|
27
27
|
* # Then configure your MCP client to connect to http://localhost:3000
|
|
28
28
|
*/
|
|
29
|
+
import * as fs from 'node:fs';
|
|
30
|
+
import * as path from 'node:path';
|
|
31
|
+
import * as os from 'node:os';
|
|
29
32
|
import { createServer } from 'http';
|
|
30
33
|
import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js';
|
|
31
34
|
import {} from '@modelcontextprotocol/sdk/server/index.js';
|
|
@@ -35,6 +38,46 @@ const SERVER_VERSION = '2.0.0';
|
|
|
35
38
|
// Track active transports for cleanup
|
|
36
39
|
const activeTransports = new Map();
|
|
37
40
|
let transportIdCounter = 0;
|
|
41
|
+
/**
|
|
42
|
+
* Get the active project root from ~/.drift/projects.json
|
|
43
|
+
* Falls back to /project (for Docker) or cwd
|
|
44
|
+
*/
|
|
45
|
+
function getActiveProjectRoot() {
|
|
46
|
+
const globalDriftDir = path.join(os.homedir(), '.drift');
|
|
47
|
+
const projectsFile = path.join(globalDriftDir, 'projects.json');
|
|
48
|
+
try {
|
|
49
|
+
if (fs.existsSync(projectsFile)) {
|
|
50
|
+
const content = fs.readFileSync(projectsFile, 'utf-8');
|
|
51
|
+
const data = JSON.parse(content);
|
|
52
|
+
// Find the active project
|
|
53
|
+
if (data.projects && Array.isArray(data.projects)) {
|
|
54
|
+
const activeProject = data.projects.find((p) => p.isActive === true);
|
|
55
|
+
if (activeProject && activeProject.path && fs.existsSync(activeProject.path)) {
|
|
56
|
+
return activeProject.path;
|
|
57
|
+
}
|
|
58
|
+
// If no active project, use the most recently accessed one
|
|
59
|
+
const sortedProjects = [...data.projects]
|
|
60
|
+
.filter((p) => p.path && fs.existsSync(p.path))
|
|
61
|
+
.sort((a, b) => {
|
|
62
|
+
const aTime = a.lastAccessedAt ? new Date(a.lastAccessedAt).getTime() : 0;
|
|
63
|
+
const bTime = b.lastAccessedAt ? new Date(b.lastAccessedAt).getTime() : 0;
|
|
64
|
+
return bTime - aTime;
|
|
65
|
+
});
|
|
66
|
+
if (sortedProjects.length > 0) {
|
|
67
|
+
return sortedProjects[0].path;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
// Ignore errors, fall back to defaults
|
|
74
|
+
}
|
|
75
|
+
// For Docker, /project is the default mount point
|
|
76
|
+
if (fs.existsSync('/project')) {
|
|
77
|
+
return '/project';
|
|
78
|
+
}
|
|
79
|
+
return process.cwd();
|
|
80
|
+
}
|
|
38
81
|
/**
|
|
39
82
|
* Set CORS headers for cross-origin requests
|
|
40
83
|
*/
|
|
@@ -229,7 +272,7 @@ function createShutdownHandler(mcpServer, httpServer, verbose) {
|
|
|
229
272
|
async function main() {
|
|
230
273
|
// Configuration from environment variables
|
|
231
274
|
const envPort = parseInt(process.env['PORT'] ?? '3000', 10);
|
|
232
|
-
const envProjectRoot = process.env['PROJECT_ROOT']
|
|
275
|
+
const envProjectRoot = process.env['PROJECT_ROOT'];
|
|
233
276
|
const enableCache = process.env['ENABLE_CACHE'] !== 'false';
|
|
234
277
|
const enableRateLimit = process.env['ENABLE_RATE_LIMIT'] !== 'false';
|
|
235
278
|
const verbose = process.env['VERBOSE'] === 'true';
|
|
@@ -253,6 +296,10 @@ async function main() {
|
|
|
253
296
|
// Allow --verbose flag like the stdio server
|
|
254
297
|
}
|
|
255
298
|
}
|
|
299
|
+
// If no project root specified, use active project from ~/.drift/projects.json
|
|
300
|
+
if (!projectRoot) {
|
|
301
|
+
projectRoot = getActiveProjectRoot();
|
|
302
|
+
}
|
|
256
303
|
if (verbose) {
|
|
257
304
|
console.error(`[drift-mcp-http] Starting server for: ${projectRoot}`);
|
|
258
305
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/bin/http-server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAwE,MAAM,MAAM,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAe,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,6CAA6C;AAC7C,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,sCAAsC;AACtC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAC/D,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAE3B;;GAEG;AACH,SAAS,cAAc,CAAC,GAAmB;IACzC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;IACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,sBAAsB,CAAC,CAAC;IACtE,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,gBAAgB,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,OAAO,SAAS,iBAAiB,CAAC,GAAmB;QACnD,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACrB,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,cAAc;YACvB,WAAW;YACX,iBAAiB,EAAE,gBAAgB,CAAC,IAAI;YACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC,CAAC;IACN,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,SAAiB,EAAE,OAAgB;IAC3D,OAAO,KAAK,UAAU,SAAS,CAAC,GAAoB,EAAE,GAAmB;QACvE,MAAM,WAAW,GAAG,aAAa,EAAE,kBAAkB,EAAE,CAAC;QAExD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,cAAc,CAAC,GAAG,CAAC,CAAC;QAEpB,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC1D,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE7C,uEAAuE;QACvE,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAE7C,yBAAyB;QACzB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;YACrF,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,GAAoB,EAAE,GAAmB;IACpE,cAAc,CAAC,GAAG,CAAC,CAAC;IAEpB,YAAY;IACZ,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,CAAC;QACH,4BAA4B;QAC5B,0EAA0E;QAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAExD,IAAI,SAAyC,CAAC;QAE9C,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,+CAA+C;aACtD,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACrB,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAClE,CAAC,CAAC,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,iBAAgD,EAChD,SAAuE,EACvE,WAAmB;IAEnB,OAAO,KAAK,UAAU,aAAa,CAAC,GAAoB,EAAE,GAAmB;QAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;QAEzC,wBAAwB;QACxB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,cAAc,CAAC,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,SAAS;gBACZ,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM;YAER,KAAK,MAAM;gBACT,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,MAAM,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM;YAER;gBACE,mCAAmC;gBACnC,IAAI,QAAQ,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACzC,cAAc,CAAC,GAAG,CAAC,CAAC;oBACpB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrB,IAAI,EAAE,kBAAkB;wBACxB,OAAO,EAAE,cAAc;wBACvB,WAAW,EAAE,sCAAsC;wBACnD,SAAS,EAAE;4BACT,SAAS,EAAE,6BAA6B;4BACxC,MAAM,EAAE,0CAA0C;4BAClD,UAAU,EAAE,oCAAoC;yBACjD;wBACD,WAAW;wBACX,aAAa,EAAE,sCAAsC;qBACtD,CAAC,CAAC,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC;QACL,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,SAAiB,EAAE,UAAsB,EAAE,OAAgB;IACxF,OAAO,KAAK,UAAU,QAAQ;QAC5B,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAEnD,4BAA4B;QAC5B,KAAK,MAAM,CAAC,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC7C,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,uCAAuC,WAAW,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QACD,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAEzB,mBAAmB;QACnB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAExB,oBAAoB;QACpB,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,2CAA2C;IAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC;IAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,OAAO,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;IAEzD,mDAAmD;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,IAAI,WAAW,GAAG,cAAc,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7B,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;YAC1C,WAAW,GAAG,OAAO,CAAC;YACtB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,6CAA6C;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,6BAA6B;IAC7B,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC1C,WAAW;QACX,WAAW;QACX,kBAAkB,EAAE,eAAe;QACnC,aAAa,EAAE,IAAI;QACnB,OAAO;QACP,UAAU;KACX,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAEtF,qBAAqB;IACrB,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,eAAe;IACf,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,KAAK,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,2BAA2B,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,mCAAmC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/bin/http-server.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/server.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Drift MCP Server Entry Point
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* drift-mcp # Run server
|
|
6
|
+
* drift-mcp # Run server using active project from ~/.drift/projects.json
|
|
7
7
|
* drift-mcp /path/to/project # Run for specific project
|
|
8
8
|
* drift-mcp --no-cache # Disable response caching
|
|
9
9
|
* drift-mcp --no-rate-limit # Disable rate limiting
|
|
@@ -12,12 +12,14 @@
|
|
|
12
12
|
* {
|
|
13
13
|
* "mcpServers": {
|
|
14
14
|
* "drift": {
|
|
15
|
-
* "command": "
|
|
16
|
-
* "args": ["driftdetect-mcp", "/path/to/your/project"]
|
|
15
|
+
* "command": "drift-mcp"
|
|
17
16
|
* }
|
|
18
17
|
* }
|
|
19
18
|
* }
|
|
20
19
|
*
|
|
20
|
+
* Note: No path argument needed! The server automatically uses the active project
|
|
21
|
+
* from ~/.drift/projects.json. Use `drift projects switch <name>` to change projects.
|
|
22
|
+
*
|
|
21
23
|
* Features:
|
|
22
24
|
* - DataLake as central source of truth (pre-computed views, sharded storage)
|
|
23
25
|
* - Layered tool architecture (orchestration → discovery → exploration → detail)
|
package/dist/bin/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/bin/server.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/bin/server.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG"}
|
package/dist/bin/server.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Drift MCP Server Entry Point
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* drift-mcp # Run server
|
|
6
|
+
* drift-mcp # Run server using active project from ~/.drift/projects.json
|
|
7
7
|
* drift-mcp /path/to/project # Run for specific project
|
|
8
8
|
* drift-mcp --no-cache # Disable response caching
|
|
9
9
|
* drift-mcp --no-rate-limit # Disable rate limiting
|
|
@@ -12,12 +12,14 @@
|
|
|
12
12
|
* {
|
|
13
13
|
* "mcpServers": {
|
|
14
14
|
* "drift": {
|
|
15
|
-
* "command": "
|
|
16
|
-
* "args": ["driftdetect-mcp", "/path/to/your/project"]
|
|
15
|
+
* "command": "drift-mcp"
|
|
17
16
|
* }
|
|
18
17
|
* }
|
|
19
18
|
* }
|
|
20
19
|
*
|
|
20
|
+
* Note: No path argument needed! The server automatically uses the active project
|
|
21
|
+
* from ~/.drift/projects.json. Use `drift projects switch <name>` to change projects.
|
|
22
|
+
*
|
|
21
23
|
* Features:
|
|
22
24
|
* - DataLake as central source of truth (pre-computed views, sharded storage)
|
|
23
25
|
* - Layered tool architecture (orchestration → discovery → exploration → detail)
|
|
@@ -26,8 +28,47 @@
|
|
|
26
28
|
* - Structured error handling with recovery hints
|
|
27
29
|
* - Response caching, rate limiting, and metrics
|
|
28
30
|
*/
|
|
31
|
+
import * as fs from 'node:fs';
|
|
32
|
+
import * as path from 'node:path';
|
|
33
|
+
import * as os from 'node:os';
|
|
29
34
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
30
35
|
import { createEnterpriseMCPServer } from '../enterprise-server.js';
|
|
36
|
+
/**
|
|
37
|
+
* Get the active project root from ~/.drift/projects.json
|
|
38
|
+
* Falls back to cwd if no active project is found
|
|
39
|
+
*/
|
|
40
|
+
function getActiveProjectRoot() {
|
|
41
|
+
const globalDriftDir = path.join(os.homedir(), '.drift');
|
|
42
|
+
const projectsFile = path.join(globalDriftDir, 'projects.json');
|
|
43
|
+
try {
|
|
44
|
+
if (fs.existsSync(projectsFile)) {
|
|
45
|
+
const content = fs.readFileSync(projectsFile, 'utf-8');
|
|
46
|
+
const data = JSON.parse(content);
|
|
47
|
+
// Find the active project
|
|
48
|
+
if (data.projects && Array.isArray(data.projects)) {
|
|
49
|
+
const activeProject = data.projects.find((p) => p.isActive === true);
|
|
50
|
+
if (activeProject && activeProject.path && fs.existsSync(activeProject.path)) {
|
|
51
|
+
return activeProject.path;
|
|
52
|
+
}
|
|
53
|
+
// If no active project, use the most recently accessed one
|
|
54
|
+
const sortedProjects = [...data.projects]
|
|
55
|
+
.filter((p) => p.path && fs.existsSync(p.path))
|
|
56
|
+
.sort((a, b) => {
|
|
57
|
+
const aTime = a.lastAccessedAt ? new Date(a.lastAccessedAt).getTime() : 0;
|
|
58
|
+
const bTime = b.lastAccessedAt ? new Date(b.lastAccessedAt).getTime() : 0;
|
|
59
|
+
return bTime - aTime;
|
|
60
|
+
});
|
|
61
|
+
if (sortedProjects.length > 0) {
|
|
62
|
+
return sortedProjects[0].path;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Ignore errors, fall back to cwd
|
|
69
|
+
}
|
|
70
|
+
return process.cwd();
|
|
71
|
+
}
|
|
31
72
|
async function main() {
|
|
32
73
|
const args = process.argv.slice(2);
|
|
33
74
|
// Parse flags
|
|
@@ -35,10 +76,17 @@ async function main() {
|
|
|
35
76
|
const noRateLimit = args.includes('--no-rate-limit');
|
|
36
77
|
const verbose = args.includes('--verbose') || args.includes('-v');
|
|
37
78
|
const skipWarmup = args.includes('--skip-warmup');
|
|
38
|
-
// Get project root
|
|
39
|
-
|
|
79
|
+
// Get project root:
|
|
80
|
+
// 1. First non-flag argument if provided
|
|
81
|
+
// 2. Otherwise, active project from ~/.drift/projects.json
|
|
82
|
+
// 3. Fall back to cwd
|
|
83
|
+
const explicitPath = args.find(arg => !arg.startsWith('--') && !arg.startsWith('-'));
|
|
84
|
+
const projectRoot = explicitPath ?? getActiveProjectRoot();
|
|
40
85
|
if (verbose) {
|
|
41
86
|
console.error(`[drift-mcp] Starting server for: ${projectRoot}`);
|
|
87
|
+
if (!explicitPath) {
|
|
88
|
+
console.error(`[drift-mcp] Using active project from ~/.drift/projects.json`);
|
|
89
|
+
}
|
|
42
90
|
}
|
|
43
91
|
const server = createEnterpriseMCPServer({
|
|
44
92
|
projectRoot,
|
package/dist/bin/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/bin/server.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/bin/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "driftdetect-mcp",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.14",
|
|
4
4
|
"description": "MCP server that gives AI agents (Claude, Cursor, Copilot) deep understanding of your codebase patterns, conventions, and architecture. Query patterns, security boundaries, call graphs in real-time.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Geoffrey Fernald",
|