{"_id":"ellmos-servercommander-mcp","_rev":"32-a8f2de303b9dc4264340ccad910fb9a7","name":"ellmos-servercommander-mcp","dist-tags":{"latest":"0.1.0-alpha.20","alpha":"0.1.0-alpha.20"},"versions":{"0.1.0-alpha.1":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.1","keywords":["mcp","server","deploy","logs","health-checks","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.1","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"824aa9dcc963cfdfaadd92098863377286b22e56","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.1.tgz","fileCount":14,"integrity":"sha512-H5kgraYuiuINo2Gpl4bn/g0niNmb7jQt/tbccAuL5AhcXY9s5GoTjGCiJABqdPXx0hRuIUFyYFPqzu9pDcAfTA==","signatures":[{"sig":"MEUCIDeFDGF++bRqWwM+BKya8fVcKHA6iiH+xtGToBMLvXWgAiEAvMfSBgvWCD/zULMBeUmgvkptpwOzT4sEPDVhwxSWi50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27655},"type":"commonjs","engines":{"node":">=18"},"gitHead":"47f3c06a1a6ad89e9f3262e557a01fd9a8f9b18d","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.1_1780611647411_0.28754671623631345","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.2","keywords":["mcp","server","deploy","logs","i18n","health-checks","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.2","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"79bf260314062d09a06803359ff5079221d2836b","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.2.tgz","fileCount":16,"integrity":"sha512-dfk92FKUboj12hvmGGdcwjrO9XOUdAM1DJDplsq1g2TyYUOvKe+liiD720DZu5GKKoJV+nXp2SBp37179edOCg==","signatures":[{"sig":"MEUCIQCwnWUn+SboTciBMthD6mCPfEMsBqGXxMAvZNPg8tj8FgIgHd2YhKvQ0WlwmZ7EgBAgPx84c2/LBLVMqGuqyBdvU3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36531},"type":"commonjs","engines":{"node":">=18"},"gitHead":"3a1bc65fc575a9e028d490568f8c39c35711b22a","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.2_1780612942714_0.20580552808119812","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.3":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.3","keywords":["mcp","server","deploy","logs","i18n","health-checks","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.3","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"d05d82209bce4f2b7acc52438727d4c9f30725ca","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.3.tgz","fileCount":17,"integrity":"sha512-/WOXL7yRvyknDRYLmz6XozBRnXScef50+JgQdjgR0cWk642/bfrelAyofEgfhmytHmnVvwmWYEOsR1QFDakEGA==","signatures":[{"sig":"MEUCIAj7DajLb8Hv8Pi7Nd9Es2VMZCVxgut4mv9PDPEtTiVKAiEA1TQJZLF1DEATK0OCpQyZk7fibBri6tV2fzBAoPEU43E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243956},"type":"commonjs","engines":{"node":">=18"},"gitHead":"691ab673ae463d8855f3afcf54d996b7795b5e4a","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.3_1780616366570_0.628088167229707","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.4":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.4","keywords":["mcp","server","deploy","logs","i18n","health-checks","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.4","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"d71d61a66b4ff1e401e75d864e75b8af4802009c","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.4.tgz","fileCount":17,"integrity":"sha512-6AFRVb2TxlAwwS68654zs/Fiv5YrLFYPeMg3fvP0ell1ObR//mMWnGhSrQJg05X94LGaQnsggjyk1cjnJWY5bg==","signatures":[{"sig":"MEUCIQD/crW7yOZi36Px++jKDpk/9Tuk9yX78XvKK+PwGFvrmAIgIGow3kRJGXu2FGdR8qcBRYU5M0Sh88rCR/Pp5iQDLlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251263},"type":"commonjs","engines":{"node":">=18"},"gitHead":"25fc3e43bcb02f6ddee2789f838623f806ce4406","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.4_1780618001897_0.011231344169182256","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.5":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.5","keywords":["mcp","server","deploy","logs","i18n","health-checks","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.5","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"b578af37bb2cdc8d7fe66eb8f751923d26ceca63","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.5.tgz","fileCount":17,"integrity":"sha512-JokVTrB267MhqSFAPZqKPV4krJIqm1TOiftyD9wDhVvoNYaEEntNnZdG99CfFz10PSgsepAv9d9L1oeHxyPe9Q==","signatures":[{"sig":"MEUCIALhv0sBfGd3PrYCm9JtwvbxilyP8Uk4J0FGeQAo+eWnAiEA5QZOpUKIj7yme8+bHtToIpMGSLaCQYzYE61bTaSqg3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254543},"type":"commonjs","engines":{"node":">=18"},"gitHead":"b3e97e8af3e2bf5c53f7a5725861c94a1fa303f3","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.5_1780619354772_0.41901245359503725","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.6":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.6","keywords":["mcp","server","deploy","logs","i18n","health-checks","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.6","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"d4af0a7416b98629d3a083082b29c688f238cb1b","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.6.tgz","fileCount":17,"integrity":"sha512-KJc7Yn4XcsWHIfTBN5SbZMGeZA6GAX4SlpXi1xyw1LXYzajyaNgKL5H8qVYbb+dogdDyIAXVS1S2ZPinZFqA7Q==","signatures":[{"sig":"MEQCIEyF5MU9VQ8hcwYugAQsT9p+PDNUsYBK3PJBRPByZKSnAiBp6Q2iPHxGJpSdmtPlgI535v7Q2OcDMWUJEIDZvwZTGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257705},"type":"commonjs","engines":{"node":">=18"},"gitHead":"315ffa7bad4c1774f8ea9ff29f6b2e30fa0b1484","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.6_1780640129547_0.2966340550109643","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.7":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.7","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.7","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"8d8e7f42f3d3be6f31fb68c0631bb0b5fc80f029","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.7.tgz","fileCount":21,"integrity":"sha512-QmJa97aitQYLCN1XjTOnG2O4Pmon6KY4bwsPEl3QSZsJQ7dikJW+K+I9AAhxnWZV9n6SeWjnnE9Sri1ACYXUSw==","signatures":[{"sig":"MEUCICcJFVii2cAjgIskpjdiSxoah3TmC8sMJ77iQqbPmUJjAiEA8+F3mn6oy2VOdGQwddjr+/5OhpqBaDEvQNcAWmGHVYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276765},"type":"commonjs","engines":{"node":">=18"},"gitHead":"2047f92f5a1589db45379d3dd9e51ec7eded7714","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.7_1781376114696_0.25006643236223125","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.8":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.8","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.8","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"b21c62699009a4f2ae9367c9ee0164b6aa006dd4","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.8.tgz","fileCount":21,"integrity":"sha512-UmzqZcEwU97SUesHGx1a3bcU7xm3CDTxZrTSIRUQwX8HPRTIPvVNbVhP6W9EZZenh1tYg/6gBEjAJs5NEL6edw==","signatures":[{"sig":"MEYCIQCTqwhQGHWPjh9lyMSDYjIJkP3Llx/EcMmJgHEhh+rpcwIhAK131wjBTdsoZw/ReI9IsXPwEdrWrHBWp70iYRNEesTo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277088},"type":"commonjs","engines":{"node":">=18"},"gitHead":"3e00ed8173922b77c0dbbeb46b1ac0f718d21286","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.8_1781628245883_0.24996758893496107","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.9":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.9","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.9","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"ca4043cc4e0477fdae38d75ad793ee1e3e624c25","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.9.tgz","fileCount":21,"integrity":"sha512-N4GH66pzvBK+9fV1UVJ+YEvtZFj5GMieRJ+9DqLvcrhJHfSpy6f3E+GvYTVr0sZCS8SGv6WRrUkNU/PzLbshQQ==","signatures":[{"sig":"MEQCIGyn+zfCbKIQjEkTuE7QFLamE4mhCboYb8BaGHPud9GkAiBONQXSyyoksTmX2Lw/jpZv9lSS33pij1xsVMwsmeskyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277389},"type":"commonjs","engines":{"node":">=18"},"gitHead":"723b8d43b2f6d3b71510e15bfcbdcb97f7c4f79b","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.9_1781711986253_0.9923346343480985","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.10":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.10","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.10","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"0edbaec4158695f368c3fce7a9381fdc3a450731","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.10.tgz","fileCount":21,"integrity":"sha512-EmWPGneGxRE0aNdOn0SI9rBJ989SSNs5AcPWITzmN/gFh9MO9+cJNqk+tCWZYkIq6zVByJG285QltWW3PmduDg==","signatures":[{"sig":"MEUCIDYRSDCxf3cNyo47ZjpwGVN+3og3w64fXaqvSB5Ix4vaAiEAuS8XjbdV8uAsyemSFVzulDbpnOuzX5fJoQUWzs8Xzcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284068},"type":"commonjs","engines":{"node":">=18"},"gitHead":"0e8dbd9259d943f2d7ea29058a71119552ff2842","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.10_1781818750708_0.5154277557029803","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.11":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.11","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.11","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"c53ef49230d1910178cb63db12b2e16a80e2caa4","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.11.tgz","fileCount":21,"integrity":"sha512-/VBeEyJh/BxvWGWF+7BRtOatE/t7KHp1JzMFTFKh6yAuV9DyfbZb3GqszcV76D0pXryKc2T4z2EnU7IBvCtaCg==","signatures":[{"sig":"MEUCIQDKsemvEU2Yy3TzXe2P3D3wXQjGhJ1plyai1JzkDEmH7gIgFYGLlXiQ+XXK2KDGEwFDm1Lqmunjo/pkMcFmy8PK330=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":285106},"type":"commonjs","engines":{"node":">=18"},"gitHead":"2348ef180583b2a3078b9bf5ef70ca344d0523e8","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.11_1783108072699_0.021593067085290185","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.12":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.12","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.12","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"15d42c9fa38d57a4f1f8a8f2fce9a2880b5bf268","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.12.tgz","fileCount":21,"integrity":"sha512-zZcWLoFrMbkpN6xYSHGmQ9RTqER6+77tcCqFWX7MEIlO5eeBEzafzcsZUGyizpi7SJbeubMW0z9gxk3TLoLoFA==","signatures":[{"sig":"MEUCIAmVXkdjeEN9+FOEa0BCjm7qU6LRhqqDo0taY3DpQayfAiEAuztEgHI4kVTY3Dr+Ef/I2hOCZktGDAwzhJFUVyEQPNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297904},"type":"commonjs","engines":{"node":">=18"},"gitHead":"0f4cf8a16a453a41edee86c307327badd18208cd","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.8.0","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.13.1","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.12_1784845434770_0.943059106332842","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.13":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.13","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.13","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"69e6921c6443b5bdb4fd366c34cf387a135ad030","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.13.tgz","fileCount":21,"integrity":"sha512-n7b5pGpT2NYEMDaRrxs5YmPSUYr4Y7UZxKxIfRN/p4HV909NwBZl217uvjr/M9u0tZdhSuXKjTGDNTMvfbl+Fg==","signatures":[{"sig":"MEQCIDjZMQn4s/5jtsdsBwyB92yVOjKdBXv93XJTMNC10b4bAiAVAMGz1tesh4009SELCOLLkMQyjOHMQbU58gQw/r5FoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303322},"type":"commonjs","engines":{"node":">=18"},"gitHead":"236239048cc815c6c1a1180b3fcda6d638899479","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.13_1784848398145_0.5062305713407371","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.14":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.14","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.14","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"74c6417cef5e998a2c20c611bbb828109e88e153","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.14.tgz","fileCount":21,"integrity":"sha512-Q/flyEbxW/GVDGGcOFgpd88HeCfcmt5L6C9SWptb1NCumms874taDiX+kIPZCIuer7yDxPCJgvdyXSbvl6MEww==","signatures":[{"sig":"MEYCIQCs3wlGQSyJe9hUzE35HseRdOobAGlkeTiVU96BzOvRZwIhALQMEZNhS3p/DBP96XiOevQBrKRw6g05cp2E9+JV2rsu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303637},"type":"commonjs","engines":{"node":">=18"},"gitHead":"31d6562f788f2f44ca5c427e62728d17ef5d416d","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.14_1784850379796_0.13031343516310012","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.15":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.15","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.15","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"5111156e57aa8ef9fe7edab1506652dd818c97a3","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.15.tgz","fileCount":20,"integrity":"sha512-xtipgzNmuQkTU9wOQCpJdUger6icNeecjKvWf7yJQTGI8rn95tblq0BoVvzk22GzyVVvAyKEunwceQx8NBcQug==","signatures":[{"sig":"MEYCIQDo/mevs85a/NKfyjFHrkYx9EfAHNqWjq9W1SXiQRQ5zAIhAOuk1haQTkAUhGqE6Cf+oeTdW1a9iWDoRM4EXnFcHhLc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98034},"type":"commonjs","engines":{"node":">=18"},"gitHead":"42757ef0973f07476d7f8201a0debca5c421b3a7","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.15_1785521901580_0.10642829925722741","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.16":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.16","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.16","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"5d3d90698da0f584f74a5aee4185c2491a500a40","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.16.tgz","fileCount":20,"integrity":"sha512-mGIzy7AMyMGYKhBhAYSjKH+Qar5sRMORSzcNhp1blYFikvkBa3/rBAZ48xkwHe+lC2pSEwMdFydd4BKkgd/Yog==","signatures":[{"sig":"MEUCIHtX2+MWtq8d5nTGYnEblbgYGQdi0MKjF0L1o0hPWgLBAiEAoje/QPtIsbz7M3a+pDfKfnBmTFqu0s7ZVXWlghz0abU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98122},"type":"commonjs","engines":{"node":">=18"},"gitHead":"c83579e57ba09653647eb3b5651ff5060be73714","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.16_1785524620103_0.14701404038124988","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.17":{"name":"ellmos-servercommander-mcp","version":"0.1.0-alpha.17","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"author":{"name":"Lukas Geiger"},"license":"MIT","_id":"ellmos-servercommander-mcp@0.1.0-alpha.17","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"dist":{"shasum":"88ac4c71469879d598fda91d4ff6f8ba82706176","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.17.tgz","fileCount":20,"integrity":"sha512-7eJKwfSpbxv2jwhlac60aYc6Z9qyKlyEa5lZmNhZGO96o1ozsjBU61k/XxB3Y4vUGGsIMtakbdXSsC8uwoYteg==","signatures":[{"sig":"MEUCIQCYAAsFZ5eYyxKURIW8Mddf2qfeBPZZs48WCJyhB3LRwgIgIOtZkTUISNB3KxjCY5ikuKz/TTnl4BHD4Z0PaMjvyY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97686},"type":"commonjs","engines":{"node":">=18"},"gitHead":"de46fb631528971a130f0c5591c8be409583f6cc","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -q","smoke":"node bin/ellmos-servercommander.js --version"},"_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.17_1785525502875_0.8383643351460357","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.20":{"_id":"ellmos-servercommander-mcp@0.1.0-alpha.20","bin":{"ellmos-servercommander":"bin/ellmos-servercommander.js"},"bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"dist":{"shasum":"33c5f11e21921e29e014ce967fbef392465d00fe","tarball":"https://registry.npmjs.org/ellmos-servercommander-mcp/-/ellmos-servercommander-mcp-0.1.0-alpha.20.tgz","fileCount":25,"integrity":"sha512-Pq0Q39hZmZ2EM0Y3hje8ZFZ4zCixqhKBDVRYC9UFRdC5Ixvz7016HI1+xMoo0Tw3a4HDJMjdeJAcuCmNEtFIqg==","signatures":[{"sig":"MEUCIHl8zdgvYIu8sedijaLtyKRkJ6MYW7lhu96dgvbqiFpVAiEAzyfGbDokZuKxP0ZApZtOGtOYjXN7kdLaXuk9TYK1wsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCbeBpzX/sCo0tj1asTydz1oy2dE5KtIgR3j0XJFyK8JQIhAMC7p+vbdReg7lSj4XEhBpvXKOD+uu6k+umXOc+NAQxN"}],"unpackedSize":161073},"name":"ellmos-servercommander-mcp","type":"commonjs","author":{"name":"Lukas Geiger"},"engines":{"node":">=18"},"gitHead":"4201351e58cf38a7eb624a4c0478e241b48cebf1","license":"MIT","mcpName":"io.github.ellmos-ai/ellmos-servercommander-mcp","scripts":{"test":"python -m pytest -ra -v","smoke":"node bin/ellmos-servercommander.js --version"},"version":"0.1.0-alpha.20","_npmUser":{"name":"lukisch","email":"lukasgeiger@googlemail.com"},"homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","directories":{},"maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"_nodeVersion":"24.12.0","dependencies":{"update-notifier":"^7.3.1"},"publishConfig":{"tag":"alpha","access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ellmos-servercommander-mcp_0.1.0-alpha.20_1789855141111_0.07400329961726793"}}},"time":{"created":"2026-06-04T22:20:47.155Z","modified":"2026-09-19T21:59:01.350Z","0.1.0-alpha.1":"2026-06-04T22:20:47.553Z","0.1.0-alpha.2":"2026-06-04T22:42:22.869Z","0.1.0-alpha.3":"2026-06-04T23:39:26.754Z","0.1.0-alpha.4":"2026-06-05T00:06:42.060Z","0.1.0-alpha.5":"2026-06-05T00:29:14.942Z","0.1.0-alpha.6":"2026-06-05T06:15:29.731Z","0.1.0-alpha.7":"2026-06-13T18:41:54.884Z","0.1.0-alpha.8":"2026-06-16T16:44:06.119Z","0.1.0-alpha.9":"2026-06-17T15:59:46.430Z","0.1.0-alpha.10":"2026-06-18T21:39:10.901Z","0.1.0-alpha.11":"2026-07-03T19:47:52.901Z","0.1.0-alpha.12":"2026-07-23T22:23:54.956Z","0.1.0-alpha.13":"2026-07-23T23:13:18.331Z","0.1.0-alpha.14":"2026-07-23T23:46:19.935Z","0.1.0-alpha.15":"2026-07-31T18:18:21.737Z","0.1.0-alpha.16":"2026-07-31T19:03:40.241Z","0.1.0-alpha.17":"2026-07-31T19:18:23.020Z","0.1.0-alpha.20":"2026-09-19T21:59:01.189Z"},"bugs":{"url":"https://github.com/ellmos-ai/ellmos-servercommander-mcp/issues"},"author":{"name":"Lukas Geiger"},"license":"MIT","homepage":"https://github.com/ellmos-ai/ellmos-servercommander-mcp#readme","keywords":["mcp","model-context-protocol","claude","server","server-operations","server-management","deploy","deployment-dry-run","logs","access-log-analysis","health-check","i18n","ellmos"],"repository":{"url":"git+https://github.com/ellmos-ai/ellmos-servercommander-mcp.git","type":"git"},"description":"Alpha MCP server for server operations: deploy dry-runs, mail status, log analysis, and health checks.","maintainers":[{"name":"lukisch","email":"lukasgeiger@googlemail.com"}],"readme":"<p align=\"center\">\r\n  <img src=\"https://raw.githubusercontent.com/ellmos-ai/.github/master/profile/logo-ellmos-servercommander.jpg\" alt=\"ellmos ServerCommander MCP emblem\" width=\"360\">\r\n</p>\r\n\r\n# ellmos-servercommander-mcp\r\n\r\nAlpha Model Context Protocol (MCP) server for local-first server operations: deployment dry-runs, mail configuration status, access-log analysis, and resilient HTTP health checks.\r\n\r\nGerman README: [README_de.md](README_de.md)\r\n\r\n*Part of the [ellmos-ai](https://github.com/ellmos-ai) family under the [open-bricks](https://github.com/open-bricks) open-source umbrella.*\r\n\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![npm version](https://img.shields.io/npm/v/ellmos-servercommander-mcp.svg)](https://www.npmjs.com/package/ellmos-servercommander-mcp)\r\n[![CI](https://img.shields.io/badge/CI-passing-brightgreen.svg)](.github/workflows/ci.yml)\r\n[![Pytest](https://img.shields.io/badge/pytest-58%20passed%20%7C%20100%25-brightgreen.svg)](tests/)\r\n[![Python](https://img.shields.io/badge/python-%3E%3D3.10-blue.svg)](https://www.python.org/)\r\n[![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)\r\n[![Platforms](https://img.shields.io/badge/platforms-Linux%20%7C%20Windows%20%7C%20macOS-lightgrey.svg)](.github/workflows/ci.yml)\r\n[![MCP](https://img.shields.io/badge/MCP-stdio-blueviolet.svg)](https://modelcontextprotocol.io/)\r\n[![Status: alpha](https://img.shields.io/badge/status-alpha-orange.svg)](https://www.npmjs.com/package/ellmos-servercommander-mcp)\r\n[![Privacy: Local-First](https://img.shields.io/badge/privacy-100%25%20Local--First%20%7C%20Dry--Run-success.svg)](SECURITY.md)\r\n[![Third-Party: Audited](https://img.shields.io/badge/Third--Party-Audited%20100%25%20permissive-success.svg)](THIRD_PARTY_LICENSES.md)\r\n[![Marketing: Log](https://img.shields.io/badge/Marketing--Log-active-blue.svg)](MARKETING-LOG.txt)\r\n[![Security: Bilingual Policy](https://img.shields.io/badge/security-Bilingual%20Policy%20(48h%20SLA)-blue.svg)](SECURITY.md)\r\n[![Ecosystem: ellmos--ai](https://img.shields.io/badge/ecosystem-ellmos--ai-blue.svg)](https://github.com/ellmos-ai)\r\n[![open-bricks](https://img.shields.io/badge/umbrella-open--bricks-blue.svg)](https://github.com/open-bricks)\r\n[![LLM--Ready: llms.txt](https://img.shields.io/badge/LLM--Ready-llms.txt-orange.svg)](llms.txt)\r\n\r\n> [!NOTE]\r\n> **Discoverability & AI Search:** Published on [npm](https://www.npmjs.com/package/ellmos-servercommander-mcp) as `ellmos-servercommander-mcp`, cataloged for MCP ecosystems in [`server.json`](server.json), [`glama.json`](glama.json), and [`smithery.yaml`](smithery.yaml), and indexed for AI/LLM search in [`llms.txt`](llms.txt).\r\n\r\n---\r\n\r\n## Quick Navigation\r\n\r\n- [Architecture Visualized](#architecture-visualized)\r\n- [Start Here](#start-here)\r\n- [Key Capabilities & Safety Invariants](#key-capabilities--safety-invariants)\r\n- [Status & Protocol Support](#status--protocol-support)\r\n- [Installation](#installation)\r\n- [MCP Client Configuration](#mcp-client-configuration)\r\n- [Configuration & Profiles](#configuration--profiles)\r\n- [Tools & Handlers](#tools--handlers)\r\n- [End-to-End Operations Lifecycle](#end-to-end-operations-lifecycle)\r\n- [Search And Disambiguation](#search-and-disambiguation)\r\n- [Sibling Ecosystem](#sibling-ecosystem)\r\n- [Development & Verification](#development--verification)\r\n- [Third-Party Licenses & Transparency](#third-party-licenses--transparency)\r\n- [Marketing & Target Personas](#marketing--target-personas)\r\n- [Security & Governance](#security--governance)\r\n\r\n---\r\n\r\n## Architecture Visualized\r\n\r\n```mermaid\r\nflowchart TD\r\n    subgraph HostLayer [\"1. MCP Host & AI Client Layer\"]\r\n        Host[\"MCP Host: Claude Desktop / Claude Code / Cursor\"]\r\n    end\r\n\r\n    subgraph GatewayLayer [\"2. Gateway & Process Supervision Layer\"]\r\n        NodeWrapper[\"Node.js CLI Wrapper (bin/ellmos-servercommander.js)\"]\r\n    end\r\n\r\n    subgraph CoreLayer [\"3. Python MCP Server Core Layer\"]\r\n        FastMCP[\"Python MCP Server (FastMCP Transport stdio)\"]\r\n        Dispatcher[\"Tool Dispatcher & Parameter Validator\"]\r\n        i18nEngine[\"i18n Translation Engine (en, de, es, zh, ja, ru)\"]\r\n    end\r\n\r\n    subgraph OperationsLayer [\"4. Operations & Diagnostics Engines\"]\r\n        HTTPProbe[\"HTTP Health Probe (sc_health_check)\"]\r\n        LogAnalyzer[\"Apache/Nginx Log Analyzer (sc_logs_analyze)\"]\r\n        DeployStaging[\"Deployment Staging & Manifest Planner (sc_deploy / sc_deploy_status)\"]\r\n        MailDiagnostics[\"IMAP/SMTP Safety Diagnostics (sc_mail_*)\"]\r\n    end\r\n\r\n    subgraph SinkLayer [\"5. Local Storage & Audit Sink Layer\"]\r\n        SQLiteHist[(\"Local SQLite Deploy History (deploy-history.db)\")]\r\n        JSONReports[(\"Sanitized JSON Log Reports\")]\r\n        AuditSink[\"Local Diagnostic Outputs & Stdout Stream\"]\r\n    end\r\n\r\n    Host <-->|\"stdio / JSON-RPC\"| NodeWrapper\r\n    NodeWrapper <-->|\"Child Process Stdio\"| FastMCP\r\n    FastMCP --> Dispatcher\r\n    Dispatcher <--> i18nEngine\r\n    Dispatcher --> HTTPProbe\r\n    Dispatcher --> LogAnalyzer\r\n    Dispatcher --> DeployStaging\r\n    Dispatcher --> MailDiagnostics\r\n    DeployStaging -.->|\"Optional opt-in persist\"| SQLiteHist\r\n    LogAnalyzer -.->|\"Optional persist_report\"| JSONReports\r\n    HTTPProbe -.-> AuditSink\r\n    MailDiagnostics -.-> AuditSink\r\n```\r\n\r\n---\r\n\r\n## Start Here\r\n\r\n| Goal | Start with | Key Features |\r\n|---|---|---|\r\n| Add ServerCommander to Claude Desktop, Claude Code, Cursor, or another MCP host | [MCP Client Configuration](#mcp-client-configuration) | Zero-friction global npm install or npx invocation |\r\n| Check a public or internal HTTP endpoint before a deploy | `sc_health_check` | Concurrent non-blocking requests, latency timings, resilient batch error handling |\r\n| Inspect Apache/Nginx access logs for errors, bots, referrers, and suspicious paths | `sc_logs_analyze` | Status code breakdown, byte transfer sums, bot markers, optional JSON reports |\r\n| Build a deterministic dry-run deployment manifest before SFTP/SSH execution | `sc_deploy` and `sc_deploy_status` | Recursive SHA-256 tree hashing, symlink bypass protection, SQLite history |\r\n| Wire mail operations later without accidental email dispatches today | `sc_mail_list`, `sc_mail_read`, `sc_mail_send`, `sc_mail_search` | Protocol readiness validation, credential inspection, safe alpha staging |\r\n\r\n---\r\n\r\n## Key Capabilities & Safety Invariants\r\n\r\n| Invariant | Capability / Rule | Implementation Guarantee | Technical Details |\r\n|---|---|---|---|\r\n| **INV-LOCAL-01** | **100% Local-First & Zero-Egress** | Non-destructive diagnostic default | Diagnostics & dry-run planning run locally without unauthorized remote telemetry. |\r\n| **INV-DRY-02** | **Fail-Safe Deployment Staging** | Default `dry_run=True` | Calculates SHA-256 tree digests and verifies profiles before touching targets. |\r\n| **INV-LOG-03** | **Sanitized Access-Log Analysis** | Forensic read-only parsing | Regex token extraction detects errors, bots, and path traversal without secret leaks. |\r\n| **INV-PROBE-04** | **Resilient Health Probes** | Non-blocking worker threads | HTTP probes execute via `asyncio.to_thread`; invalid endpoints never abort batches. |\r\n| **INV-MAIL-05** | **Dry-Run Mail Configuration Status** | Safe non-executing staging | Validates IMAP/SMTP configuration and credentials without accidental dispatches. |\r\n| **INV-PRIV-06** | **Unprivileged RunAsInvoker** | Zero root/sudo elevation (Non-Elevation) | Runs entirely within standard user permissions; zero administrator rights required. |\r\n| **INV-SEC-07** | **Safe Process & Package Isolation** | Rogue package defense | Launcher enforces `PYTHONSAFEPATH=1` to prevent cwd package hijacking. |\r\n| **INV-I18N-08** | **Native 6-Language i18n Engine** | Comprehensive multilingual parity | Localized tool descriptions, schema arguments, and errors for `en`, `de`, `es`, `zh`, `ja`, `ru`. |\r\n| **INV-SYNC-09** | **Cloud-Sync Conflict Hardening** | Multi-host gitignore defense | Hardened against OneDrive/Dropbox sync copies (`*-conflict-*`) and multi-agent locks (`LOCK*`). |\r\n| **INV-SLA-10** | **Bilingual Security SLA** | 48h triage guarantee | Vulnerability response within 48 hours via `security@ellmos.ai` and `security@open-bricks.org`. |\r\n\r\n---\r\n\r\n## Status & Protocol Support\r\n\r\n- **Transport**: Standard I/O (`stdio`) via the Python MCP SDK and Node.js process wrapper.\r\n- **Package Status**: Public alpha package under the `ellmos-ai` organization.\r\n- **Current Core**: MCP tool listing, tool dispatch, TOML configuration loader, HTTP health checks, richer access-log analysis with optional persisted JSON reports, and optional local dry-run deployment history.\r\n- **Safe Alpha Handlers**: `sc_deploy` builds local SHA-256 manifests, configuration diagnostics, and opt-in SQLite history records in dry-run mode; `sc_mail_*` reports protocol-specific IMAP/SMTP readiness without opening mail connections by default.\r\n- **i18n Localization**: Localized MCP tool descriptions, input-schema field descriptions, and unknown-tool errors for `en`, `de`, `es`, `zh`, `ja`, `ru` with automatic English fallback.\r\n\r\n---\r\n\r\n## Installation\r\n\r\nThe npm package contains a Node wrapper that starts the Python server. You still need Python 3.10+ and the Python package `mcp>=1.0.0`.\r\n\r\n### Option 1: Install From npm\r\n\r\n```powershell\r\nnpm install -g ellmos-servercommander-mcp@alpha\r\nellmos-servercommander\r\n```\r\n\r\n### Option 2: Install From Source\r\n\r\n```powershell\r\ngit clone https://github.com/ellmos-ai/ellmos-servercommander-mcp.git\r\ncd ellmos-servercommander-mcp\r\n$env:PYTHONIOENCODING = \"utf-8\"\r\npython -m pip install -e \".[dev]\"\r\npython -m pytest -q\r\n```\r\n\r\nAvoid creating a `.venv` inside cloud-synced folders if your sync client locks files. If you need an isolated environment, create it outside that folder.\r\n\r\n---\r\n\r\n## MCP Client Configuration\r\n\r\n### Global npm Install\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"servercommander\": {\r\n      \"command\": \"ellmos-servercommander\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### npx Without Global Install\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"servercommander\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"ellmos-servercommander-mcp@alpha\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Direct Python Execution\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"servercommander\": {\r\n      \"command\": \"python\",\r\n      \"args\": [\"-m\", \"servercommander.server\"],\r\n      \"env\": {\r\n        \"PYTHONPATH\": \"C:/path/to/ellmos-servercommander-mcp/src\",\r\n        \"SERVERCOMMANDER_CONFIG_PATH\": \"C:/path/to/config/servercommander.toml\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n---\r\n\r\n## Configuration & Profiles\r\n\r\nServerCommander searches for configuration files in this hierarchical order:\r\n\r\n1. Environment variable `SERVERCOMMANDER_CONFIG_PATH`\r\n2. `./servercommander.toml`\r\n3. `./config/servercommander.toml`\r\n4. `~/.config/servercommander/servercommander.toml`\r\n\r\nAn annotated template is included at [`config/servercommander.example.toml`](config/servercommander.example.toml).\r\n\r\n```toml\r\n[server]\r\nname = \"servercommander\"\r\nlog_level = \"INFO\"\r\nlanguage = \"en\"\r\n\r\n[deploy.profiles.staging]\r\ntarget = \"sftp://staging.example.com/var/www/app\"\r\nlocal_path = \"./dist\"\r\nprotocol = \"sftp\"\r\ndry_run = true\r\nrecord_history = true\r\n\r\n[mail]\r\nexecution_enabled = false\r\nsmtp_host = \"smtp.example.com\"\r\nsmtp_port = 587\r\nimap_host = \"imap.example.com\"\r\nimap_port = 993\r\n```\r\n\r\nSecrets should always be referenced through environment variables, for example `$MAIL_PASSWORD` or `$SFTP_PASSWORD`.\r\n\r\n---\r\n\r\n## Tools & Handlers\r\n\r\n- `sc_health_check`: Checks HTTP/HTTPS endpoints and reports status codes, response headers, and latency. Malformed endpoint URLs are captured gracefully as failed checks rather than aborting the batch.\r\n- `sc_logs_analyze`: Analyzes Apache/Nginx access logs from inline text or local files, reporting HTTP status classes (2xx/3xx/4xx/5xx), total bytes transferred, top referrers, 404/500 error paths, suspicious bot markers, and optional JSON report persistence via `persist_report`.\r\n- `sc_deploy`: Creates a dry-run deployment plan with a local SHA-256 manifest and profile diagnostics without performing remote mutations. Nested symbolic links are tracked as `skipped_symlinks` to prevent unexpected directory traversal.\r\n- `sc_deploy_status`: Displays configured deployment profiles, profile diagnostics, and recent dry-run deployment records retrieved from the local SQLite history database.\r\n- `sc_mail_list`, `sc_mail_read`, `sc_mail_send`, `sc_mail_search`: Safe alpha status responses with action-specific IMAP/SMTP readiness diagnostics. With `[mail].execution_enabled = true`, `sc_mail_list` executes a read-only IMAP reachability probe (connect + folder listing) by reusing the canonical `mail-connector` module without reimplementing an IMAP client.\r\n\r\n---\r\n\r\n## End-to-End Operations Lifecycle\r\n\r\n```mermaid\r\nsequenceDiagram\r\n    autonumber\r\n    actor User as AI Assistant / User\r\n    participant Host as MCP Host (Claude / Cursor)\r\n    participant Wrapper as Node.js Wrapper\r\n    participant Server as ServerCommander Server\r\n    participant Handler as Operation Handler\r\n    participant Disk as Local Disk / SQLite Sink\r\n    participant Target as Network Endpoint\r\n\r\n    User->>Host: \"Check API health and prepare deploy manifest\"\r\n    Host->>Wrapper: JSON-RPC request (stdio)\r\n    Wrapper->>Server: Forward request via child process\r\n    Server->>Server: Parse parameters & validate config\r\n\r\n    alt HTTP Health Probe\r\n        Server->>Handler: Dispatch sc_health_check\r\n        Handler->>Target: HTTP/HTTPS GET (async worker thread)\r\n        Target-->>Handler: Status code + Latency response\r\n        Handler-->>Server: Health result dictionary\r\n    else Access Log Analysis\r\n        Server->>Handler: Dispatch sc_logs_analyze\r\n        Handler->>Disk: Read access.log & parse entries\r\n        Handler->>Disk: Optional write structured JSON report\r\n        Handler-->>Server: Aggregated log statistics\r\n    else Deployment Staging\r\n        Server->>Handler: Dispatch sc_deploy (dry_run=True)\r\n        Handler->>Disk: Scan local_path & calculate SHA-256 tree\r\n        Handler->>Disk: Optional insert record into deploy-history.db\r\n        Handler-->>Server: Manifest digest & profile readiness\r\n    end\r\n\r\n    Server->>Server: Localize response messages (i18n engine)\r\n    Server-->>Wrapper: JSON-RPC response\r\n    Wrapper-->>Host: Formatted stdio output\r\n    Host-->>User: Structured operations summary & next steps\r\n```\r\n\r\n---\r\n\r\n## Search And Disambiguation\r\n\r\nServerCommander is the ellmos operations MCP server for local-first server administration workflows. Use this repository when searching for:\r\n\r\n- MCP server operations tools\r\n- MCP deploy dry-run server\r\n- MCP access log analyzer\r\n- MCP HTTP health check tool\r\n- local-first server management MCP\r\n- Claude Code server operations MCP\r\n- safe SFTP deployment planning MCP\r\n- AI assistant server preflight checks\r\n- Apache Nginx log analysis MCP\r\n- resilient HTTP health check MCP\r\n- SQLite deploy history MCP\r\n\r\nIt is **not** the GitHub MCP server, **not** a generic arbitrary shell-execution MCP server, **not** a cloud hosting provider control panel, and **not** an unverified production SFTP/IMAP auto-executor. The current alpha surface is intentionally diagnostic, dry-run first, and safe by default.\r\n\r\n---\r\n\r\n## Sibling Ecosystem\r\n\r\nThis MCP server is an integral component of the **[ellmos-ai](https://github.com/ellmos-ai)** ecosystem and the **[open-bricks](https://github.com/open-bricks)** open-source software family.\r\n\r\n### MCP Server Family\r\n\r\n| Server | Tools | Primary Focus | npm Package |\r\n|---|---|---|---|\r\n| [FileCommander](https://github.com/ellmos-ai/ellmos-filecommander-mcp) | 46 | Filesystem operations, process supervision, sessions, cloud-lock handling | [`ellmos-filecommander-mcp`](https://www.npmjs.com/package/ellmos-filecommander-mcp) |\r\n| [CodeCommander](https://github.com/ellmos-ai/ellmos-codecommander-mcp) | 22 | Code analysis, AST inspection, JSON repair, imports, diffs, regex | [`ellmos-codecommander-mcp`](https://www.npmjs.com/package/ellmos-codecommander-mcp) |\r\n| [Clatcher](https://github.com/ellmos-ai/ellmos-clatcher-mcp) | 12 | File repair, encoding correction, format conversion, batch tools | [`ellmos-clatcher-mcp`](https://www.npmjs.com/package/ellmos-clatcher-mcp) |\r\n| [n8n Manager](https://github.com/ellmos-ai/n8n-manager-mcp) | 18 | n8n workflow management, deployment, node exploration | [`n8n-manager-mcp`](https://www.npmjs.com/package/n8n-manager-mcp) |\r\n| [ControlCenter](https://github.com/ellmos-ai/ellmos-controlcenter-mcp) | 20 | MCP stack discovery, profile management, control plane routing | [`ellmos-controlcenter-mcp`](https://www.npmjs.com/package/ellmos-controlcenter-mcp) |\r\n| [Homebase](https://github.com/ellmos-ai/ellmos-homebase-mcp) | 45 | Local-first LLM memory, knowledge base, swarm orchestration | [`ellmos-homebase-mcp`](https://www.npmjs.com/package/ellmos-homebase-mcp) |\r\n| **[ServerCommander](https://github.com/ellmos-ai/ellmos-servercommander-mcp)** | **8** | **Server operations: health checks, log analysis, dry-run manifests** | **[`ellmos-servercommander-mcp`](https://www.npmjs.com/package/ellmos-servercommander-mcp)** |\r\n| [Blender Use](https://github.com/ellmos-ai/ellmos-blender-use-mcp) | 3 | Headless Blender 3D asset QA and automated FBX reimport | [`ellmos-blender-use-mcp`](https://www.npmjs.com/package/ellmos-blender-use-mcp) |\r\n| [Open Compute](https://github.com/ellmos-ai/open-compute-mcp) | 10 | Model-agnostic computer use: screen capture, safety-gated actions | [`open-compute-mcp`](https://www.npmjs.com/package/open-compute-mcp) |\r\n\r\n### AI Infrastructure & Developer Tools\r\n\r\n| Project | Description |\r\n|---|---|\r\n| [BACH](https://github.com/ellmos-ai/bach) | Local-first text-based OS for LLM agents — 113+ handlers, 550+ tools, SQLite memory |\r\n| [open-compute](https://github.com/ellmos-ai/open-compute) | Model-agnostic computer-use core powering Open Compute MCP |\r\n| [clutch](https://github.com/ellmos-ai/clutch) | Provider-neutral LLM orchestration with auto-routing and budget tracking |\r\n| [rinnsal](https://github.com/ellmos-ai/rinnsal) | Lightweight agent memory, connectors, and automation infrastructure |\r\n| [sqlite-transit-sync](https://github.com/ellmos-ai/sqlite-transit-sync) | Encrypted SQLite transit synchronization & additive read-replica engine |\r\n| [workflowhooker](https://github.com/ellmos-ai/workflowhooker) | Git-hook-driven workflow automation and execution safety boundaries |\r\n| [system-explorer](https://github.com/ellmos-ai/system-explorer) | Local-first system composition, module introspection, and fleet verification |\r\n| [companion-for-agy](https://github.com/ellmos-ai/companion-for-agy) | Antigravity developer companion & telemetry bridge |\r\n\r\n### Desktop Software Suite\r\n\r\nOur partner organization **[open-bricks](https://github.com/open-bricks)** provides desktop productivity applications built for the age of AI:\r\n- File Management: [ProFiler](https://github.com/file-bricks/ProFiler), [ExplorerPro](https://github.com/file-bricks/ExplorerPro), [CloudLockFixer](https://github.com/file-bricks/CloudLockFixer)\r\n- Document Processing: [DokuZen](https://github.com/doc-bricks/DokuZen), [PDFtoPDFocr](https://github.com/doc-bricks/PDFtoPDFocr), [FormularErstellen](https://github.com/doc-bricks/FormularErstellen)\r\n- Developer Tools: [DevCenter](https://github.com/dev-bricks/DevCenter), [CodeBox](https://github.com/dev-bricks/CodeBox), [automizer-for-claude-desktop](https://github.com/dev-bricks/automizer-for-claude-desktop)\r\n\r\n---\r\n\r\n## Development & Verification\r\n\r\n```powershell\r\n# Set UTF-8 encoding\r\n$env:PYTHONIOENCODING = \"utf-8\"\r\n\r\n# Run complete pytest test suite\r\npython -m pytest -v\r\n\r\n# Run Ruff linter\r\nruff check .\r\n\r\n# Verify Node CLI smoke test\r\nnpm run smoke\r\n\r\n# Verify npm packaging (dry-run)\r\nnpm pack --dry-run\r\n```\r\n\r\n---\r\n\r\n## Third-Party Licenses & Transparency\r\n\r\nellmos ServerCommander MCP is strictly built upon permissive open-source foundations. We maintain zero hidden telemetry, zero proprietary binary blobs, and zero unverified dynamic dependencies.\r\n\r\n- **Direct Runtime**: Python MCP SDK (`mcp>=1.0.0`, MIT License, Anthropic PBC), Python Standard Library (PSFL-2.0).\r\n- **Node CLI Wrapper**: `update-notifier` (BSD-2-Clause, Sindre Sorhus) for non-intrusive CLI update checks.\r\n- **Optional Extensions**: `paramiko` (LGPL-2.1) dynamically imported only when the optional `[sftp]` extra is explicitly installed.\r\n- **Developer Tooling**: `pytest` (MIT), `pytest-asyncio` (Apache-2.0), `ruff` (MIT/Apache-2.0), `hatchling` (MIT).\r\n- **Audit Ledger**: Comprehensive license disclosures, full copyright notices, and local-first compliance assurances are documented in [THIRD_PARTY_LICENSES.md](THIRD_PARTY_LICENSES.md).\r\n\r\n---\r\n\r\n## Marketing & Target Personas\r\n\r\nServerCommander MCP fills the critical gap between raw, dangerous shell execution and opaque hosting control panels. It equips AI agents with safe, structured diagnostic capabilities for server administration.\r\n\r\n### Target Personas\r\n\r\n| Target Persona | Key Pain Points | ServerCommander MCP Solution |\r\n|---|---|---|\r\n| **Autonomous AI Agent Engineers** | High risk of destructive bash commands | Structured JSON-RPC MCP tools with strict non-destructive defaults |\r\n| **DevOps & SRE Engineers** | Undetected file drifts & unsafe deploys | Deterministic SHA-256 tree hashing and local dry-run deployment plans |\r\n| **Security Administrators** | Credential leakage & root elevation risks | Unprivileged RunAsInvoker execution, secret isolation & forensic log analysis |\r\n| **Solo Developers & Maintainers** | Tedious manual health monitoring & log grep | Instant HTTP health checks & automated bot/error analysis from IDE |\r\n\r\n### Competitive & Landscape Matrix\r\n\r\n| Dimension | ServerCommander MCP | SSH / Raw Bash Scripts | Heavy Web Panels (cPanel) | Cloud SaaS APM (Datadog) | Generic Terminal MCP |\r\n|---|---|---|---|---|---|\r\n| **AI Native Integration** | Direct MCP stdio / JSON-RPC | Requires prompt glue | None / Browser UI | Custom API Webhooks | Unstructured text |\r\n| **Execution Safety** | Dry-run first / non-destructive | High risk of destructive typo | Opaque web abstraction | Read-only agent metrics | Arbitrary shell danger |\r\n| **Local-First / Egress** | 100% Local / Zero-Egress | Local / Direct remote | Server-side web portal | Constant cloud telemetry | Local shell execution |\r\n| **Privilege Requirements**| Unprivileged RunAsInvoker | Often requires sudo/root | Full root server daemon | Root daemon / system agent| Host shell privileges |\r\n| **i18n Multilingual** | 6 Languages built-in | English only | Web UI localized | English predominantly | Unlocalized raw output |\r\n\r\nDetailed marketing positioning, persona user journeys, and discoverability keywords are maintained in [MARKETING-LOG.txt](MARKETING-LOG.txt).\r\n\r\n---\r\n\r\n## Security & Governance\r\n\r\nFor vulnerability reporting, response SLAs, and local-first security invariant details, see our bilingual [SECURITY.md](SECURITY.md).\r\n\r\n- **Vulnerability Reporting**: [GitHub Security Advisories](https://github.com/ellmos-ai/ellmos-servercommander-mcp/security/advisories) or email `security@ellmos.ai` / `security@open-bricks.org`.\r\n- **Response SLA**: Initial triage within **48 hours**; status updates within 5 business days.\r\n","readmeFilename":"README.md"}