venira-mcp 1.0.2 → 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/LICENSE-APACHE2.0.txt +1 -1
- package/README.md +3 -1
- package/bin/venira-mcp.js +29 -1
- package/dist/lib/version.d.ts +1 -1
- package/dist/lib/version.js +1 -1
- package/dist/scripts/doctor.js +36 -9
- package/dist/scripts/doctor.js.map +1 -1
- package/package.json +1 -1
package/LICENSE-APACHE2.0.txt
CHANGED
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
|
|
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) };
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "1.0.
|
|
1
|
+
export declare const VERSION = "1.0.4";
|
package/dist/lib/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "1.0.
|
|
1
|
+
export const VERSION = "1.0.4";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/scripts/doctor.js
CHANGED
|
@@ -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: [
|
|
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: [
|
|
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
|
|
114
|
-
const pkgRaw = await fs.readFile(path.join(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;
|
|
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
|
+
"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",
|