@devflow-tools/mcp-server 0.18.73 → 0.19.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.
- package/dist/index.js +39 -8
- package/dist/index.js.map +1 -1
- package/package.json +14 -14
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { join } from "node:path";
|
|
2
4
|
import { startServer } from "./server.js";
|
|
3
5
|
import { runHealthcheck } from "./healthcheck.js";
|
|
4
6
|
// MCP stdio reserves stdout exclusively for JSON-RPC frames. Domain engines
|
|
@@ -7,20 +9,49 @@ import { runHealthcheck } from "./healthcheck.js";
|
|
|
7
9
|
console.log = console.error.bind(console);
|
|
8
10
|
console.info = console.error.bind(console);
|
|
9
11
|
console.debug = console.error.bind(console);
|
|
12
|
+
function parseToolList(raw) {
|
|
13
|
+
const trimmed = raw?.trim();
|
|
14
|
+
if (!trimmed)
|
|
15
|
+
return undefined;
|
|
16
|
+
return new Set(trimmed.split(",").map(value => value.trim()).filter(Boolean));
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Tool surface resolution (provider-agnostic, config-driven):
|
|
20
|
+
* 1. CLI `--tools a,b,c` (release replay harness; empty value is an error)
|
|
21
|
+
* 2. env `DEVFLOW_MCP_TOOLS=a,b,c`
|
|
22
|
+
* 3. project `.devflow/config.json` → { "mcp": { "tools": ["a","b"] } }
|
|
23
|
+
* Absent all three: full registered surface (unchanged default behavior).
|
|
24
|
+
*/
|
|
25
|
+
function resolveAllowedToolNames(projectRoot) {
|
|
26
|
+
const toolsIndex = process.argv.indexOf("--tools");
|
|
27
|
+
const cliValue = toolsIndex >= 0 ? process.argv[toolsIndex + 1] : undefined;
|
|
28
|
+
if (toolsIndex >= 0 && !cliValue?.trim())
|
|
29
|
+
throw new Error("MCP_TOOL_SURFACE_EMPTY");
|
|
30
|
+
const fromCli = parseToolList(cliValue);
|
|
31
|
+
if (fromCli)
|
|
32
|
+
return fromCli;
|
|
33
|
+
const fromEnv = parseToolList(process.env.DEVFLOW_MCP_TOOLS);
|
|
34
|
+
if (fromEnv)
|
|
35
|
+
return fromEnv;
|
|
36
|
+
try {
|
|
37
|
+
const config = JSON.parse(readFileSync(join(projectRoot, ".devflow", "config.json"), "utf8"));
|
|
38
|
+
const tools = config.mcp?.tools;
|
|
39
|
+
if (Array.isArray(tools) && tools.length > 0) {
|
|
40
|
+
return new Set(tools.map(value => String(value).trim()).filter(Boolean));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// No project config or unreadable: fall through to the full surface.
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
10
48
|
async function main() {
|
|
11
49
|
if (process.argv.includes("--healthcheck")) {
|
|
12
50
|
await runHealthcheck();
|
|
13
51
|
return;
|
|
14
52
|
}
|
|
15
53
|
const projectRoot = process.env.DEVFLOW_PROJECT_ROOT || process.cwd();
|
|
16
|
-
|
|
17
|
-
const toolsValue = toolsIndex >= 0 ? process.argv[toolsIndex + 1] : undefined;
|
|
18
|
-
if (toolsIndex >= 0 && !toolsValue?.trim())
|
|
19
|
-
throw new Error("MCP_TOOL_SURFACE_EMPTY");
|
|
20
|
-
const allowedToolNames = toolsValue
|
|
21
|
-
? new Set(toolsValue.split(",").map(value => value.trim()).filter(Boolean))
|
|
22
|
-
: undefined;
|
|
23
|
-
await startServer({ mode: "stdio", projectRoot, allowedToolNames });
|
|
54
|
+
await startServer({ mode: "stdio", projectRoot, allowedToolNames: resolveAllowedToolNames(projectRoot) });
|
|
24
55
|
}
|
|
25
56
|
main().catch((err) => {
|
|
26
57
|
console.error("MCP Server error:", err);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,4EAA4E;AAC5E,4EAA4E;AAC5E,8CAA8C;AAC9C,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE5C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -29,18 +29,18 @@
|
|
|
29
29
|
"clean": "rm -rf dist"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@devflow-tools/context-engine": "0.
|
|
33
|
-
"@devflow-tools/database": "0.
|
|
34
|
-
"@devflow-tools/delivery-line": "0.
|
|
35
|
-
"@devflow-tools/knowledge-engine": "0.
|
|
36
|
-
"@devflow-tools/memory-engine": "0.
|
|
37
|
-
"@devflow-tools/provider-runtime": "0.
|
|
38
|
-
"@devflow-tools/retrieval-engine": "0.
|
|
39
|
-
"@devflow-tools/sdk": "0.
|
|
40
|
-
"@devflow-tools/semantic-engine": "0.
|
|
41
|
-
"@devflow-tools/task-runtime": "0.
|
|
42
|
-
"@devflow-tools/telemetry": "0.
|
|
43
|
-
"@devflow-tools/workflow-engine": "0.
|
|
32
|
+
"@devflow-tools/context-engine": "0.19.0",
|
|
33
|
+
"@devflow-tools/database": "0.19.0",
|
|
34
|
+
"@devflow-tools/delivery-line": "0.19.0",
|
|
35
|
+
"@devflow-tools/knowledge-engine": "0.19.0",
|
|
36
|
+
"@devflow-tools/memory-engine": "0.19.0",
|
|
37
|
+
"@devflow-tools/provider-runtime": "0.19.0",
|
|
38
|
+
"@devflow-tools/retrieval-engine": "0.19.0",
|
|
39
|
+
"@devflow-tools/sdk": "0.19.0",
|
|
40
|
+
"@devflow-tools/semantic-engine": "0.19.0",
|
|
41
|
+
"@devflow-tools/task-runtime": "0.19.0",
|
|
42
|
+
"@devflow-tools/telemetry": "0.19.0",
|
|
43
|
+
"@devflow-tools/workflow-engine": "0.19.0",
|
|
44
44
|
"@modelcontextprotocol/sdk": "^1.32.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"dist",
|
|
52
52
|
"bin"
|
|
53
53
|
],
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "d4f681428ac2f83d868e152a10c85ec892afda8b",
|
|
55
55
|
"description": "Model Context Protocol server exposing DevFlow context, memory, knowledge, and workflow tools.",
|
|
56
56
|
"license": "MIT",
|
|
57
57
|
"repository": {
|