mcp-win-stdio-ssh 0.2.5__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/.gitignore +63 -63
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/PKG-INFO +3 -3
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/README.md +1 -1
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/pyproject.toml +2 -2
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/__init__.py +1 -1
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/cli.py +4 -2
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/connection.py +2 -2
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/server.py +1 -1
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/__main__.py +0 -0
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/guide.py +0 -0
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/pty_session.py +0 -0
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/sftp_ops.py +0 -0
- {mcp_win_stdio_ssh-0.2.5 → mcp_win_stdio_ssh-0.3.0}/src/mcp_win_stdio/ssh/tunnels.py +0 -0
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
__pycache__/
|
|
2
|
-
*.py[cod]
|
|
3
|
-
*$py.class
|
|
4
|
-
*.so
|
|
5
|
-
.Python
|
|
6
|
-
build/
|
|
7
|
-
develop-eggs/
|
|
8
|
-
dist/
|
|
9
|
-
downloads/
|
|
10
|
-
eggs/
|
|
11
|
-
.eggs/
|
|
12
|
-
lib/
|
|
13
|
-
lib64/
|
|
14
|
-
parts/
|
|
15
|
-
sdist/
|
|
16
|
-
var/
|
|
17
|
-
wheels/
|
|
18
|
-
share/python-wheels/
|
|
19
|
-
*.egg-info/
|
|
20
|
-
.installed.cfg
|
|
21
|
-
*.egg
|
|
22
|
-
MANIFEST
|
|
23
|
-
|
|
24
|
-
*.manifest
|
|
25
|
-
*.spec
|
|
26
|
-
api.txt
|
|
27
|
-
pypi-api.txt
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
pip-log.txt
|
|
31
|
-
pip-delete-this-directory.txt
|
|
32
|
-
pypi api.txt
|
|
33
|
-
htmlcov/
|
|
34
|
-
.tox/
|
|
35
|
-
.nox/
|
|
36
|
-
.coverage
|
|
37
|
-
.coverage.*
|
|
38
|
-
.cache
|
|
39
|
-
nosetests.xml
|
|
40
|
-
coverage.xml
|
|
41
|
-
*.cover
|
|
42
|
-
*.py,cover
|
|
43
|
-
.hypothesis/
|
|
44
|
-
.pytest_cache/
|
|
45
|
-
cover/
|
|
46
|
-
|
|
47
|
-
*.mo
|
|
48
|
-
*.pot
|
|
49
|
-
|
|
50
|
-
.env
|
|
51
|
-
.venv
|
|
52
|
-
env/
|
|
53
|
-
venv/
|
|
54
|
-
ENV/
|
|
55
|
-
env.bak/
|
|
56
|
-
venv.bak/
|
|
57
|
-
|
|
58
|
-
.idea/
|
|
59
|
-
.vscode/
|
|
60
|
-
*.swp
|
|
61
|
-
*.swo
|
|
62
|
-
|
|
63
|
-
*.log
|
|
1
|
+
__pycache__/
|
|
2
|
+
*.py[cod]
|
|
3
|
+
*$py.class
|
|
4
|
+
*.so
|
|
5
|
+
.Python
|
|
6
|
+
build/
|
|
7
|
+
develop-eggs/
|
|
8
|
+
dist/
|
|
9
|
+
downloads/
|
|
10
|
+
eggs/
|
|
11
|
+
.eggs/
|
|
12
|
+
lib/
|
|
13
|
+
lib64/
|
|
14
|
+
parts/
|
|
15
|
+
sdist/
|
|
16
|
+
var/
|
|
17
|
+
wheels/
|
|
18
|
+
share/python-wheels/
|
|
19
|
+
*.egg-info/
|
|
20
|
+
.installed.cfg
|
|
21
|
+
*.egg
|
|
22
|
+
MANIFEST
|
|
23
|
+
|
|
24
|
+
*.manifest
|
|
25
|
+
*.spec
|
|
26
|
+
api.txt
|
|
27
|
+
pypi-api.txt
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
pip-log.txt
|
|
31
|
+
pip-delete-this-directory.txt
|
|
32
|
+
pypi api.txt
|
|
33
|
+
htmlcov/
|
|
34
|
+
.tox/
|
|
35
|
+
.nox/
|
|
36
|
+
.coverage
|
|
37
|
+
.coverage.*
|
|
38
|
+
.cache
|
|
39
|
+
nosetests.xml
|
|
40
|
+
coverage.xml
|
|
41
|
+
*.cover
|
|
42
|
+
*.py,cover
|
|
43
|
+
.hypothesis/
|
|
44
|
+
.pytest_cache/
|
|
45
|
+
cover/
|
|
46
|
+
|
|
47
|
+
*.mo
|
|
48
|
+
*.pot
|
|
49
|
+
|
|
50
|
+
.env
|
|
51
|
+
.venv
|
|
52
|
+
env/
|
|
53
|
+
venv/
|
|
54
|
+
ENV/
|
|
55
|
+
env.bak/
|
|
56
|
+
venv.bak/
|
|
57
|
+
|
|
58
|
+
.idea/
|
|
59
|
+
.vscode/
|
|
60
|
+
*.swp
|
|
61
|
+
*.swo
|
|
62
|
+
|
|
63
|
+
*.log
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mcp-win-stdio-ssh
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: Advanced Multi-SSH Connection & Remote Management Model Context Protocol (MCP) server for Windows & Claude: 25+ tools for multi-host pooling, ~/.ssh/config auto-discovery, PTY interactive shells, SFTP file management, systemd/docker services, background jobs, and local port forwarding tunnels.
|
|
5
5
|
Author: Mohan Kumar Indala
|
|
6
6
|
License-Expression: MIT
|
|
@@ -19,14 +19,14 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
19
19
|
Classifier: Topic :: System :: Systems Administration
|
|
20
20
|
Requires-Python: >=3.10
|
|
21
21
|
Requires-Dist: cryptography>=3.3.0
|
|
22
|
-
Requires-Dist: mcp-win-stdio>=0.
|
|
22
|
+
Requires-Dist: mcp-win-stdio>=0.3.0
|
|
23
23
|
Requires-Dist: mcp>=1.2.0
|
|
24
24
|
Requires-Dist: paramiko>=3.0.0
|
|
25
25
|
Description-Content-Type: text/markdown
|
|
26
26
|
|
|
27
27
|
# mcp-win-stdio-ssh
|
|
28
28
|
|
|
29
|
-
> Advanced Multi-SSH Connection & Remote Management Model Context Protocol (MCP) Server for Windows & Claude Desktop / Claude Code CLI.
|
|
29
|
+
> Advanced Multi-SSH Connection & Remote Management Model Context Protocol (MCP) Server for Windows & Claude Desktop / Claude Code CLI: **34 Tools** for stateful SSH connection pooling, background execution, interactive PTYs, SFTP, and port tunnels. Zero mandatory environment variables (persists dynamically to `~/.mcp-win-stdio/ssh_hosts.json`).
|
|
30
30
|
|
|
31
31
|
Part of the **[mcp-win-stdio](https://github.com/indala/mcp-win-stdio)** suite.
|
|
32
32
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# mcp-win-stdio-ssh
|
|
2
2
|
|
|
3
|
-
> Advanced Multi-SSH Connection & Remote Management Model Context Protocol (MCP) Server for Windows & Claude Desktop / Claude Code CLI.
|
|
3
|
+
> Advanced Multi-SSH Connection & Remote Management Model Context Protocol (MCP) Server for Windows & Claude Desktop / Claude Code CLI: **34 Tools** for stateful SSH connection pooling, background execution, interactive PTYs, SFTP, and port tunnels. Zero mandatory environment variables (persists dynamically to `~/.mcp-win-stdio/ssh_hosts.json`).
|
|
4
4
|
|
|
5
5
|
Part of the **[mcp-win-stdio](https://github.com/indala/mcp-win-stdio)** suite.
|
|
6
6
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mcp-win-stdio-ssh"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.3.0"
|
|
8
8
|
description = "Advanced Multi-SSH Connection & Remote Management Model Context Protocol (MCP) server for Windows & Claude: 25+ tools for multi-host pooling, ~/.ssh/config auto-discovery, PTY interactive shells, SFTP file management, systemd/docker services, background jobs, and local port forwarding tunnels."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
|
|
@@ -30,7 +30,7 @@ classifiers = [
|
|
|
30
30
|
]
|
|
31
31
|
|
|
32
32
|
dependencies = [
|
|
33
|
-
"mcp-win-stdio>=0.
|
|
33
|
+
"mcp-win-stdio>=0.3.0",
|
|
34
34
|
"mcp>=1.2.0",
|
|
35
35
|
"paramiko>=3.0.0",
|
|
36
36
|
"cryptography>=3.3.0",
|
|
@@ -11,8 +11,10 @@ from pathlib import Path
|
|
|
11
11
|
# Ensure Windows console uses UTF-8 without crashing on cp1252
|
|
12
12
|
if sys.platform == "win32":
|
|
13
13
|
try:
|
|
14
|
-
sys.stdout
|
|
15
|
-
|
|
14
|
+
if hasattr(sys.stdout, "reconfigure"):
|
|
15
|
+
getattr(sys.stdout, "reconfigure")(encoding="utf-8", errors="replace")
|
|
16
|
+
if hasattr(sys.stderr, "reconfigure"):
|
|
17
|
+
getattr(sys.stderr, "reconfigure")(encoding="utf-8", errors="replace")
|
|
16
18
|
except Exception:
|
|
17
19
|
pass
|
|
18
20
|
|
|
@@ -14,9 +14,9 @@ from typing import Any, Dict, List, Optional
|
|
|
14
14
|
import paramiko
|
|
15
15
|
from paramiko.config import SSHConfig
|
|
16
16
|
|
|
17
|
-
from mcp_win_stdio.core.config import
|
|
17
|
+
from mcp_win_stdio.core.config import USER_DIR, ensure_workspace_dirs
|
|
18
18
|
|
|
19
|
-
SSH_CONFIG_DIR =
|
|
19
|
+
SSH_CONFIG_DIR = USER_DIR
|
|
20
20
|
HOSTS_CONFIG_FILE = SSH_CONFIG_DIR / "ssh_hosts.json"
|
|
21
21
|
SSH_USER_DIR = Path.home() / ".ssh"
|
|
22
22
|
SYSTEM_SSH_CONFIG = SSH_USER_DIR / "config"
|
|
@@ -15,7 +15,7 @@ from typing import Any, Dict, Literal, Optional, Union
|
|
|
15
15
|
try:
|
|
16
16
|
from mcp.server.mcpserver import MCPServer as FastMCP
|
|
17
17
|
except (ImportError, ModuleNotFoundError):
|
|
18
|
-
from mcp.server.fastmcp import FastMCP
|
|
18
|
+
from mcp.server.fastmcp import FastMCP # type: ignore[import-not-found]
|
|
19
19
|
|
|
20
20
|
import paramiko
|
|
21
21
|
from mcp_win_stdio.ssh.connection import (
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|