solidworks-mcp-server 2.0.0

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.
Files changed (88) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +21 -0
  3. package/README.md +333 -0
  4. package/dist/cache/manager.d.ts +50 -0
  5. package/dist/cache/manager.d.ts.map +1 -0
  6. package/dist/cache/manager.js +127 -0
  7. package/dist/cache/manager.js.map +1 -0
  8. package/dist/db/connection.d.ts +48 -0
  9. package/dist/db/connection.d.ts.map +1 -0
  10. package/dist/db/connection.js +132 -0
  11. package/dist/db/connection.js.map +1 -0
  12. package/dist/index.d.ts +37 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +402 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/knowledge/chromadb.d.ts +16 -0
  17. package/dist/knowledge/chromadb.d.ts.map +1 -0
  18. package/dist/knowledge/chromadb.js +80 -0
  19. package/dist/knowledge/chromadb.js.map +1 -0
  20. package/dist/macro/index.d.ts +6 -0
  21. package/dist/macro/index.d.ts.map +1 -0
  22. package/dist/macro/index.js +6 -0
  23. package/dist/macro/index.js.map +1 -0
  24. package/dist/macro/recorder.d.ts +72 -0
  25. package/dist/macro/recorder.d.ts.map +1 -0
  26. package/dist/macro/recorder.js +228 -0
  27. package/dist/macro/recorder.js.map +1 -0
  28. package/dist/macro/types.d.ts +77 -0
  29. package/dist/macro/types.d.ts.map +1 -0
  30. package/dist/macro/types.js +5 -0
  31. package/dist/macro/types.js.map +1 -0
  32. package/dist/resources/base.d.ts +116 -0
  33. package/dist/resources/base.d.ts.map +1 -0
  34. package/dist/resources/base.js +161 -0
  35. package/dist/resources/base.js.map +1 -0
  36. package/dist/resources/design-table.d.ts +384 -0
  37. package/dist/resources/design-table.d.ts.map +1 -0
  38. package/dist/resources/design-table.js +337 -0
  39. package/dist/resources/design-table.js.map +1 -0
  40. package/dist/resources/pdm.d.ts +1277 -0
  41. package/dist/resources/pdm.d.ts.map +1 -0
  42. package/dist/resources/pdm.js +358 -0
  43. package/dist/resources/pdm.js.map +1 -0
  44. package/dist/resources/registry.d.ts +59 -0
  45. package/dist/resources/registry.d.ts.map +1 -0
  46. package/dist/resources/registry.js +88 -0
  47. package/dist/resources/registry.js.map +1 -0
  48. package/dist/solidworks/api.d.ts +24 -0
  49. package/dist/solidworks/api.d.ts.map +1 -0
  50. package/dist/solidworks/api.js +226 -0
  51. package/dist/solidworks/api.js.map +1 -0
  52. package/dist/solidworks/types.d.ts +55 -0
  53. package/dist/solidworks/types.d.ts.map +1 -0
  54. package/dist/solidworks/types.js +2 -0
  55. package/dist/solidworks/types.js.map +1 -0
  56. package/dist/state/store.d.ts +101 -0
  57. package/dist/state/store.d.ts.map +1 -0
  58. package/dist/state/store.js +262 -0
  59. package/dist/state/store.js.map +1 -0
  60. package/dist/tools/analysis.d.ts +37 -0
  61. package/dist/tools/analysis.d.ts.map +1 -0
  62. package/dist/tools/analysis.js +169 -0
  63. package/dist/tools/analysis.js.map +1 -0
  64. package/dist/tools/drawing.d.ts +151 -0
  65. package/dist/tools/drawing.d.ts.map +1 -0
  66. package/dist/tools/drawing.js +171 -0
  67. package/dist/tools/drawing.js.map +1 -0
  68. package/dist/tools/export.d.ts +97 -0
  69. package/dist/tools/export.d.ts.map +1 -0
  70. package/dist/tools/export.js +128 -0
  71. package/dist/tools/export.js.map +1 -0
  72. package/dist/tools/modeling.d.ts +9 -0
  73. package/dist/tools/modeling.d.ts.map +1 -0
  74. package/dist/tools/modeling.js +120 -0
  75. package/dist/tools/modeling.js.map +1 -0
  76. package/dist/tools/vba.d.ts +123 -0
  77. package/dist/tools/vba.d.ts.map +1 -0
  78. package/dist/tools/vba.js +158 -0
  79. package/dist/tools/vba.js.map +1 -0
  80. package/dist/utils/config.d.ts +18 -0
  81. package/dist/utils/config.d.ts.map +1 -0
  82. package/dist/utils/config.js +26 -0
  83. package/dist/utils/config.js.map +1 -0
  84. package/dist/utils/logger.d.ts +14 -0
  85. package/dist/utils/logger.d.ts.map +1 -0
  86. package/dist/utils/logger.js +84 -0
  87. package/dist/utils/logger.js.map +1 -0
  88. package/package.json +76 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vba.js","sourceRoot":"","sources":["../../src/tools/vba.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare const config: {
2
+ solidworks: {
3
+ path: string;
4
+ version: string;
5
+ modelsPath: string;
6
+ macrosPath: string;
7
+ };
8
+ chromadb: {
9
+ host: string;
10
+ port: number;
11
+ };
12
+ logging: {
13
+ level: string;
14
+ };
15
+ };
16
+ export declare function getSolidWorksExecutable(): string;
17
+ export declare function getTemplatesPath(): string;
18
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAclB,CAAC;AAEF,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
@@ -0,0 +1,26 @@
1
+ import dotenv from 'dotenv';
2
+ import { join } from 'path';
3
+ import { homedir } from 'os';
4
+ dotenv.config();
5
+ export const config = {
6
+ solidworks: {
7
+ path: process.env.SOLIDWORKS_PATH || 'C:/Program Files/SOLIDWORKS Corp/SOLIDWORKS',
8
+ version: process.env.SOLIDWORKS_VERSION || '2024',
9
+ modelsPath: process.env.SOLIDWORKS_MODELS_PATH || join(homedir(), 'Documents', 'SolidWorks'),
10
+ macrosPath: process.env.SOLIDWORKS_MACROS_PATH || join(homedir(), 'Documents', 'SolidWorks', 'Macros'),
11
+ },
12
+ chromadb: {
13
+ host: process.env.CHROMA_HOST || 'localhost',
14
+ port: parseInt(process.env.CHROMA_PORT || '8000', 10),
15
+ },
16
+ logging: {
17
+ level: process.env.LOG_LEVEL || 'info',
18
+ },
19
+ };
20
+ export function getSolidWorksExecutable() {
21
+ return join(config.solidworks.path, 'SLDWORKS.exe');
22
+ }
23
+ export function getTemplatesPath() {
24
+ return join(config.solidworks.path, 'data', 'templates');
25
+ }
26
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,6CAA6C;QAClF,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,MAAM;QACjD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC;QAC5F,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC;KACvG;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW;QAC5C,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,EAAE,EAAE,CAAC;KACtD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;KACvC;CACF,CAAC;AAEF,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Logger utility for SolidWorks MCP Server
3
+ */
4
+ import winston from 'winston';
5
+ export declare const logger: winston.Logger;
6
+ export declare function logInfo(message: string, metadata?: any): void;
7
+ export declare function logError(message: string, error?: Error | any): void;
8
+ export declare function logWarning(message: string, metadata?: any): void;
9
+ export declare function logDebug(message: string, metadata?: any): void;
10
+ export declare function logOperation(operation: string, status: 'started' | 'completed' | 'failed', metadata?: any): void;
11
+ export declare function logResource(resourceType: string, action: string, resourceId: string, metadata?: any): void;
12
+ export declare function logAPICall(method: string, endpoint: string, status: number, duration?: number): void;
13
+ export default logger;
14
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAoB9B,eAAO,MAAM,MAAM,gBAejB,CAAC;AAuBH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAE7D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,CAMnE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAEhE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAE9D;AAGD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAchH;AAGD,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,CAE1G;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAGpG;AAGD,eAAe,MAAM,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Logger utility for SolidWorks MCP Server
3
+ */
4
+ import winston from 'winston';
5
+ const { combine, timestamp, printf, colorize, errors } = winston.format;
6
+ // Custom format for console output
7
+ const consoleFormat = printf(({ level, message, timestamp, stack, ...metadata }) => {
8
+ let msg = `${timestamp} [${level}]: ${message}`;
9
+ if (Object.keys(metadata).length > 0) {
10
+ msg += ` ${JSON.stringify(metadata)}`;
11
+ }
12
+ if (stack) {
13
+ msg += `\n${stack}`;
14
+ }
15
+ return msg;
16
+ });
17
+ // Create logger instance
18
+ export const logger = winston.createLogger({
19
+ level: process.env.LOG_LEVEL || 'info',
20
+ format: combine(timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), errors({ stack: true })),
21
+ transports: [
22
+ // Console transport
23
+ new winston.transports.Console({
24
+ format: combine(colorize(), consoleFormat)
25
+ })
26
+ ]
27
+ });
28
+ // Add file transport in production
29
+ if (process.env.NODE_ENV === 'production') {
30
+ logger.add(new winston.transports.File({
31
+ filename: 'error.log',
32
+ level: 'error',
33
+ format: combine(timestamp(), winston.format.json())
34
+ }));
35
+ logger.add(new winston.transports.File({
36
+ filename: 'combined.log',
37
+ format: combine(timestamp(), winston.format.json())
38
+ }));
39
+ }
40
+ // Logger helper functions
41
+ export function logInfo(message, metadata) {
42
+ logger.info(message, metadata);
43
+ }
44
+ export function logError(message, error) {
45
+ if (error instanceof Error) {
46
+ logger.error(message, { error: error.message, stack: error.stack });
47
+ }
48
+ else {
49
+ logger.error(message, { error });
50
+ }
51
+ }
52
+ export function logWarning(message, metadata) {
53
+ logger.warn(message, metadata);
54
+ }
55
+ export function logDebug(message, metadata) {
56
+ logger.debug(message, metadata);
57
+ }
58
+ // Log operation execution
59
+ export function logOperation(operation, status, metadata) {
60
+ const message = `Operation ${operation} ${status}`;
61
+ switch (status) {
62
+ case 'started':
63
+ logDebug(message, metadata);
64
+ break;
65
+ case 'completed':
66
+ logInfo(message, metadata);
67
+ break;
68
+ case 'failed':
69
+ logError(message, metadata);
70
+ break;
71
+ }
72
+ }
73
+ // Log resource operations
74
+ export function logResource(resourceType, action, resourceId, metadata) {
75
+ logger.info(`Resource ${resourceType} ${action}`, { resourceId, ...metadata });
76
+ }
77
+ // Log API calls
78
+ export function logAPICall(method, endpoint, status, duration) {
79
+ const level = status >= 400 ? 'error' : 'info';
80
+ logger.log(level, `API ${method} ${endpoint}`, { status, duration });
81
+ }
82
+ // Export logger instance for direct use
83
+ export default logger;
84
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "solidworks-mcp-server",
3
+ "version": "2.0.0",
4
+ "description": "Comprehensive MCP server for SolidWorks with macro recording, SQL design tables, and PDM integration",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "solidworks-mcp-server": "./dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsx watch src/index.ts",
13
+ "start": "node dist/index.js",
14
+ "lint": "eslint src",
15
+ "typecheck": "tsc --noEmit",
16
+ "test": "vitest",
17
+ "prepare": "npm run build",
18
+ "postinstall": "node scripts/setup.js"
19
+ },
20
+ "dependencies": {
21
+ "@modelcontextprotocol/sdk": "^1.0.1",
22
+ "chromadb": "^1.8.1",
23
+ "dotenv": "^16.4.5",
24
+ "handlebars": "^4.7.8",
25
+ "mssql": "^11.0.0",
26
+ "pg": "^8.16.0",
27
+ "uuid": "^11.0.0",
28
+ "winax": "^3.4.2",
29
+ "winston": "^3.15.0",
30
+ "zod": "^3.23.8"
31
+ },
32
+ "devDependencies": {
33
+ "@eslint/js": "^9.32.0",
34
+ "@types/mssql": "^9.1.7",
35
+ "@types/node": "^22.5.1",
36
+ "@types/pg": "^8.15.5",
37
+ "@types/uuid": "^10.0.0",
38
+ "@typescript-eslint/eslint-plugin": "^8.4.0",
39
+ "@typescript-eslint/parser": "^8.4.0",
40
+ "eslint": "^9.9.1",
41
+ "prettier": "^3.3.3",
42
+ "tsx": "^4.7.0",
43
+ "typescript": "^5.5.4",
44
+ "vitest": "^1.2.1"
45
+ },
46
+ "keywords": [
47
+ "mcp",
48
+ "solidworks",
49
+ "cad",
50
+ "automation",
51
+ "vba"
52
+ ],
53
+ "author": "Vinnie Esposito <vinnie@solidworksmcp.dev>",
54
+ "license": "MIT",
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "git+https://github.com/vinnieespo/solidworks-mcp-server.git"
58
+ },
59
+ "bugs": {
60
+ "url": "https://github.com/vinnieespo/solidworks-mcp-server/issues"
61
+ },
62
+ "homepage": "https://github.com/vinnieespo/solidworks-mcp-server#readme",
63
+ "files": [
64
+ "dist/",
65
+ "README.md",
66
+ "LICENSE",
67
+ "CHANGELOG.md"
68
+ ],
69
+ "publishConfig": {
70
+ "access": "public",
71
+ "registry": "https://registry.npmjs.org/"
72
+ },
73
+ "engines": {
74
+ "node": ">=20.0.0"
75
+ }
76
+ }