{"_id":"@aas-ai-editor/mcp-server","_rev":"11-01435537acc609d92b7606b95f4149fb","name":"@aas-ai-editor/mcp-server","dist-tags":{"latest":"0.3.7"},"versions":{"0.2.0":{"name":"@aas-ai-editor/mcp-server","version":"0.2.0","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.2.0","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/aas-ai-editor/aas-ai-editor#readme","bugs":{"url":"https://github.com/aas-ai-editor/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"ad4af6b8903003752c82dccb31031f98730ab5e4","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.2.0.tgz","fileCount":91,"integrity":"sha512-YdlE1aSHiNeJjA+DpvTYwgf/QYjZp6eTkB7H2Ty0km25sIHbto7rg1dZYahjMsnDOapMjFIgLeUkwcdV0cbQag==","signatures":[{"sig":"MEQCIBsfuoS8YT+ZAGW2WwLPgCwjRp6EU2ZlOCcpJzT+MvSDAiAogqT1qNexoXADSp+6wVAmzAUv+Rw/qyqriF7MfqodNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":395154},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/tmp/0bae080c9152635dd89269ba8f9598ed/aas-ai-editor-mcp-server-0.2.0.tgz","_integrity":"sha512-YdlE1aSHiNeJjA+DpvTYwgf/QYjZp6eTkB7H2Ty0km25sIHbto7rg1dZYahjMsnDOapMjFIgLeUkwcdV0cbQag==","repository":{"url":"git+https://github.com/aas-ai-editor/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.8.2","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.0","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.2.0_1770141401786_0.37309466512287903","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aas-ai-editor/mcp-server","version":"0.2.1","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.2.1","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/aas-ai-editor/aas-ai-editor#readme","bugs":{"url":"https://github.com/aas-ai-editor/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"ec040d4743bef552cc3a6fa7071d7c0c1ee8d930","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.2.1.tgz","fileCount":91,"integrity":"sha512-VjZumoezcqCPBpBfJjAxJDDwdz7TlvUH1tdMNJlFgpCvh2xL12pC0OsyZ329FHX+KbkKZVgnly8vKNQZwL03kw==","signatures":[{"sig":"MEYCIQDLcFrpUyUd5pQStRfvpznc6PenMHHl2Z9eQbjbk0dBdQIhAKCZCcSzwZ138pif3BEtzrjBNsJ3M/0xx66RFO82yNhL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":396810},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.2.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/tmp/07a6d419a9c75c6dff6db0d2e454fe78/aas-ai-editor-mcp-server-0.2.1.tgz","_integrity":"sha512-VjZumoezcqCPBpBfJjAxJDDwdz7TlvUH1tdMNJlFgpCvh2xL12pC0OsyZ329FHX+KbkKZVgnly8vKNQZwL03kw==","repository":{"url":"git+https://github.com/aas-ai-editor/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.8.2","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.1","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.2.1_1770142354828_0.32702911193179496","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aas-ai-editor/mcp-server","version":"0.2.2","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.2.2","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"3c004bf338c92d244d3fc41a022158d396b816ba","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.2.2.tgz","fileCount":91,"integrity":"sha512-aluv6Q/7x4G6L2XJ9mlDCjbYhNGkETmlitirrghRm9wM7m1lFDWXhVtx5TQfhMpOwAQ5NqFcbemiO31w9vzBiQ==","signatures":[{"sig":"MEQCIHxaRBB3BlPm4iJlEGKWrWeFn05jzKB4sKDGBTc7zm/aAiBwDB4+GdydsiThxqxj78BXVGr8rk3oQgjRjK3dVCoBHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":396801},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.2.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/tmp/787b663b2704683be5a0614d5b3191ee/aas-ai-editor-mcp-server-0.2.2.tgz","_integrity":"sha512-aluv6Q/7x4G6L2XJ9mlDCjbYhNGkETmlitirrghRm9wM7m1lFDWXhVtx5TQfhMpOwAQ5NqFcbemiO31w9vzBiQ==","repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.8.2","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.2.2_1770142597292_0.061373745451856365","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aas-ai-editor/mcp-server","version":"0.3.0","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.3.0","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"9e4a0b3e44c77b5386058e52fcaaefa880318820","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.0.tgz","fileCount":95,"integrity":"sha512-iRBZQ6j9imQkE4+45tZ5yyozVAdZ49PCNSZzv1SJ1qa5G5RENIwIHAUm/DdR0OS/4xacFa4rvYWf+vNdSm5jyg==","signatures":[{"sig":"MEYCIQChq2FccH1zFaSfbilrmiZ3YSHYkeOcX+NalQH5nPn1fQIhAKOVxn2AlXhGh8R23K8G+eenX/79cSD6u/jvPRtk5HuG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435558},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/tmp/8b1532d55e57b60ed437692452c61bea/aas-ai-editor-mcp-server-0.3.0.tgz","_integrity":"sha512-iRBZQ6j9imQkE4+45tZ5yyozVAdZ49PCNSZzv1SJ1qa5G5RENIwIHAUm/DdR0OS/4xacFa4rvYWf+vNdSm5jyg==","repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.8.2","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.2","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.0_1770146651399_0.9375150770048704","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aas-ai-editor/mcp-server","version":"0.3.1","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.3.1","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"19cc14a1de0caed93dd68f41f24392fe36cc0ec8","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.1.tgz","fileCount":95,"integrity":"sha512-6D3R3HGASpLqVkBwCw71+TcNaNnL4SQeZ1+KrFFci3ypXB10e+g/ydvPM7gI6QGInAfSep3rPhK6jjWixsHorA==","signatures":[{"sig":"MEUCIFY16LZ+d14c6WHNf9iadgqhQTlzTc2UNU8FlFWWIyGTAiEAr3KEN795AgsPiiVg58c11Y8kNKe2EbwbvVaM07Aa59I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435558},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.3.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/tmp/00ad64da4b53519f20c72f240ad063f1/aas-ai-editor-mcp-server-0.3.1.tgz","_integrity":"sha512-6D3R3HGASpLqVkBwCw71+TcNaNnL4SQeZ1+KrFFci3ypXB10e+g/ydvPM7gI6QGInAfSep3rPhK6jjWixsHorA==","repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.8.2","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.3","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.1_1770147114925_0.5117544653954014","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@aas-ai-editor/mcp-server","version":"0.3.2","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.3.2","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"40f8e3adcfb7ccdbaca74831c1b2aef3d6df1617","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.2.tgz","fileCount":98,"integrity":"sha512-53D5dMPH/utTKCMKtv0xNZDx6ZroFauK3j5ts4AGo72xpWEB9pglmXfypgmGdW7ozC6TcLHWlgzTAOOILnjFxg==","signatures":[{"sig":"MEUCIExB9r96Q61L3wQh4yBXpnuJ6oiT3RwfaO5SBtlivSq5AiEA/3DoVcVqPu6ShSorRjmcolLORf/o9pFw0cRT2q8574E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451311},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ca52362127de97f4f629369cc69c9ea51107e8e7","scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.9.4","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"workspace:*","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.2_1770152238434_0.9611826283206257","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@aas-ai-editor/mcp-server","version":"0.3.3","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.3.3","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"a9327e50e795e7edd2bb5d5394d7dfd413794d03","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.3.tgz","fileCount":99,"integrity":"sha512-Xpk3G7UOSKSo6RgLsihxAp3jOchzqkwO5zXD+pI0hIvGZuD5ZRBW+Ij96Ahaxt6nmcdZkcXLI1BTnNv77IYlzA==","signatures":[{"sig":"MEUCIEpAp3rFAIlsKUgyYgQPhe+T8Uhr9Yxh1Jiq/6cnqBQNAiEAzJOFyUM9EZRkSm7rleZ3aNyS0dd06WBqm+4/1sPklZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":455176},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.3.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/private/var/folders/pk/yqt38ry90vscv71zb0j4hggm0000gn/T/37f04c7529b9fae69fa77fc9ecdfffec/aas-ai-editor-mcp-server-0.3.3.tgz","_integrity":"sha512-Xpk3G7UOSKSo6RgLsihxAp3jOchzqkwO5zXD+pI0hIvGZuD5ZRBW+Ij96Ahaxt6nmcdZkcXLI1BTnNv77IYlzA==","repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.9.4","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.5","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.3_1770155752994_0.8624882786535584","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@aas-ai-editor/mcp-server","version":"0.3.4","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.3.4","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"13b3d210decec3b2b07e168d42596de9dddabc8f","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.4.tgz","fileCount":99,"integrity":"sha512-DyD1o9Uhgsd6drwwMxqGcfAq/Y0qFR8/rtXZ14Le4SybDK3ZKhLNB01DJzGwRc9JESbnkeEiUEbcdspJkZQJ3g==","signatures":[{"sig":"MEUCIQDstqvuuaZoBXCqF04w3pbTIUPwtnWZb3t9nxYtrbbqXgIgDM6RmKd4m0lHHuQ3/3px1ezpWz/vJqS+wy9zC1pRRPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457927},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.3.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/tmp/bfddcfdd81dd3c29b85038a01e322447/aas-ai-editor-mcp-server-0.3.4.tgz","_integrity":"sha512-DyD1o9Uhgsd6drwwMxqGcfAq/Y0qFR8/rtXZ14Le4SybDK3ZKhLNB01DJzGwRc9JESbnkeEiUEbcdspJkZQJ3g==","repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.8.2","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.5","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.4_1770157667894_0.2061096847934516","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@aas-ai-editor/mcp-server","version":"0.3.5","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.3.5","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"b2826a0464b2ea369e6fefa21f3ea59cf9236bcf","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.5.tgz","fileCount":99,"integrity":"sha512-gM6jn34lOcAqa8wznFixPIIFNyACY/yNq3do7lOz+/bWt0Phia7/JMP/Wc5PdL5f2c7Ot0G9RUyHowtsfNV5dw==","signatures":[{"sig":"MEUCIQDY4CeE6aEj1vRX7eDQUX7NZ6hwfUiXpWhuNM/ErYZN9AIgJ0uvj+eV5CKUQYF+lZrqFI03zsbbrpAvyhw5e4QWKRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457927},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.3.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/private/var/folders/pk/yqt38ry90vscv71zb0j4hggm0000gn/T/accd1b5656f59415878db23fdd6a41e5/aas-ai-editor-mcp-server-0.3.5.tgz","_integrity":"sha512-gM6jn34lOcAqa8wznFixPIIFNyACY/yNq3do7lOz+/bWt0Phia7/JMP/Wc5PdL5f2c7Ot0G9RUyHowtsfNV5dw==","repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.9.4","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.5","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.5_1770157713524_0.4176581656212486","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@aas-ai-editor/mcp-server","version":"0.3.6","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","_id":"@aas-ai-editor/mcp-server@0.3.6","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"homepage":"https://github.com/hadijannat/aas-ai-editor#readme","bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"bin":{"aas-mcp-server":"dist/cli.js"},"dist":{"shasum":"372684a4ab9cc5ed8591268115e2e8210f1d0a7a","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.6.tgz","fileCount":99,"integrity":"sha512-qej222WEVVpeHsEcPeoAsB7Rn7bPLWO04zITU14Kzd6JUtf8rA2JKopPXgQBGx/CPfYU1qz2+pDvpAnVYjBCrA==","signatures":[{"sig":"MEYCIQDJOiqmYaUAUDTS6AZalV0JDUTxlz1uT41N3EyLBN9lkAIhAO7Uwpkm1rCVtwOqhq/9M+GPSncTWuZ6/ypKq1EbsWYX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471965},"main":"./dist/index.js","type":"module","_from":"file:aas-ai-editor-mcp-server-0.3.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsx watch src/server.ts","lint":"eslint src --ext .ts","test":"vitest run","build":"tsc","start":"node dist/server.js","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"_resolved":"/tmp/53a461fa13754595798387d8948c8249/aas-ai-editor-mcp-server-0.3.6.tgz","_integrity":"sha512-qej222WEVVpeHsEcPeoAsB7Rn7bPLWO04zITU14Kzd6JUtf8rA2JKopPXgQBGx/CPfYU1qz2+pDvpAnVYjBCrA==","repository":{"url":"git+https://github.com/hadijannat/aas-ai-editor.git","type":"git","directory":"packages/mcp-server"},"_npmVersion":"10.8.2","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","directories":{},"_nodeVersion":"20.20.0","dependencies":{"zod":"^3.23.8","cors":"^2.8.6","pino":"^9.4.0","uuid":"^10.0.0","xlsx":"^0.18.5","helmet":"^8.1.0","express":"^4.21.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino-pretty":"^11.2.0","@anthropic-ai/sdk":"^0.30.0","express-rate-limit":"^8.2.1","@aas-ai-editor/core":"0.2.5","@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^2.1.0","@eslint/js":"^9.39.2","typescript":"^5.6.0","@types/cors":"^2.8.19","@types/node":"^22.7.0","@types/uuid":"^10.0.0","@types/express":"^4.17.21","typescript-eslint":"^8.54.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server_0.3.6_1770159289526_0.4440732856333911","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@aas-ai-editor/mcp-server","version":"0.3.7","description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","type":"module","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"}},"main":"./dist/index.js","types":"./dist/index.d.ts","bin":{"aas-mcp-server":"dist/cli.js"},"scripts":{"build":"tsc","dev":"tsx watch src/server.ts","start":"node dist/server.js","lint":"eslint src --ext .ts","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest","prepublishOnly":"pnpm run build"},"keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","homepage":"https://github.com/hadijannat/aas-ai-editor#readme","repository":{"type":"git","url":"git+https://github.com/hadijannat/aas-ai-editor.git","directory":"packages/mcp-server"},"bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"dependencies":{"@aas-ai-editor/core":"workspace:*","@anthropic-ai/sdk":"^0.30.0","@modelcontextprotocol/sdk":"^1.0.0","cors":"^2.8.6","express":"^4.21.0","express-rate-limit":"^8.2.1","helmet":"^8.1.0","mammoth":"^1.11.0","pdfjs-dist":"^5.4.624","pino":"^9.4.0","pino-pretty":"^11.2.0","uuid":"^10.0.0","xlsx":"^0.18.5","zod":"^3.23.8"},"devDependencies":{"@eslint/js":"^9.39.2","@types/cors":"^2.8.19","@types/express":"^4.17.21","@types/node":"^22.7.0","@types/uuid":"^10.0.0","tsx":"^4.19.0","typescript":"^5.6.0","typescript-eslint":"^8.54.0","vitest":"^2.1.0"},"engines":{"node":">=20.0.0"},"_id":"@aas-ai-editor/mcp-server@0.3.7","gitHead":"6f0f8f7b0a54a66d5a759e5f859a6d66c8b6d988","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-b3YgJYUnyqz7fxrgjbi4W2EBjyMG6NYWb5cpD5bP3tlrHqhhU4wRrsh6mZQW+I9qSenVcoygkJZmFD7cYERStQ==","shasum":"cec4b721b290e7683aa3028d147c3e1c1e27df17","tarball":"https://registry.npmjs.org/@aas-ai-editor/mcp-server/-/mcp-server-0.3.7.tgz","fileCount":98,"unpackedSize":470928,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCMCez8F6IVNBsA/iOSjyZLnTEo/qAKSlobUJcu2yC6NAIgcjAN209w0Wvp7iVeckFm79stIuVADxPlhDPQxAoqp3I="}]},"_npmUser":{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"},"directories":{},"maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_0.3.7_1770159316443_0.8801909242034478"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-03T17:56:41.683Z","modified":"2026-02-03T22:55:16.735Z","0.2.0":"2026-02-03T17:56:41.954Z","0.2.1":"2026-02-03T18:12:35.101Z","0.2.2":"2026-02-03T18:16:37.449Z","0.3.0":"2026-02-03T19:24:11.580Z","0.3.1":"2026-02-03T19:31:55.090Z","0.3.2":"2026-02-03T20:57:18.614Z","0.3.3":"2026-02-03T21:55:53.143Z","0.3.4":"2026-02-03T22:27:48.075Z","0.3.5":"2026-02-03T22:28:33.734Z","0.3.6":"2026-02-03T22:54:49.736Z","0.3.7":"2026-02-03T22:55:16.598Z"},"bugs":{"url":"https://github.com/hadijannat/aas-ai-editor/issues"},"author":{"name":"AAS AI Editor Contributors"},"license":"MIT","homepage":"https://github.com/hadijannat/aas-ai-editor#readme","keywords":["mcp","model-context-protocol","claude","ai","aas","asset-administration-shell","aasx","industry4.0","digital-twin"],"repository":{"type":"git","url":"git+https://github.com/hadijannat/aas-ai-editor.git","directory":"packages/mcp-server"},"description":"MCP Streamable HTTP server with Claude AI integration for AASX editing","maintainers":[{"name":"hadijannat","email":"h.jannatabadi@iat.rwth-aachen.de"}],"readme":"# @aas-ai-editor/mcp-server\n\n[![npm version](https://img.shields.io/npm/v/@aas-ai-editor/mcp-server.svg)](https://www.npmjs.com/package/@aas-ai-editor/mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\nMCP (Model Context Protocol) server for AI-assisted editing of Asset Administration Shell (AAS) packages. This server enables Claude and other AI assistants to read, validate, and modify AASX files through a standardized protocol.\n\n## What is AAS/AASX?\n\n**Asset Administration Shell (AAS)** is the standardized digital twin format for Industry 4.0. It provides a unified way to describe industrial assets (machines, devices, components) with:\n\n- **Submodels**: Structured data like Nameplate, Documentation, Technical Data\n- **Semantic IDs**: References to ECLASS, IDTA templates for interoperability\n- **Supplementary files**: PDFs, images, CAD files bundled in the package\n\n**AASX files** are ZIP-based packages containing AAS data (JSON/XML) plus attachments.\n\nLearn more: [Industrial Digital Twin Association (IDTA)](https://industrialdigitaltwin.org/)\n\n## Features\n\n- **23 MCP Tools** for document lifecycle, querying, editing, validation, and AI chat\n- **AI-powered assistant** with automatic tool calling (requires Anthropic API key)\n- **Self-correcting validation** with automatic fix suggestions\n- **Patch-based editing** with full undo/redo support\n- **IDTA template validation** for industry-standard submodels\n- **Session management** with security hardening\n\n## Quick Start\n\nGet up and running in 3 steps:\n\n```bash\n# 1. Run the server\nnpx @aas-ai-editor/mcp-server\n\n# 2. The server starts on http://localhost:3001\n#    Health check: curl http://localhost:3001/health\n\n# 3. Connect your AI client (see Claude integration below)\n```\n\n## Installation\n\n### npm (Recommended)\n\n```bash\n# Run directly with npx\nnpx @aas-ai-editor/mcp-server\n\n# Or install globally\nnpm install -g @aas-ai-editor/mcp-server\naas-mcp-server\n```\n\n### Docker\n\n```bash\ndocker pull hadijannat/aas-mcp-server\ndocker run -p 3001:3001 hadijannat/aas-mcp-server\n```\n\n## Claude Code Integration\n\nAdd to your Claude Code configuration:\n\n```bash\nclaude mcp add aas-editor npx @aas-ai-editor/mcp-server\n```\n\nOr manually edit `~/.claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"aas-editor\": {\n      \"command\": \"npx\",\n      \"args\": [\"@aas-ai-editor/mcp-server\"]\n    }\n  }\n}\n```\n\n## Example Conversations\n\nOnce connected, you can have natural conversations with Claude about your AASX files:\n\n```\nYou: Load the file at /path/to/pump-device.aasx\n\nClaude: I've loaded the AASX file. It contains:\n- 1 Asset Administration Shell: \"PumpAAS\"\n- 3 Submodels: Nameplate, TechnicalData, Documentation\n- 47 total elements\n\nYou: What's the manufacturer name?\n\nClaude: Looking at the Nameplate submodel, the ManufacturerName is \"Bosch Rexroth AG\".\n\nYou: Change it to \"Siemens AG\"\n\nClaude: I'll update the ManufacturerName property. Here's the proposed change:\n- Path: /submodels/0/submodelElements/0/value\n- Old value: \"Bosch Rexroth AG\"\n- New value: \"Siemens AG\"\n\n[Change applied]\n\nYou: Validate the document\n\nClaude: Running validation... Found 2 issues:\n1. Warning: Missing semanticId on Property \"CustomField\"\n2. Error: Invalid date format in \"ManufacturingDate\"\n\nYou: Fix these issues automatically\n\nClaude: I'll generate fixes for these issues:\n1. Added semanticId reference to CustomField\n2. Corrected date format to ISO 8601\n\n[2 fixes applied]\n\nYou: Save the file\n\nClaude: Document saved to /path/to/pump-device.aasx\n```\n\n## Claude Desktop Integration\n\nAdd to your Claude Desktop configuration file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n### Using npx (Recommended)\n\n```json\n{\n  \"mcpServers\": {\n    \"aas-editor\": {\n      \"command\": \"npx\",\n      \"args\": [\"@aas-ai-editor/mcp-server\"],\n      \"env\": {\n        \"MCP_PORT\": \"3001\",\n        \"MCP_ALLOWED_PATHS\": \"/Users/yourname/aasx-files\"\n      }\n    }\n  }\n}\n```\n\n### Using Docker\n\n```json\n{\n  \"mcpServers\": {\n    \"aas-editor\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-p\", \"3001:3001\",\n        \"-v\", \"/path/to/aasx-files:/data\",\n        \"-e\", \"MCP_ALLOWED_PATHS=/data\",\n        \"aas-ai-editor/mcp-server\"\n      ]\n    }\n  }\n}\n```\n\n## Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `ANTHROPIC_API_KEY` | Anthropic API key for AI features | - |\n| `MCP_SERVER_PORT` | Server port | `3001` |\n| `MCP_SERVER_HOST` | Server host binding | `0.0.0.0` |\n| `MCP_API_KEY` | Single API key for client authentication | - |\n| `MCP_API_KEYS` | Comma-separated API keys | - |\n| `MCP_ALLOWED_PATHS` | Allowed directories for file operations | - |\n| `MCP_SESSION_TIMEOUT_MS` | Session timeout in milliseconds | `1800000` |\n| `AI_MODEL` | Claude model to use | `claude-sonnet-4-20250514` |\n| `AI_MAX_TOKENS` | Maximum response tokens | `4096` |\n| `CORS_ALLOWED_ORIGINS` | Allowed CORS origins | `http://localhost:5173` |\n| `NODE_ENV` | Environment mode | `development` |\n\n### Anthropic API Key\n\nThe AI chat feature requires an Anthropic API key. You can provide it in three ways:\n\n1. **Environment variable** (recommended for servers):\n   ```bash\n   ANTHROPIC_API_KEY=sk-ant-... npx @aas-ai-editor/mcp-server\n   ```\n\n2. **Claude Desktop config**:\n   ```json\n   {\n     \"mcpServers\": {\n       \"aas-editor\": {\n         \"env\": { \"ANTHROPIC_API_KEY\": \"sk-ant-...\" }\n       }\n     }\n   }\n   ```\n\n3. **Request header** (for web clients):\n   ```\n   X-Anthropic-Api-Key: sk-ant-...\n   ```\n\nGet your API key at: https://console.anthropic.com/settings/keys\n\n## Available Tools\n\n### Document Lifecycle\n- `document_load` - Load an AASX file\n- `document_save` - Save changes to file\n- `document_create` - Create new AAS environment\n- `document_undo` / `document_redo` - Undo/redo operations\n\n### Query Tools\n- `query_list_submodels` - List all submodels\n- `query_find_by_semantic_id` - Find elements by semantic ID\n- `query_get_by_path` - Get element at JSON pointer path\n- `query_list_elements` - List submodel elements\n- `query_get_pointer` - Get JSON pointer for element\n- `query_diff` - Compare environments\n\n### Edit Tools\n- `edit_add` - Add new element\n- `edit_update` - Update existing element\n- `edit_delete` - Delete element\n- `edit_move` / `edit_copy` - Move or copy elements\n- `edit_batch` - Batch multiple operations\n\n### Validation Tools\n- `validate_fast` - Quick structural validation\n- `validate_deep` - Full semantic validation (requires validation service)\n- `validate_summary` - Overview of validation status\n- `validate_template` - IDTA template compliance check\n- `validate_auto_fix` - Generate patches to fix validation errors\n\n### AI Tools\n- `ai_chat` - Claude-powered assistant with automatic tool calling\n\n## Security\n\nFor production deployments, configure authentication:\n\n```bash\n# Set API key(s) for client authentication\nexport MCP_API_KEY=\"your-secret-key\"\n# Or multiple keys\nexport MCP_API_KEYS=\"key1,key2,key3\"\n\n# Restrict file access to specific directories\nexport MCP_ALLOWED_PATHS=\"/data/aasx,/uploads\"\n\n# Enable production mode\nexport NODE_ENV=production\n```\n\nSee [Deployment Security Guide](../../docs/deployment/SECURITY.md) for complete security configuration.\n\n## API Usage\n\nThe server exposes MCP over Streamable HTTP:\n\n```bash\n# Health check\ncurl http://localhost:3001/health\n\n# MCP endpoint (requires session management)\ncurl -X POST http://localhost:3001/mcp \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: your-key\" \\\n  -d '{\"jsonrpc\":\"2.0\",\"method\":\"tools/list\",\"id\":1}'\n```\n\n## Troubleshooting\n\n### Server won't start\n\n```bash\n# Check if port is in use\nlsof -i :3001\n\n# Use a different port\nMCP_PORT=3002 npx @aas-ai-editor/mcp-server\n```\n\n### Claude can't connect\n\n1. Verify the server is running: `curl http://localhost:3001/health`\n2. Check your config file path and JSON syntax\n3. Restart Claude Desktop/Claude Code after config changes\n\n### Permission denied errors\n\nSet `MCP_ALLOWED_PATHS` to include your AASX file directories:\n\n```bash\nMCP_ALLOWED_PATHS=/Users/yourname/documents,/tmp npx @aas-ai-editor/mcp-server\n```\n\n### Deep validation not working\n\nDeep validation requires the Python validation service. For standalone use, `validate_fast` provides structural validation without additional dependencies.\n\n## Web UI\n\nFor a visual editing experience, use the companion web application:\n\n```bash\n# Clone and run\ngit clone https://github.com/hadijannat/aas-ai-editor.git\ncd aas-ai-editor\npnpm install\npnpm dev\n```\n\nThen open http://localhost:5173 for:\n- Visual tree editor for AAS documents\n- AI chat sidebar for intelligent assistance\n- Diff viewer for reviewing changes\n- Settings page to configure your API key\n\n## Related Packages\n\n- [`@aas-ai-editor/core`](https://www.npmjs.com/package/@aas-ai-editor/core) - Core AASX parsing and patch operations\n- [`@aas-ai-editor/web-ui`](https://www.npmjs.com/package/@aas-ai-editor/web-ui) - Vue 3 web application\n- [AAS AI Editor](https://github.com/hadijannat/aas-ai-editor) - Full monorepo with all packages\n\n## License\n\nMIT\n","readmeFilename":"README.md"}