venira-mcp 1.0.3 → 1.0.4

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
@@ -65,7 +65,9 @@ no local clone or build needed:
65
65
  ```bash
66
66
  npx venira-mcp # start the MCP server (stdio)
67
67
  npx venira-mcp --doctor # run the preflight suite
68
- npx venira-mcp --verify # run the behavioural regression suite
68
+ npx venira-mcp --verify # run the behavioural regression suite
69
+ npx venira-mcp --version # print the version
70
+ npx venira-mcp --help # list flags + environment variables
69
71
  ```
70
72
 
71
73
  The `bin` entry in `package.json` exposes both `venira` and `venira-mcp`,
package/bin/venira-mcp.js CHANGED
@@ -20,12 +20,40 @@
20
20
  import { spawn, execFileSync } from "node:child_process";
21
21
  import { fileURLToPath } from "node:url";
22
22
  import path from "node:path";
23
- import { existsSync } from "node:fs";
23
+ import { existsSync, readFileSync } from "node:fs";
24
24
 
25
25
  const here = path.dirname(fileURLToPath(import.meta.url));
26
26
  const dist = path.join(here, "..", "dist", "server.js");
27
27
  const args = process.argv.slice(2);
28
28
 
29
+ const USAGE = `venira-mcp — MCP server for coding agents
30
+
31
+ Usage:
32
+ npx venira-mcp Start the MCP server (stdio transport)
33
+ npx venira-mcp --doctor Run the preflight diagnostics
34
+ npx venira-mcp --verify Run the behavioural test suite
35
+ npx venira-mcp --version, -v Print the version
36
+ npx venira-mcp --help, -h Show this help
37
+
38
+ Environment:
39
+ VENIRA_WORKSPACE Project root the tools are locked to (default: cwd)
40
+ VENIRA_DATA_DIR Audit DB + runtime data (default: <workspace>/data)
41
+ VENIRA_UNRESTRICTED 1 to allow paths outside the workspace (default: 0)
42
+
43
+ Docs: https://github.com/N0moreher0/Venira-mcp`;
44
+
45
+ // `--version` / `--help` are CLI-level flags: handle them here instead of
46
+ // handing them to the server (which would just start and wait on stdio).
47
+ if (args[0] === "--version" || args[0] === "-v") {
48
+ const pkg = JSON.parse(readFileSync(path.join(here, "..", "package.json"), "utf8"));
49
+ process.stdout.write(`venira-mcp ${pkg.version}\n`);
50
+ process.exit(0);
51
+ }
52
+ if (args[0] === "--help" || args[0] === "-h") {
53
+ process.stdout.write(`${USAGE}\n`);
54
+ process.exit(0);
55
+ }
56
+
29
57
  const target = (() => {
30
58
  if (args[0] === "--doctor") return { file: path.join(here, "..", "dist", "scripts", "doctor.js"), rest: args.slice(1) };
31
59
  if (args[0] === "--verify") return { file: path.join(here, "..", "dist", "scripts", "verify.js"), rest: args.slice(1) };
@@ -1 +1 @@
1
- export declare const VERSION = "1.0.3";
1
+ export declare const VERSION = "1.0.4";
@@ -1,2 +1,2 @@
1
- export const VERSION = "1.0.3";
1
+ export const VERSION = "1.0.4";
2
2
  //# sourceMappingURL=version.js.map
@@ -12,10 +12,32 @@
12
12
  */
13
13
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
14
14
  import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
15
- import { promises as fs } from "node:fs";
15
+ import { existsSync, promises as fs } from "node:fs";
16
16
  import path from "node:path";
17
+ import { fileURLToPath } from "node:url";
17
18
  import { VERSION } from "../lib/version.js";
18
19
  const SESSION_ID = `doctor-${Date.now()}`;
20
+ /**
21
+ * Nearest ancestor directory that contains a package.json. Walking up (rather
22
+ * than hard-coding `../..`) makes this work both when the doctor runs from
23
+ * source (`scripts/doctor.ts`) and from the published build
24
+ * (`dist/scripts/doctor.js`), and keeps `npx venira-mcp --doctor` usable in
25
+ * any project directory.
26
+ */
27
+ function findPackageRoot(start) {
28
+ let dir = start;
29
+ for (let i = 0; i < 8; i += 1) {
30
+ if (existsSync(path.join(dir, "package.json")))
31
+ return dir;
32
+ const parent = path.dirname(dir);
33
+ if (parent === dir)
34
+ break;
35
+ dir = parent;
36
+ }
37
+ return start;
38
+ }
39
+ const PKG_ROOT = findPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
40
+ const SERVER_ENTRY = path.join(PKG_ROOT, "dist", "server.js");
19
41
  const WORKSPACE = process.env.VENIRA_WORKSPACE ?? process.cwd();
20
42
  const DATA_DIR = process.env.VENIRA_DATA_DIR ?? path.join(WORKSPACE, "data");
21
43
  async function check(text, result, args = {}) {
@@ -50,7 +72,7 @@ async function main() {
50
72
  const client = new Client({ name: "doctor", version: "0.0.0" }, { capabilities: {} });
51
73
  const transport = new StdioClientTransport({
52
74
  command: "node",
53
- args: ["dist/server.js"],
75
+ args: [SERVER_ENTRY],
54
76
  cwd: WORKSPACE,
55
77
  env: mcpEnv(),
56
78
  stderr: "pipe",
@@ -86,7 +108,7 @@ async function main() {
86
108
  const client2 = new Client({ name: "doctor-shell", version: "0.0.0" }, { capabilities: {} });
87
109
  const transport2 = new StdioClientTransport({
88
110
  command: "node",
89
- args: ["dist/server.js"],
111
+ args: [SERVER_ENTRY],
90
112
  cwd: WORKSPACE,
91
113
  env: mcpEnv({ VENIRA_SESSION_ID: `doctor-shell-${Date.now()}` }),
92
114
  stderr: "pipe",
@@ -110,12 +132,17 @@ async function main() {
110
132
  text: `Shell smoke failed: ${err instanceof Error ? err.message : String(err)}`,
111
133
  });
112
134
  }
113
- // 5. version (compare against the version declared in package.json)
114
- const pkgRaw = await fs.readFile(path.join(process.cwd(), "package.json"), "utf8");
115
- const expected = JSON.parse(pkgRaw);
116
- results.push(VERSION === expected.version
117
- ? { status: "PASS", text: `server version ${VERSION}` }
118
- : { status: "FAIL", text: `server version mismatch: ${VERSION} (expected ${expected.version})` });
135
+ // 5. version (compare the running server against the installed package.json)
136
+ const pkgRaw = await fs.readFile(path.join(PKG_ROOT, "package.json"), "utf8").catch(() => null);
137
+ if (pkgRaw === null) {
138
+ results.push({ status: "FAIL", text: `cannot read ${path.join(PKG_ROOT, "package.json")} to verify the version` });
139
+ }
140
+ else {
141
+ const expected = JSON.parse(pkgRaw);
142
+ results.push(VERSION === expected.version
143
+ ? { status: "PASS", text: `server version ${VERSION}` }
144
+ : { status: "FAIL", text: `server version mismatch: ${VERSION} (expected ${expected.version})` });
145
+ }
119
146
  const passes = results.filter((r) => r.status === "PASS").length;
120
147
  const failed = results.filter((r) => r.status === "FAIL");
121
148
  console.log(`\nDoctor: ${passes}/${results.length} checks passed`);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../scripts/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../scripts/doctor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "venira-mcp",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "venira-mcp — a standalone Model Context Protocol (MCP) server that gives coding agents (OpenCode, Claude Desktop, any MCP client) 16 workspace-scoped tools: file read/write/edit/delete, batch reads, line-range reads, content search, recent files, async shell run/poll/cancel, and a full SQLite WAL audit trail. Pure Node, no external binary. Structured JSON envelopes with hints and cached validated reads. npm i venira-mcp, then point your MCP client at `venira` or `venira-mcp`.",
5
5
  "keywords": [
6
6
  "mcp",