@miraigent/free-ai-ops-mcp 0.1.41 → 0.1.43

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.43] - 2026-07-19
4
+
5
+ ### Changed
6
+
7
+ - Added a README command that extracts and parses the bundled JSON-RPC smoke-test
8
+ result without copy-pasting response lines, plus smoke-test coverage so the
9
+ public proof path stays visible for npm users.
10
+
11
+ ## [0.1.42] - 2026-07-18
12
+
13
+ ### Changed
14
+
15
+ - Clarified that the public help header prints the package version and added
16
+ smoke-test coverage for that header so npm users can spot stale `npx` cache
17
+ behavior before editing MCP client configuration.
18
+
3
19
  ## [0.1.41] - 2026-07-17
4
20
 
5
21
  ### Changed
package/README.md CHANGED
@@ -53,7 +53,10 @@ If you are checking the package from npm search, run the public help first:
53
53
  npx -y free-ai-ops-mcp@npm:@miraigent/free-ai-ops-mcp --help
54
54
 
55
55
  The help output lists the available MCP tools, the one-command smoke test, and
56
- the public-safe boundary before you send any JSON-RPC input.
56
+ the public-safe boundary before you send any JSON-RPC input. The first line
57
+ also prints `Miraigent Free AI Ops MCP <version>`, which is the quickest way to
58
+ confirm whether `npx` is using the current public package or a stale local
59
+ cache.
57
60
 
58
61
  If a local npx cache or desktop MCP client appears stale, compare it with the
59
62
  public registry version before changing private client configuration:
@@ -197,6 +200,15 @@ smoke-test output and inspect the wrapped text field with Node:
197
200
 
198
201
  node -e 'const r=JSON.parse(process.argv[1]); console.log(JSON.parse(r.result.content[0].text));' '<paste one response line here>'
199
202
 
203
+ To avoid copying any response text at all, run the bundled public sample and
204
+ parse only its final synthetic tool-call response:
205
+
206
+ npx -y free-ai-ops-mcp@npm:@miraigent/free-ai-ops-mcp < examples/mcp-json-rpc-session/sample-session.jsonl | tail -n 1 | node -e 'process.stdin.on("data", c => { const r = JSON.parse(c); console.log(JSON.parse(r.result.content[0].text).gateStatus); })'
207
+
208
+ That prints `stop` for the bundled support-reply example. If it does, the
209
+ package is returning the expected MCP result shape and you can debug client
210
+ configuration separately from tool behavior.
211
+
200
212
  Paste only the synthetic response from the public example. Do not paste private
201
213
  customer records or desktop client logs into shell history, screenshots, or
202
214
  GitHub issues.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miraigent/free-ai-ops-mcp",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
4
4
  "description": "Free MCP server for developers adding human review gates, prompt risk checks, FAQ review, and CRM note safety to AI tools.",
5
5
  "homepage": "https://github.com/Miraigent/miraigent-free-ai-ops-mcp",
6
6
  "type": "module",
@@ -3,6 +3,7 @@ import assert from 'node:assert';
3
3
  import { readFile } from 'node:fs/promises';
4
4
 
5
5
  const packageJson = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
6
+ const rootReadme = await readFile(new URL('../README.md', import.meta.url), 'utf8');
6
7
 
7
8
  const helpChild = spawn(process.execPath, ['mcp/free-ai-ops-server.mjs', '--help'], {
8
9
  stdio: ['ignore', 'pipe', 'inherit']
@@ -22,10 +23,13 @@ await new Promise((resolve, reject) => {
22
23
  });
23
24
 
24
25
  assert.match(helpStdout, /npx -y free-ai-ops-mcp@npm:@miraigent\/free-ai-ops-mcp/);
26
+ assert.match(helpStdout, new RegExp(`Miraigent Free AI Ops MCP ${packageJson.version.replaceAll('.', '\\.')}`));
25
27
  assert.match(helpStdout, /human_review_gate/);
26
28
  assert.match(helpStdout, /Do not paste secrets/);
27
29
  assert.match(helpStdout, /private memory behavior/);
28
30
  assert.match(helpStdout, /github\.com\/Miraigent\/miraigent-free-ai-ops-mcp\/issues\/new\/choose/);
31
+ assert.match(rootReadme, /tail -n 1 \| node -e/);
32
+ assert.match(rootReadme, /console\.log\(JSON\.parse\(r\.result\.content\[0\]\.text\)\.gateStatus\)/);
29
33
 
30
34
  const requests = [
31
35
  { jsonrpc: '2.0', id: 1, method: 'initialize', params: {} },