sad-mcp 0.1.26 → 0.1.28

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 CHANGED
@@ -1,13 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
+ import { readFileSync } from "fs";
5
+ import { join, dirname } from "path";
6
+ import { fileURLToPath } from "url";
4
7
  import { registerToolHandlers } from "./tools.js";
5
8
  import { registerPromptHandlers } from "./prompts.js";
6
9
  import { trackServerStart } from "./tracking.js";
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = dirname(__filename);
12
+ const pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf-8"));
7
13
  async function main() {
8
14
  // Connect to Claude Desktop IMMEDIATELY — no blocking auth here
9
15
  // Auth happens lazily on first Drive API call
10
- const server = new Server({ name: "sad-mcp", version: "0.1.7" }, {
16
+ const server = new Server({ name: "sad-mcp", version: pkg.version }, {
11
17
  capabilities: {
12
18
  tools: {},
13
19
  prompts: {},
@@ -18,7 +24,7 @@ async function main() {
18
24
  trackServerStart();
19
25
  const transport = new StdioServerTransport();
20
26
  await server.connect(transport);
21
- console.error("SAD MCP server started.");
27
+ console.error(`SAD MCP server v${pkg.version} started.`);
22
28
  }
23
29
  main().catch((err) => {
24
30
  console.error("SAD MCP failed to start:", err);
package/dist/prompts.js CHANGED
@@ -21,9 +21,9 @@ const SKILLS = [
21
21
  description: "Create professional UML use case diagrams as interactive HTML/SVG files",
22
22
  },
23
23
  {
24
- id: "bpmn-diagram",
24
+ id: "bpmn-analysis",
25
25
  name: "BPMN Process Analysis",
26
- description: "Analyze a business process and produce a structured BPMN 1.1 model for review",
26
+ description: "Analyze a business process and produce a structured BPMN 1.1 model for review. Outputs a text-based analysis report — not a diagram.",
27
27
  },
28
28
  ];
29
29
  // Internal skills: loadable via GetPrompt but not shown in ListPrompts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sad-mcp",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "MCP server for Software Analysis and Design course materials at BGU",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,13 +1,17 @@
1
1
  ---
2
- name: bpmn-diagram
3
- description: Analyze a business process and produce a structured BPMN 1.1 model for review. Outputs an HTML page with visual summary and embedded JSON model. Use when the user describes a process and wants it modeled.
2
+ name: bpmn-analysis
3
+ description: Analyze a business process and produce a structured BPMN 1.1 model for review. Outputs a text-based analysis report not a diagram.
4
4
  ---
5
5
 
6
6
  # BPMN Process Analysis
7
7
 
8
- Analyze a business process description and produce a structured BPMN 1.1 model. The output is an HTML page that presents the model for user review, with the machine-readable JSON model embedded for later use.
8
+ You are a business process analyst. Your job is to analyze a process description and produce a **structured textual model** a report showing pools, lanes, tasks, gateways, data stores, and flows.
9
9
 
10
- **You are producing an analysis, not a diagram. Do not generate any visual diagram, SVG, or drawing.**
10
+ ## CRITICAL CONSTRAINT
11
+
12
+ **DO NOT generate any visual diagram.** Your output is a TEXT REPORT in HTML format using only headings, paragraphs, tables, and lists. The HTML file MUST NOT contain any `<svg>`, `<canvas>`, `<img>`, `<polygon>`, `<rect>`, `<circle>`, `<line>`, `<path>`, or `<polyline>` tags. No drawings. No graphics. Only styled text.
13
+
14
+ If you find yourself writing SVG or drawing shapes — STOP. You are violating the instructions. Go back and produce a text-based analysis.
11
15
 
12
16
  ## Critical Modeling Rules
13
17
 
@@ -74,11 +78,15 @@ List transient data flowing between tasks (e.g., "בקשת ביטול", "חשב
74
78
 
75
79
  ## Output Format
76
80
 
77
- Generate a **single self-contained HTML file** with two parts:
81
+ Generate a **single self-contained HTML file**. This file is a TEXT REPORT — no graphics.
82
+
83
+ **FORBIDDEN HTML TAGS: `<svg>`, `<canvas>`, `<img>`, `<polygon>`, `<rect>`, `<circle>`, `<line>`, `<path>`, `<polyline>`, `<ellipse>`, `<marker>`, `<defs>`.**
78
84
 
79
- ### Part 1: Visual Presentation (what the user sees)
85
+ The file has two parts:
80
86
 
81
- A clean, RTL Hebrew page with these sections:
87
+ ### Part 1: Text Presentation (what the user sees)
88
+
89
+ A clean, RTL Hebrew page using ONLY text elements (div, p, h1-h6, table, ul, ol, span). Sections:
82
90
 
83
91
  1. **Header**: Process title in Hebrew, "ניתוח תהליך BPMN 1.1" subtitle
84
92
  2. **Structure Overview card**: Shows number of pools and lanes as a simple hierarchy:
@@ -208,6 +216,10 @@ Tell the user in the conversation (not in the HTML):
208
216
 
209
217
  **"יצרתי ניתוח מבני של התהליך. אפשר לעיין בקובץ ה-HTML ולבדוק שהמודל נכון. כשהמודל מאושר, אפשר לבקש ממני לצייר את דיאגרמת ה-BPMN."**
210
218
 
219
+ ## REMINDER: NO DIAGRAMS
220
+
221
+ This skill produces a TEXT ANALYSIS REPORT. The output is an HTML page with styled text, tables, and lists. There are NO visual diagrams, NO SVG graphics, NO drawings of any kind. If the user asks for a diagram, tell them to approve the model first, then request rendering separately.
222
+
211
223
  ## Hebrew Language Guidelines
212
224
 
213
225
  Use the **male grammatical form** (זכר) for all roles: