@miraigent/free-ai-ops-mcp 0.1.24 → 0.1.26

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.26] - 2026-06-29
4
+
5
+ ### Changed
6
+
7
+ - Clarified the bug report template so npm, Claude Desktop, Cursor, and custom
8
+ MCP users can include version, runtime, command shape, and synthetic JSON-RPC
9
+ reproduction details without sharing private data.
10
+
11
+ ## [0.1.25] - 2026-06-28
12
+
13
+ ### Added
14
+
15
+ - Added a copy-ready prompt_risk_review JSON-RPC session example and smoke-test
16
+ coverage so developers can verify the customer-facing prompt stop path before
17
+ connecting private support or CRM workflows.
18
+
3
19
  ## [0.1.24] - 2026-06-25
4
20
 
5
21
  ### Changed
package/README.md CHANGED
@@ -19,6 +19,10 @@ examples/human-review-gate/.
19
19
  For a complete public-safe MCP session that covers initialize, tools/list, and
20
20
  one tool call, see examples/mcp-json-rpc-session/.
21
21
 
22
+ If your first concern is whether a customer-facing prompt should be stopped
23
+ before AI use, use examples/prompt-risk-json-rpc-session/ for a copy-ready
24
+ prompt_risk_review session.
25
+
22
26
  That JSON-RPC session is also covered by `npm test`, so the README proof path
23
27
  and packaged example stay aligned when the MCP response shape changes.
24
28
 
@@ -205,6 +209,8 @@ Copy-ready examples:
205
209
  - FAQ candidate review: `npm run example:faq-candidate-review`
206
210
  - AI-safe CRM note: `npm run example:ai-safe-crm-note`
207
211
  - Prompt risk review: `npm run example:prompt-risk-review`
212
+ - Prompt risk JSON-RPC session:
213
+ `npm run mcp < examples/prompt-risk-json-rpc-session/sample-session.jsonl`
208
214
 
209
215
  All examples use synthetic data. Keep private customer records, secrets,
210
216
  internal policy text, and paid product files out of public issues and screenshots.
@@ -0,0 +1,32 @@
1
+ # Prompt Risk JSON-RPC Session Example
2
+
3
+ This example gives developers a copy-ready `prompt_risk_review` MCP session for
4
+ the public @miraigent/free-ai-ops-mcp package.
5
+
6
+ Use it when you want to check whether a customer-facing prompt should stop
7
+ before AI use. The sample is synthetic and is covered by `npm test`, so the
8
+ public example stays aligned with the packaged server response fields.
9
+
10
+ ## Run
11
+
12
+ From the repository root:
13
+
14
+ npm run mcp < examples/prompt-risk-json-rpc-session/sample-session.jsonl
15
+
16
+ You should receive three JSON-RPC response lines. The final response should
17
+ include a `prompt_risk_review` result with:
18
+
19
+ - recommendation: stop_before_ai_use
20
+ - riskFlags: customer_facing and sensitive_data_possible
21
+ - boundary: this tool is a prompt risk helper and does not call an AI API
22
+
23
+ ## Public-Safe Feedback
24
+
25
+ If the output is unclear, open a Tried It feedback issue and include only:
26
+
27
+ - which command you ran
28
+ - the public-safe prompt shape
29
+ - the returned recommendation or risk flag that was unclear
30
+
31
+ Do not include secrets, credentials, private customer records, internal policy
32
+ text, paid product files, or private memory behavior.
@@ -0,0 +1,3 @@
1
+ {"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}
2
+ {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
3
+ {"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"prompt_risk_review","arguments":{"operation":"support prompt review","promptSummary":"Draft a customer reply from an inquiry summary and order note.","dataTypes":["customer email","order note"],"customerFacing":true,"riskLevel":"medium"}}}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const serverInfo = { name: 'miraigent-free-ai-ops-mcp', version: '0.1.24' };
3
+ const serverInfo = { name: 'miraigent-free-ai-ops-mcp', version: '0.1.26' };
4
4
 
5
5
  const tools = [
6
6
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miraigent/free-ai-ops-mcp",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
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",
@@ -139,3 +139,17 @@ assert.equal(sampleResponses[1].result.tools.length, 4);
139
139
  assert.match(sampleResponses[2].result.content[0].text, /gateStatus/);
140
140
  assert.match(sampleResponses[2].result.content[0].text, /reviewOwner/);
141
141
  assert.match(sampleResponses[2].result.content[0].text, /boundary/);
142
+
143
+ const promptRiskSession = await readFile(
144
+ new URL('../examples/prompt-risk-json-rpc-session/sample-session.jsonl', import.meta.url),
145
+ 'utf8'
146
+ );
147
+ const promptRiskResponses = await runServerWithRequests(promptRiskSession.trim().split('\n'));
148
+ assert.equal(promptRiskResponses.length, 3);
149
+ assert.equal(promptRiskResponses[0].result.serverInfo.name, 'miraigent-free-ai-ops-mcp');
150
+ assert.equal(promptRiskResponses[0].result.serverInfo.version, packageJson.version);
151
+ assert.equal(promptRiskResponses[1].result.tools.length, 4);
152
+ assert.match(promptRiskResponses[2].result.content[0].text, /prompt_risk_review/);
153
+ assert.match(promptRiskResponses[2].result.content[0].text, /stop_before_ai_use/);
154
+ assert.match(promptRiskResponses[2].result.content[0].text, /customer_facing/);
155
+ assert.match(promptRiskResponses[2].result.content[0].text, /sensitive_data_possible/);