@next-ai-drawio/mcp-server 0.1.6 → 0.1.7

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
@@ -97,7 +97,7 @@ Use the standard MCP configuration with:
97
97
  | Tool | Description |
98
98
  |------|-------------|
99
99
  | `start_session` | Opens browser with real-time diagram preview |
100
- | `display_diagram` | Create a new diagram from XML |
100
+ | `create_new_diagram` | Create a new diagram from XML (requires `xml` argument) |
101
101
  | `edit_diagram` | Edit diagram by ID-based operations (update/add/delete cells) |
102
102
  | `get_diagram` | Get the current diagram XML |
103
103
  | `export_diagram` | Save diagram to a `.drawio` file |
package/dist/index.js CHANGED
@@ -55,7 +55,7 @@ server.prompt("diagram-workflow", "Guidelines for creating and editing draw.io d
55
55
 
56
56
  ## Creating a New Diagram
57
57
  1. Call start_session to open the browser preview
58
- 2. Use display_diagram with complete mxGraphModel XML to create a new diagram
58
+ 2. Use create_new_diagram with complete mxGraphModel XML to create a new diagram
59
59
 
60
60
  ## Adding Elements to Existing Diagram
61
61
  1. Use edit_diagram with "add" operation
@@ -68,7 +68,7 @@ server.prompt("diagram-workflow", "Guidelines for creating and editing draw.io d
68
68
  3. For update, provide the cell_id and complete new mxCell XML
69
69
 
70
70
  ## Important Notes
71
- - display_diagram REPLACES the entire diagram - only use for new diagrams
71
+ - create_new_diagram REPLACES the entire diagram - only use for new diagrams
72
72
  - edit_diagram PRESERVES user's manual changes (fetches browser state first)
73
73
  - Always use unique cell_ids when adding elements (e.g., "shape-1", "arrow-2")`,
74
74
  },
@@ -115,16 +115,20 @@ server.registerTool("start_session", {
115
115
  };
116
116
  }
117
117
  });
118
- // Tool: display_diagram
119
- server.registerTool("display_diagram", {
120
- description: "Display a NEW draw.io diagram from XML. REPLACES the entire diagram. " +
121
- "Use this for creating new diagrams from scratch. " +
122
- "To ADD elements to an existing diagram, use edit_diagram with 'add' operation instead. " +
123
- "You should generate valid draw.io/mxGraph XML format.",
118
+ // Tool: create_new_diagram
119
+ server.registerTool("create_new_diagram", {
120
+ description: "Set the diagram content with mxGraphModel XML. " +
121
+ "You MUST provide the 'xml' argument containing the full diagram XML in EVERY call. " +
122
+ "Do NOT call this tool without the 'xml' argument.\n\n" +
123
+ "Use this tool to:\n" +
124
+ "- Create a new diagram (provide complete XML)\n" +
125
+ "- Replace the current diagram with a different one (provide new complete XML)\n" +
126
+ "- Draw another diagram (provide that diagram's complete XML)\n\n" +
127
+ "To ADD or MODIFY elements in an existing diagram without replacing it entirely, use edit_diagram instead.",
124
128
  inputSchema: {
125
129
  xml: z
126
130
  .string()
127
- .describe("The draw.io XML to display (mxGraphModel format)"),
131
+ .describe("REQUIRED: The complete mxGraphModel XML content. You must always provide this argument."),
128
132
  },
129
133
  }, async ({ xml: inputXml }) => {
130
134
  try {
@@ -158,7 +162,7 @@ server.registerTool("display_diagram", {
158
162
  isError: true,
159
163
  };
160
164
  }
161
- log.info(`Displaying diagram, ${xml.length} chars`);
165
+ log.info(`Setting diagram content, ${xml.length} chars`);
162
166
  // Sync from browser state first
163
167
  const browserState = getState(currentSession.id);
164
168
  if (browserState?.xml) {
@@ -175,19 +179,19 @@ server.registerTool("display_diagram", {
175
179
  setState(currentSession.id, xml);
176
180
  // Save AI result (no SVG yet - will be captured by browser)
177
181
  addHistory(currentSession.id, xml, "");
178
- log.info(`Diagram displayed successfully`);
182
+ log.info(`Diagram content set successfully`);
179
183
  return {
180
184
  content: [
181
185
  {
182
186
  type: "text",
183
- text: `Diagram displayed successfully!\n\nThe diagram is now visible in your browser.\n\nXML length: ${xml.length} characters`,
187
+ text: `Diagram content set successfully!\n\nThe diagram is now visible in your browser.\n\nXML length: ${xml.length} characters`,
184
188
  },
185
189
  ],
186
190
  };
187
191
  }
188
192
  catch (error) {
189
193
  const message = error instanceof Error ? error.message : String(error);
190
- log.error("display_diagram failed:", message);
194
+ log.error("create_new_diagram failed:", message);
191
195
  return {
192
196
  content: [{ type: "text", text: `Error: ${message}` }],
193
197
  isError: true,
@@ -270,7 +274,7 @@ server.registerTool("edit_diagram", {
270
274
  content: [
271
275
  {
272
276
  type: "text",
273
- text: "Error: No diagram to edit. Please create a diagram first with display_diagram.",
277
+ text: "Error: No diagram to edit. Please create a diagram first with create_new_diagram.",
274
278
  },
275
279
  ],
276
280
  isError: true,
@@ -369,7 +373,7 @@ server.registerTool("get_diagram", {
369
373
  content: [
370
374
  {
371
375
  type: "text",
372
- text: "No diagram exists yet. Use display_diagram to create one.",
376
+ text: "No diagram exists yet. Use create_new_diagram to create one.",
373
377
  },
374
378
  ],
375
379
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-ai-drawio/mcp-server",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "MCP server for Next AI Draw.io - AI-powered diagram generation with real-time browser preview",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -38,11 +38,11 @@
38
38
  "dependencies": {
39
39
  "@modelcontextprotocol/sdk": "^1.0.4",
40
40
  "linkedom": "^0.18.0",
41
- "open": "^10.1.0",
41
+ "open": "^11.0.0",
42
42
  "zod": "^3.24.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@types/node": "^20",
45
+ "@types/node": "^24.0.0",
46
46
  "tsx": "^4.19.0",
47
47
  "typescript": "^5"
48
48
  },
@@ -1,30 +0,0 @@
1
- /**
2
- * API client for communicating with the Next.js app
3
- *
4
- * Handles:
5
- * - Health checks
6
- * - State synchronization for browser updates
7
- */
8
- interface StateResult {
9
- xml?: string;
10
- version?: number;
11
- lastUpdated?: string;
12
- error?: string;
13
- }
14
- declare class ApiClient {
15
- /**
16
- * Check if the Next.js app is running
17
- */
18
- checkHealth(serverUrl: string): Promise<boolean>;
19
- /**
20
- * Get diagram state from the Next.js app (for browser sync)
21
- */
22
- getState(serverUrl: string, sessionId: string): Promise<StateResult>;
23
- /**
24
- * Push diagram state to the Next.js app (for browser sync)
25
- */
26
- pushState(serverUrl: string, sessionId: string, xml: string): Promise<boolean>;
27
- }
28
- export declare const apiClient: ApiClient;
29
- export {};
30
- //# sourceMappingURL=api-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,UAAU,WAAW;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,cAAM,SAAS;IACX;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBtD;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B1E;;OAEG;IACG,SAAS,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;CAuBtB;AAGD,eAAO,MAAM,SAAS,WAAkB,CAAA"}
@@ -1,87 +0,0 @@
1
- /**
2
- * API client for communicating with the Next.js app
3
- *
4
- * Handles:
5
- * - Health checks
6
- * - State synchronization for browser updates
7
- */
8
- import { log } from "./logger.js";
9
- class ApiClient {
10
- /**
11
- * Check if the Next.js app is running
12
- */
13
- async checkHealth(serverUrl) {
14
- try {
15
- const response = await fetch(`${serverUrl}/api/mcp/health`, {
16
- method: "GET",
17
- signal: AbortSignal.timeout(5000),
18
- });
19
- return response.ok;
20
- }
21
- catch {
22
- // If health endpoint doesn't exist, try the main page
23
- try {
24
- const response = await fetch(serverUrl, {
25
- method: "HEAD",
26
- signal: AbortSignal.timeout(5000),
27
- });
28
- return response.ok;
29
- }
30
- catch {
31
- return false;
32
- }
33
- }
34
- }
35
- /**
36
- * Get diagram state from the Next.js app (for browser sync)
37
- */
38
- async getState(serverUrl, sessionId) {
39
- try {
40
- const response = await fetch(`${serverUrl}/api/mcp/state?sessionId=${encodeURIComponent(sessionId)}`, {
41
- method: "GET",
42
- signal: AbortSignal.timeout(5000),
43
- });
44
- if (!response.ok) {
45
- if (response.status === 404) {
46
- // No state yet, that's okay
47
- return {};
48
- }
49
- return { error: `State API error: ${response.status}` };
50
- }
51
- return await response.json();
52
- }
53
- catch (error) {
54
- const message = error instanceof Error ? error.message : String(error);
55
- log.debug(`getState failed: ${message}`);
56
- return {}; // Don't error out, just return empty
57
- }
58
- }
59
- /**
60
- * Push diagram state to the Next.js app (for browser sync)
61
- */
62
- async pushState(serverUrl, sessionId, xml) {
63
- try {
64
- const response = await fetch(`${serverUrl}/api/mcp/state`, {
65
- method: "POST",
66
- headers: {
67
- "Content-Type": "application/json",
68
- },
69
- body: JSON.stringify({ sessionId, xml }),
70
- signal: AbortSignal.timeout(5000),
71
- });
72
- if (!response.ok) {
73
- log.warn(`pushState failed: ${response.status}`);
74
- return false;
75
- }
76
- return true;
77
- }
78
- catch (error) {
79
- const message = error instanceof Error ? error.message : String(error);
80
- log.warn(`pushState failed: ${message}`);
81
- return false;
82
- }
83
- }
84
- }
85
- // Export singleton instance
86
- export const apiClient = new ApiClient();
87
- //# sourceMappingURL=api-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts DELETED
@@ -1,59 +0,0 @@
1
- /**
2
- * Session management for MCP server
3
- *
4
- * Manages diagram sessions with TTL cleanup.
5
- */
6
- export interface Session {
7
- id: string;
8
- serverUrl: string;
9
- xml: string;
10
- previousXml: string;
11
- version: number;
12
- lastUpdated: Date;
13
- createdAt: Date;
14
- }
15
- declare class SessionManager {
16
- private sessions;
17
- private currentSessionId;
18
- private cleanupTimer;
19
- constructor();
20
- /**
21
- * Generate a unique session ID
22
- */
23
- private generateSessionId;
24
- /**
25
- * Create a new session
26
- */
27
- createSession(serverUrl: string): Session;
28
- /**
29
- * Get the current active session
30
- */
31
- getCurrentSession(): Session | null;
32
- /**
33
- * Get a session by ID
34
- */
35
- getSession(sessionId: string): Session | null;
36
- /**
37
- * Update session state
38
- */
39
- updateSession(sessionId: string, updates: Partial<Session>): Session | null;
40
- /**
41
- * Delete a session
42
- */
43
- deleteSession(sessionId: string): boolean;
44
- /**
45
- * Cleanup expired sessions (older than TTL)
46
- */
47
- private cleanupExpiredSessions;
48
- /**
49
- * Get all active sessions (for debugging)
50
- */
51
- getAllSessions(): Session[];
52
- /**
53
- * Stop the cleanup timer (for graceful shutdown)
54
- */
55
- destroy(): void;
56
- }
57
- export declare const sessionManager: SessionManager;
58
- export {};
59
- //# sourceMappingURL=session.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;CAClB;AAQD,cAAM,cAAc;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,YAAY,CAA8B;;IASlD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAkBzC;;OAEG;IACH,iBAAiB,IAAI,OAAO,GAAG,IAAI;IAOnC;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI;IAU3E;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAOzC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;IACH,cAAc,IAAI,OAAO,EAAE;IAI3B;;OAEG;IACH,OAAO,IAAI,IAAI;CAMlB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAA"}
package/dist/session.js DELETED
@@ -1,120 +0,0 @@
1
- /**
2
- * Session management for MCP server
3
- *
4
- * Manages diagram sessions with TTL cleanup.
5
- */
6
- import { log } from "./logger.js";
7
- // Session TTL in milliseconds (1 hour)
8
- const SESSION_TTL = 60 * 60 * 1000;
9
- // Cleanup interval (5 minutes)
10
- const CLEANUP_INTERVAL = 5 * 60 * 1000;
11
- class SessionManager {
12
- sessions = new Map();
13
- currentSessionId = null;
14
- cleanupTimer = null;
15
- constructor() {
16
- // Start cleanup timer
17
- this.cleanupTimer = setInterval(() => {
18
- this.cleanupExpiredSessions();
19
- }, CLEANUP_INTERVAL);
20
- }
21
- /**
22
- * Generate a unique session ID
23
- */
24
- generateSessionId() {
25
- const timestamp = Date.now().toString(36);
26
- const random = Math.random().toString(36).substring(2, 8);
27
- return `mcp-${timestamp}-${random}`;
28
- }
29
- /**
30
- * Create a new session
31
- */
32
- createSession(serverUrl) {
33
- const session = {
34
- id: this.generateSessionId(),
35
- serverUrl,
36
- xml: "",
37
- previousXml: "",
38
- version: 0,
39
- lastUpdated: new Date(),
40
- createdAt: new Date(),
41
- };
42
- this.sessions.set(session.id, session);
43
- this.currentSessionId = session.id;
44
- log.info(`Created session: ${session.id}`);
45
- return session;
46
- }
47
- /**
48
- * Get the current active session
49
- */
50
- getCurrentSession() {
51
- if (!this.currentSessionId) {
52
- return null;
53
- }
54
- return this.sessions.get(this.currentSessionId) || null;
55
- }
56
- /**
57
- * Get a session by ID
58
- */
59
- getSession(sessionId) {
60
- return this.sessions.get(sessionId) || null;
61
- }
62
- /**
63
- * Update session state
64
- */
65
- updateSession(sessionId, updates) {
66
- const session = this.sessions.get(sessionId);
67
- if (!session) {
68
- return null;
69
- }
70
- Object.assign(session, updates, { lastUpdated: new Date() });
71
- return session;
72
- }
73
- /**
74
- * Delete a session
75
- */
76
- deleteSession(sessionId) {
77
- if (this.currentSessionId === sessionId) {
78
- this.currentSessionId = null;
79
- }
80
- return this.sessions.delete(sessionId);
81
- }
82
- /**
83
- * Cleanup expired sessions (older than TTL)
84
- */
85
- cleanupExpiredSessions() {
86
- const now = Date.now();
87
- let cleanedCount = 0;
88
- for (const [id, session] of this.sessions) {
89
- const age = now - session.lastUpdated.getTime();
90
- if (age > SESSION_TTL) {
91
- this.sessions.delete(id);
92
- if (this.currentSessionId === id) {
93
- this.currentSessionId = null;
94
- }
95
- cleanedCount++;
96
- }
97
- }
98
- if (cleanedCount > 0) {
99
- log.info(`Cleaned up ${cleanedCount} expired session(s)`);
100
- }
101
- }
102
- /**
103
- * Get all active sessions (for debugging)
104
- */
105
- getAllSessions() {
106
- return Array.from(this.sessions.values());
107
- }
108
- /**
109
- * Stop the cleanup timer (for graceful shutdown)
110
- */
111
- destroy() {
112
- if (this.cleanupTimer) {
113
- clearInterval(this.cleanupTimer);
114
- this.cleanupTimer = null;
115
- }
116
- }
117
- }
118
- // Export singleton instance
119
- export const sessionManager = new SessionManager();
120
- //# sourceMappingURL=session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}