{"_id":"@dudoxx/ddx-term-mcp","_rev":"8-6988c5c978764ba2485297a1880e745c","name":"@dudoxx/ddx-term-mcp","dist-tags":{"latest":"0.2.3"},"versions":{"0.1.0":{"name":"@dudoxx/ddx-term-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","_id":"@dudoxx/ddx-term-mcp@0.1.0","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"bin":{"ddx-term-mcp":"dist/server.js"},"dist":{"shasum":"2f85342c7875c84ca30577ec800f3ab9203336ef","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.1.0.tgz","fileCount":7,"integrity":"sha512-S2FERpUto13OPrJl9jRrYSgvA11mzxhitHhurXALPguBiPME7Xe9Z/lDVJKNPJh1A1gRztjYGooWRX3BCnDUwA==","signatures":[{"sig":"MEYCIQD41rP2bOjqCvGIBYw69b6JwC+2zgI5dcDx8D3uTcWvLwIhAIyRt5OYrcU7hxJXkbDx66z9vJ1S0MpqPPY95WQLokdp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181504},"type":"module","engines":{"node":">=20.9.0"},"gitHead":"06a686cfa3be8afacf24fa9cb09edf755b2c14ba","scripts":{"dev":"tsx src/server.ts","test":"vitest run","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc --noEmit -p tsconfig.json","build:bundle":"tsup && chmod +x dist/server.js","prepublishOnly":"pnpm run build:bundle"},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"repository":{"url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","type":"git","directory":"ddx-term-mcp"},"_npmVersion":"11.12.1","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vitest":"^2.1.0","typescript":"^5.7.3","@types/node":"^22.10.0","@ddx/term-contract":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/ddx-term-mcp_0.1.0_1782637101541_0.6573968727459727","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dudoxx/ddx-term-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","_id":"@dudoxx/ddx-term-mcp@0.1.1","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"bin":{"ddx-term-mcp":"dist/server.js"},"dist":{"shasum":"eb92321512604fc58bed3c7ea7b4b9325bce3237","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.1.1.tgz","fileCount":7,"integrity":"sha512-LIjD10jM8XhNt4H5UMqWoQ2sBpKTZSi1tRILMuDm/PfuYhno9B+PKn32lpsoI4gxFx7TW3XV5NKyJA1Munyq3w==","signatures":[{"sig":"MEYCIQD1l523DydLsRyRIvGpmyTuo8JVfyH4GJ8z+lpWYUwhCgIhAOJ/wF8/FWJNtfbwjBtsCgD7d50CjGV0Pm5hpYjMEanT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384928},"type":"module","_from":"file:dudoxx-ddx-term-mcp-0.1.1.tgz","engines":{"node":">=20.9.0"},"scripts":{"dev":"tsx src/server.ts","test":"vitest run","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc --noEmit -p tsconfig.json","build:bundle":"tsup && chmod +x dist/server.js"},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"_resolved":"/private/var/folders/dd/ql8h8lq15nq6hg_1qpm3ld3w0000gn/T/70fc520a57517252497bd501f2c3196f/dudoxx-ddx-term-mcp-0.1.1.tgz","_integrity":"sha512-LIjD10jM8XhNt4H5UMqWoQ2sBpKTZSi1tRILMuDm/PfuYhno9B+PKn32lpsoI4gxFx7TW3XV5NKyJA1Munyq3w==","repository":{"url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","type":"git","directory":"ddx-term-mcp"},"_npmVersion":"11.12.1","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vitest":"^2.1.0","typescript":"^5.7.3","@types/node":"^22.10.0","@ddx/term-contract":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ddx-term-mcp_0.1.1_1782637836910_0.6428146087435551","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dudoxx/ddx-term-mcp","version":"0.1.2","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","_id":"@dudoxx/ddx-term-mcp@0.1.2","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"bin":{"ddx-term-mcp":"dist/server.js"},"dist":{"shasum":"f11d2e7dc1eb5fe0f57870f38d94141d9389c24a","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.1.2.tgz","fileCount":7,"integrity":"sha512-u9uhT/Y08lM8hGKp8Goay6VfR+QCex7vmi4PVx2vf0qQyAzaALy6+rSS95khhByYPEMWl9iSXxvIlYiq+ey4KQ==","signatures":[{"sig":"MEQCIBCFH3n4vwM6n3jXSo6lZW0TPde50pCon+4Nphwn6DwfAiBO8LpH9VcrykpHM/VRZk13aGMNb2BT3D5qt3S69a64MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181684},"type":"module","_from":"file:dudoxx-ddx-term-mcp-0.1.2.tgz","engines":{"node":">=20.9.0"},"scripts":{"dev":"tsx src/server.ts","test":"vitest run","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc --noEmit -p tsconfig.json","build:bundle":"tsup && chmod +x dist/server.js"},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"_resolved":"/private/var/folders/dd/ql8h8lq15nq6hg_1qpm3ld3w0000gn/T/8a46924a99fb6b5d1a4c565f2c569a28/dudoxx-ddx-term-mcp-0.1.2.tgz","_integrity":"sha512-u9uhT/Y08lM8hGKp8Goay6VfR+QCex7vmi4PVx2vf0qQyAzaALy6+rSS95khhByYPEMWl9iSXxvIlYiq+ey4KQ==","repository":{"url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","type":"git","directory":"ddx-term-mcp"},"_npmVersion":"11.12.1","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vitest":"^2.1.0","typescript":"^5.7.3","@types/node":"^22.10.0","@ddx/term-contract":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ddx-term-mcp_0.1.2_1782638689906_0.12668024805496358","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dudoxx/ddx-term-mcp","version":"0.1.3","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","_id":"@dudoxx/ddx-term-mcp@0.1.3","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"bin":{"ddx-term-mcp":"dist/server.js"},"dist":{"shasum":"6649f29735a65faf01db859f9bb270cf65a3146f","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.1.3.tgz","fileCount":7,"integrity":"sha512-lKxNmX3hL8HE/xvJyhVh80Lb3dwSGd2Kepn9F8AbZFQxNHkl8sc/EgA0MGyYagGhMGrwCIySf032DKBudD2MlQ==","signatures":[{"sig":"MEQCICSjhSscE8VS+bxnEIID1AuuMkE9hj2sslTU4Y82xGZUAiBH6/4+gJl8PDFmDVPgjhA9+WZIP0ObctZ/9/8oNwCItQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181742},"type":"module","_from":"file:dudoxx-ddx-term-mcp-0.1.3.tgz","engines":{"node":">=20.9.0"},"scripts":{"dev":"tsx src/server.ts","test":"vitest run","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc --noEmit -p tsconfig.json","build:bundle":"tsup && chmod +x dist/server.js"},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"_resolved":"/private/var/folders/dd/ql8h8lq15nq6hg_1qpm3ld3w0000gn/T/460c0dfc5f5a084b3165c588d53abd37/dudoxx-ddx-term-mcp-0.1.3.tgz","_integrity":"sha512-lKxNmX3hL8HE/xvJyhVh80Lb3dwSGd2Kepn9F8AbZFQxNHkl8sc/EgA0MGyYagGhMGrwCIySf032DKBudD2MlQ==","repository":{"url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","type":"git","directory":"ddx-term-mcp"},"_npmVersion":"11.12.1","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vitest":"^2.1.0","typescript":"^5.7.3","@types/node":"^22.10.0","@ddx/term-contract":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ddx-term-mcp_0.1.3_1782638993538_0.895033260924033","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dudoxx/ddx-term-mcp","version":"0.2.0","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","_id":"@dudoxx/ddx-term-mcp@0.2.0","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"bin":{"ddx-term-mcp":"dist/server.js"},"dist":{"shasum":"66c666e82bfbaa6bfa01f66b0a8b20521951e08c","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.2.0.tgz","fileCount":8258,"integrity":"sha512-/z/wo8A+z+5CZvdkiABcdjMRJ9ydFvcngqDz4Nfm/dRM4sKonbXhi4absruKptimAdRY3MPkqZtKlyt7DqdahQ==","signatures":[{"sig":"MEYCIQDqPFjQ3Vsxx2sHNUul9WK1Ve63Ppxc3He7MTjbVn/2WAIhAKlhb1311gJa5mwppj7eIcHtrKun+OjiatJYWrSvbSlJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130982620},"type":"module","engines":{"node":">=20.9.0"},"gitHead":"ccb7ad975f42e832f0ac6488239b3ceb4323a6b4","scripts":{"dev":"tsx src/server.ts","lint":"eslint src --fix","test":"vitest run","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc --noEmit -p tsconfig.json","lint:check":"eslint src","build:stack":"node scripts/build-stack.mjs","build:bundle":"tsup && chmod +x dist/server.js","prepublishOnly":"pnpm run build:bundle && pnpm run build:stack"},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"repository":{"url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","type":"git","directory":"ddx-term-mcp"},"_npmVersion":"11.12.1","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","dotenv":"^16.4.7","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vitest":"^2.1.0","typescript":"^5.7.3","@types/node":"^22.10.0","@ddx/term-contract":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/ddx-term-mcp_0.2.0_1782682386364_0.9622813581225154","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dudoxx/ddx-term-mcp","version":"0.2.1","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","_id":"@dudoxx/ddx-term-mcp@0.2.1","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"bin":{"ddx-term-mcp":"dist/server.js"},"dist":{"shasum":"ebd9c3fb5859427e7fe32896ca80e4f9c54dd413","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.2.1.tgz","fileCount":8258,"integrity":"sha512-M3k+8iNefeezBKwlYiwWbJ0DVO+9u8B899oYUJFHBPib5s47fXn4OAq24PT6e9xA+SnYhnWRBRNqbrQ3yJT8Dw==","signatures":[{"sig":"MEUCIQCgHiaLpNMc58G74tWFgKuzUKR3CrGcBGI5tEvvkTWw/wIgZUdRyEVXPmmAKKFQ0yt8L4zsNk72fD4cnHt1QFwvzGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130987729},"type":"module","_from":"file:dudoxx-ddx-term-mcp-0.2.1.tgz","engines":{"node":">=20.9.0"},"scripts":{"dev":"tsx src/server.ts","lint":"eslint src --fix","test":"vitest run","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc --noEmit -p tsconfig.json","lint:check":"eslint src","build:stack":"node scripts/build-stack.mjs","build:bundle":"tsup && chmod +x dist/server.js"},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"_resolved":"/private/var/folders/dd/ql8h8lq15nq6hg_1qpm3ld3w0000gn/T/0105e23ade35c29b3312c7c80aadc985/dudoxx-ddx-term-mcp-0.2.1.tgz","_integrity":"sha512-M3k+8iNefeezBKwlYiwWbJ0DVO+9u8B899oYUJFHBPib5s47fXn4OAq24PT6e9xA+SnYhnWRBRNqbrQ3yJT8Dw==","repository":{"url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","type":"git","directory":"ddx-term-mcp"},"_npmVersion":"11.12.1","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","dotenv":"^16.4.7","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vitest":"^2.1.0","typescript":"^5.7.3","@types/node":"^22.10.0","@ddx/term-contract":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ddx-term-mcp_0.2.1_1783638787687_0.6767596946862637","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dudoxx/ddx-term-mcp","version":"0.2.2","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","_id":"@dudoxx/ddx-term-mcp@0.2.2","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"bin":{"ddx-term-mcp":"dist/server.js"},"dist":{"shasum":"cb8fff7bf250d65447affb840da7441d6d489f06","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.2.2.tgz","fileCount":8258,"integrity":"sha512-mgtcR9Q3OzjIp9SJNnCO1Rph2RLp3dJG5g1redUZQG8IcCtPnlBLcdQnVHQ0v9CTderf3GE4bYSm/I6l4p6yiw==","signatures":[{"sig":"MEYCIQC/jPFVwloOUAEQQF4E5rPgjmgFsz33pzeIJ60K/9pdQAIhAOz9OZw4A4/SzSdbrqdlTcIAQu139bqH4VW3jydeozg9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130988038},"type":"module","_from":"file:dudoxx-ddx-term-mcp-0.2.2.tgz","engines":{"node":">=20.9.0"},"scripts":{"dev":"tsx src/server.ts","lint":"eslint src --fix","test":"vitest run","build":"tsc -p tsconfig.json && chmod +x dist/server.js","start":"node dist/server.js","typecheck":"tsc --noEmit -p tsconfig.json","lint:check":"eslint src","build:stack":"node scripts/build-stack.mjs","build:bundle":"tsup && chmod +x dist/server.js"},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"_resolved":"/private/var/folders/dd/ql8h8lq15nq6hg_1qpm3ld3w0000gn/T/7740863ad3f1135ddc97d46ceba25f3f/dudoxx-ddx-term-mcp-0.2.2.tgz","_integrity":"sha512-mgtcR9Q3OzjIp9SJNnCO1Rph2RLp3dJG5g1redUZQG8IcCtPnlBLcdQnVHQ0v9CTderf3GE4bYSm/I6l4p6yiw==","repository":{"url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","type":"git","directory":"ddx-term-mcp"},"_npmVersion":"11.12.1","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","directories":{},"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.3.6","dotenv":"^16.4.7","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vitest":"^2.1.0","typescript":"^5.7.3","@types/node":"^22.10.0","@ddx/term-contract":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ddx-term-mcp_0.2.2_1783640379630_0.5890638972896509","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@dudoxx/ddx-term-mcp","version":"0.2.3","description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","type":"module","bin":{"ddx-term-mcp":"dist/server.js"},"keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"repository":{"type":"git","url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","directory":"ddx-term-mcp"},"homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/server.js","build:bundle":"tsup && chmod +x dist/server.js","build:stack":"node scripts/build-stack.mjs","start":"node dist/server.js","dev":"tsx src/server.ts","test":"vitest run","typecheck":"tsc --noEmit -p tsconfig.json","lint":"eslint src --fix","lint:check":"eslint src","prepublishOnly":"pnpm run build:bundle && pnpm run build:stack"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","dotenv":"^16.4.7","zod":"^4.3.6"},"devDependencies":{"@ddx/term-contract":"workspace:*","@types/node":"^22.10.0","tsup":"^8.5.1","tsx":"^4.19.0","typescript":"^5.7.3","vitest":"^2.1.0"},"engines":{"node":">=20.9.0"},"publishConfig":{"access":"public"},"gitHead":"aa064a2dc2f93d49a6acff9336be58c891cc06c4","_id":"@dudoxx/ddx-term-mcp@0.2.3","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-Dv0pqGI6us+W8rf7+MJtzvuHVnteVqYNjj0feJukjGw5pB5kB4VBOHSIdGzconB8+kudCAJ1/Qx39RzFOn4O8w==","shasum":"901b046205b4913cdf546917ada0c7ae96d29b18","tarball":"https://registry.npmjs.org/@dudoxx/ddx-term-mcp/-/ddx-term-mcp-0.2.3.tgz","fileCount":8263,"unpackedSize":131054949,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQClGhfuLE105O7zHpqjqUlVnuRO4u7G773q5iFeAqXr2QIgF53FzsqfVoTfaArDP+sUEE7PGAyMKee3SyzF5LG0K30="}]},"_npmUser":{"name":"optron","email":"walid@acceleate.com"},"directories":{},"maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ddx-term-mcp_0.2.3_1783642733656_0.8808836190298628"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T08:58:21.356Z","modified":"2026-07-10T00:18:54.390Z","0.1.0":"2026-06-28T08:58:21.685Z","0.1.1":"2026-06-28T09:10:37.069Z","0.1.2":"2026-06-28T09:24:50.087Z","0.1.3":"2026-06-28T09:29:53.696Z","0.2.0":"2026-06-28T21:33:06.950Z","0.2.1":"2026-07-09T23:13:08.360Z","0.2.2":"2026-07-09T23:39:40.264Z","0.2.3":"2026-07-10T00:18:54.272Z"},"bugs":{"url":"https://github.com/Dudoxx/dudoxx-ai-terminal/issues"},"author":{"name":"Dudoxx UG / Acceleate Consulting - Walid Boudabbous","email":"walid@acceleate.com"},"license":"MIT","homepage":"https://github.com/Dudoxx/dudoxx-ai-terminal/tree/main/ddx-term-mcp#readme","keywords":["mcp","model-context-protocol","tmux","terminal","claude","claude-code","agent","stdio","dudoxx"],"repository":{"type":"git","url":"git+https://github.com/Dudoxx/dudoxx-ai-terminal.git","directory":"ddx-term-mcp"},"description":"MCP stdio bridge — Claude Code to a shared tmux session. Thin client over tmux (no PTY): the 9 verbs + 2 helpers of the ddx-terminal-bridge agent channel.","maintainers":[{"name":"optron","email":"walid@acceleate.com"}],"readme":"<!-- ddx-hero:v1 -->\n<p align=\"center\">\n  <a href=\"https://www.dudoxx.com\">\n    <img src=\"https://raw.githubusercontent.com/Dudoxx/dudoxx-ai-terminal/main/ddx-term-mcp/assets/dudoxx-logo.png\" alt=\"Dudoxx\" width=\"96\" />\n  </a>\n</p>\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/Dudoxx/dudoxx-ai-terminal/main/ddx-term-mcp/assets/dudoxx-typography.png\" alt=\"dudoxx\" width=\"220\" />\n</p>\n\n<h1 align=\"center\">@dudoxx/ddx-term-mcp</h1>\n\n<p align=\"center\">\n  <strong>An MCP server that lets an AI agent and a human share the same live terminal.</strong><br/>\n  <em>One tmux session, many addressable terminals — driven over stdio by Claude, watched live by you.</em>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@dudoxx/ddx-term-mcp\"><img alt=\"npm\" src=\"https://img.shields.io/npm/v/@dudoxx/ddx-term-mcp?style=flat-square&color=1f6feb\"/></a>\n  <a href=\"#license\"><img alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-1f6feb?style=flat-square\"/></a>\n  <a href=\"https://modelcontextprotocol.io\"><img alt=\"MCP\" src=\"https://img.shields.io/badge/MCP-stdio-1F7A7A?style=flat-square\"/></a>\n  <a href=\"https://www.dudoxx.com\"><img alt=\"Built by Dudoxx\" src=\"https://img.shields.io/badge/built%20by-Dudoxx-1f6feb?style=flat-square\"/></a>\n</p>\n\n---\n<!-- /ddx-hero:v1 -->\n\n## What it is\n\n`ddx-term-mcp` is a [Model Context Protocol](https://modelcontextprotocol.io) stdio\nserver — the **agent channel** of the Dudoxx terminal bridge. It lets Claude Code\n(or any MCP client) drive the **same** terminal a human is watching: the agent runs\na command, you see it execute live; you type, the agent sees the output.\n\nIt is a **thin client over `tmux`**. It never owns a PTY — every action shells out to\n`tmux send-keys` / `capture-pane` against one shared session. That single design\nchoice is what keeps human and agent looking at the identical terminal, instead of\ntwo private copies that drift apart.\n\n## Why a thin tmux client (not a PTY)\n\nThe naive way to build a terminal-for-agents is to spawn a pseudo-terminal\n(`node-pty`) the agent owns. That breaks the moment a human wants to watch — they'd\nbe looking at a different process. `ddx-term-mcp` holds **no PTY**; `tmux` is the\nsingle source of truth, so a human attached with `tmux -CC attach` and the agent over\nMCP are provably on the same session.\n\n## Requirements\n\n- **Node.js ≥ 20.9**\n- **`tmux` ≥ 3.3** on the host (`brew install tmux` / `apt install tmux`)\n\n## Quick start\n\nRegister it in any MCP client (Claude Code shown):\n\n```sh\nclaude mcp add ddx-term \\\n  --env DDX_TERM_SOCKET=/tmp/ddx-term.sock \\\n  --env DDX_TERM_SESSION=ddx-shared \\\n  -- npx -y @dudoxx/ddx-term-mcp\n```\n\nOr add it to a `.mcp.json` / Claude Desktop config by hand:\n\n```json\n{\n  \"mcpServers\": {\n    \"ddx-term\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@dudoxx/ddx-term-mcp\"],\n      \"env\": {\n        \"DDX_TERM_SOCKET\": \"/tmp/ddx-term.sock\",\n        \"DDX_TERM_SESSION\": \"ddx-shared\",\n        \"DDX_TERM_DEFAULT\": \"t01\"\n      }\n    }\n  }\n}\n```\n\nFull setup, native co-attach recipe, and troubleshooting → **[INSTALLATION.md](INSTALLATION.md)**.\n\n## The tools (9 verbs + 2 helpers)\n\n| Tool | What it does |\n|---|---|\n| `term_create` | Allocate a new terminal (a tmux window) with a stable `terminalId` |\n| `term_list` | Enumerate all terminals + live process snapshots |\n| `term_destroy` | Kill a terminal and free its `terminalId` |\n| `term_send` | Type literal text (`send-keys -l`) + a separate `Enter` — never a raw `\\n` |\n| `term_read` | Return the scrollback **delta** since your last read (token-frugal by default) |\n| `term_snapshot` | Return the **visible viewport** grid right now (for TUIs, prompts, spinners) |\n| `term_wait_for` | Block until a regex matches or a timeout — call before answering prompts |\n| `term_signal` | Send a signal/key (Ctrl-C/D/Z); validates the pid is in the terminal's tree |\n| `term_ps` | Live `panePid` + `fgPid` for a terminal (transient, distinct from `terminalId`) |\n| `term_panes` | Pane geometry for a terminal |\n\n**Two identifiers, never conflated:** address terminals by `terminalId` (durable,\n= a tmux window); observe/signal processes by `pid` (transient). `term_signal`\nrefuses any pid that isn't inside the terminal's own process tree.\n\n## Configuration\n\n| Env | Default | Purpose |\n|---|---|---|\n| `DDX_TERM_SOCKET` | `/tmp/ddx-term.sock` | tmux `-S` socket of the shared session |\n| `DDX_TERM_SESSION` | `ddx-shared` | session hosting all terminals (windows) |\n| `DDX_TERM_DEFAULT` | `t01` | `terminalId` used when a verb omits one |\n| `DDX_TERM_ALLOWLIST` | _(unset)_ | optional command allow-list; unset = all allowed |\n| `DDX_TERM_MAX_READ_LINES` | `2000` | hard cap on lines any single read returns |\n| `DDX_TERM_MAX_TERMINALS` | `16` | max terminals per session |\n| `DDX_TERM_BROKER_URL` | _(unset)_ | set → resolve terminals against a running broker; unset → standalone |\n\n## Watch the agent work (native co-attach)\n\nBecause it's just tmux, you can attach a real terminal to the same session and\nwatch the agent type in real time:\n\n```sh\ntmux -S /tmp/ddx-term.sock -CC attach -t ddx-shared   # iTerm2 / WezTerm control mode\n```\n\n## License\n\nMIT © 2026 Dudoxx UG / Acceleate Consulting. Maintainer: Walid Boudabbous <walid@acceleate.com>.\n\n---\n\n<p align=\"center\">\n  <sub>Built with care by <a href=\"https://www.dudoxx.com\">Dudoxx</a> &nbsp;·&nbsp; Hamburg</sub>\n</p>\n","readmeFilename":"README.md"}