Skip to content

Conversation

@dthuerck
Copy link

Thank you so much for this cool MCP server!

As an avid tmux user, this is right up my alley. At work, I often use tmux over SSH to work on remote machines, so a small extension to your MCP seemed the easiest way.

@nickgnd
Copy link
Owner

nickgnd commented Oct 1, 2025

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. 😉

Copy link
Owner

@nickgnd nickgnd left a 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'}
Copy link
Owner

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 🙈 )...

Copy link
Author

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"]
Copy link
Owner

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"

Copy link
Author

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.

@dthuerck
Copy link
Author

I'm through with this iteration of my changes :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants