-
Notifications
You must be signed in to change notification settings - Fork 29
Use tmux on remote hosts (over SSH) #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Hey @dthuerck thank you so much for this PR! Definitely a nice addition, let me look into that, I'd like to test it, probably by setting up a Docker container with tmux and the SSH port open. 😉 |
nickgnd
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the late review.
I left minor comments, please take a look and let me know your thoughts 😉
src/index.ts
Outdated
| options: { | ||
| 'shell-type': { type: 'string', default: 'bash', short: 's' } | ||
| 'shell-type': { type: 'string', default: 'bash', short: 's' }, | ||
| 'ssh': { type: 'string', default: undefined, short: 'h'} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
h is often used as short version for --help, so it might be confusing, despite the help not being implemented. I'm wondering if there is a better alternative, otherwise, we can even think to don't have a short version (i don't remember now if it is mandatory -- it would probably better to don't have short version at all 🙈 )...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could use -r as in remote or use a positional argument - if the argument is not supplied, then it's automatically localhost.
| "mcpServers": { | ||
| "tmux": { | ||
| "command": "npx", | ||
| "args": ["-y", "tmux-mcp", "--ssh=user@host"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it need to passwordless? Or what you mean is "not-interactive" right?
For authentication we can pass the auth key for instance --ssh="user@host -i ./test/ssh_key"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, yes and no - not-interactive is right, but that usually requires your to have unlocked your SSH key prior to using SSH. "Passwordless" refers to the target machine here :)
I added some more instructions to the README.
|
I'm through with this iteration of my changes :) |
Thank you so much for this cool MCP server!
As an avid
tmuxuser, this is right up my alley. At work, I often usetmuxover SSH to work on remote machines, so a small extension to your MCP seemed the easiest way.