mcp-win-stdio 0.2.1__tar.gz → 0.2.4__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.
Files changed (114) hide show
  1. mcp_win_stdio-0.2.4/.github/workflows/ci.yml +62 -0
  2. mcp_win_stdio-0.2.4/.github/workflows/release.yml +77 -0
  3. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/.gitignore +60 -60
  4. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/LICENSE +21 -21
  5. mcp_win_stdio-0.2.4/PKG-INFO +238 -0
  6. mcp_win_stdio-0.2.4/README.md +192 -0
  7. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-db/README.md +92 -0
  8. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-db/pyproject.toml +43 -42
  9. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-db/src/mcp_win_stdio/db/__init__.py +5 -5
  10. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-db/src/mcp_win_stdio/db/__main__.py +8 -8
  11. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-db}/src/mcp_win_stdio/db/cli.py +87 -87
  12. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-db/src/mcp_win_stdio/db/guide.py +165 -0
  13. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-db/src/mcp_win_stdio/db/server.py +2568 -0
  14. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-excel/README.md +72 -0
  15. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-excel/pyproject.toml +45 -44
  16. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-excel}/src/mcp_win_stdio/excel/__init__.py +5 -5
  17. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-excel}/src/mcp_win_stdio/excel/__main__.py +8 -8
  18. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-excel/src/mcp_win_stdio/excel/cli.py +186 -186
  19. mcp_win_stdio-0.2.1/src/mcp_win_stdio/guides/excel_guide.py → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-excel/src/mcp_win_stdio/excel/guide.py +69 -69
  20. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-excel}/src/mcp_win_stdio/excel/server.py +1735 -1097
  21. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-explorer/README.md +79 -0
  22. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-explorer/pyproject.toml +43 -42
  23. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-explorer}/src/mcp_win_stdio/explorer/__init__.py +5 -5
  24. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-explorer/src/mcp_win_stdio/explorer/__main__.py +8 -8
  25. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-explorer/src/mcp_win_stdio/explorer/cli.py +176 -176
  26. mcp_win_stdio-0.2.1/src/mcp_win_stdio/guides/explorer_guide.py → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-explorer/src/mcp_win_stdio/explorer/guide.py +68 -68
  27. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-explorer}/src/mcp_win_stdio/explorer/server.py +1799 -1420
  28. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-git/README.md +98 -0
  29. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-git/pyproject.toml +42 -0
  30. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-git/src/mcp_win_stdio/git/__init__.py +5 -0
  31. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-git/src/mcp_win_stdio/git/__main__.py +8 -0
  32. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-git/src/mcp_win_stdio/git/cli.py +134 -0
  33. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-git/src/mcp_win_stdio/git/guide.py +150 -0
  34. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-git/src/mcp_win_stdio/git/server.py +2530 -0
  35. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/README.md +70 -0
  36. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/pyproject.toml +44 -0
  37. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/__init__.py +5 -0
  38. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/__main__.py +8 -0
  39. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/cli.py +152 -0
  40. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/connection.py +369 -0
  41. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/guide.py +94 -0
  42. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/pty_session.py +215 -0
  43. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/server.py +1380 -0
  44. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/sftp_ops.py +428 -0
  45. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-ssh/src/mcp_win_stdio/ssh/tunnels.py +168 -0
  46. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-tsc/README.md +81 -0
  47. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-tsc/pyproject.toml +41 -40
  48. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-tsc/src/mcp_win_stdio/tsc/__init__.py +5 -5
  49. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-tsc}/src/mcp_win_stdio/tsc/__main__.py +8 -8
  50. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-tsc}/src/mcp_win_stdio/tsc/cli.py +89 -89
  51. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-tsc}/src/mcp_win_stdio/tsc/guide.py +64 -56
  52. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-tsc/src/mcp_win_stdio/tsc/server.py +939 -0
  53. mcp_win_stdio-0.2.4/packages/mcp-win-stdio-word/README.md +79 -0
  54. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-word/pyproject.toml +44 -43
  55. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-word/src/mcp_win_stdio/word/__init__.py +5 -5
  56. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-word/src/mcp_win_stdio/word/__main__.py +8 -8
  57. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/packages/mcp-win-stdio-word/src/mcp_win_stdio/word/cli.py +79 -79
  58. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-word}/src/mcp_win_stdio/word/guide.py +77 -77
  59. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4/packages/mcp-win-stdio-word}/src/mcp_win_stdio/word/server.py +1313 -1058
  60. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/pyproject.toml +83 -84
  61. mcp_win_stdio-0.2.4/scripts/build_all.py +66 -0
  62. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/src/mcp_win_stdio/__init__.py +7 -5
  63. mcp_win_stdio-0.2.4/src/mcp_win_stdio/cli.py +842 -0
  64. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/src/mcp_win_stdio/core/config.py +55 -55
  65. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/src/mcp_win_stdio/core/discovery.py +158 -121
  66. mcp_win_stdio-0.2.4/src/mcp_win_stdio/core/environment.py +180 -0
  67. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/src/mcp_win_stdio/core/installer.py +211 -190
  68. mcp_win_stdio-0.2.4/src/mcp_win_stdio/core/updater.py +111 -0
  69. mcp_win_stdio-0.2.4/tests/test_audit.py +573 -0
  70. mcp_win_stdio-0.2.4/tests/test_cli.py +125 -0
  71. mcp_win_stdio-0.2.4/tests/test_git.py +262 -0
  72. mcp_win_stdio-0.2.1/PKG-INFO +0 -217
  73. mcp_win_stdio-0.2.1/README.md +0 -168
  74. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-db/README.md +0 -42
  75. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-db/src/mcp_win_stdio/db/cli.py +0 -87
  76. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-db/src/mcp_win_stdio/db/server.py +0 -1147
  77. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-excel/README.md +0 -44
  78. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-excel/src/mcp_win_stdio/excel/__init__.py +0 -5
  79. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-excel/src/mcp_win_stdio/excel/__main__.py +0 -8
  80. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-excel/src/mcp_win_stdio/excel/guide.py +0 -52
  81. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-excel/src/mcp_win_stdio/excel/server.py +0 -1097
  82. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-explorer/README.md +0 -44
  83. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-explorer/src/mcp_win_stdio/explorer/__init__.py +0 -5
  84. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-explorer/src/mcp_win_stdio/explorer/guide.py +0 -53
  85. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-explorer/src/mcp_win_stdio/explorer/server.py +0 -1420
  86. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-tsc/README.md +0 -47
  87. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-tsc/src/mcp_win_stdio/tsc/__main__.py +0 -8
  88. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-tsc/src/mcp_win_stdio/tsc/cli.py +0 -89
  89. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-tsc/src/mcp_win_stdio/tsc/guide.py +0 -56
  90. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-tsc/src/mcp_win_stdio/tsc/server.py +0 -491
  91. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-word/README.md +0 -48
  92. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-word/src/mcp_win_stdio/word/guide.py +0 -77
  93. mcp_win_stdio-0.2.1/packages/mcp-win-stdio-word/src/mcp_win_stdio/word/server.py +0 -1035
  94. mcp_win_stdio-0.2.1/src/mcp_win_stdio/cli.py +0 -425
  95. mcp_win_stdio-0.2.1/src/mcp_win_stdio/db/__init__.py +0 -5
  96. mcp_win_stdio-0.2.1/src/mcp_win_stdio/db/__main__.py +0 -8
  97. mcp_win_stdio-0.2.1/src/mcp_win_stdio/db/server.py +0 -1147
  98. mcp_win_stdio-0.2.1/src/mcp_win_stdio/excel/cli.py +0 -186
  99. mcp_win_stdio-0.2.1/src/mcp_win_stdio/excel/guide.py +0 -52
  100. mcp_win_stdio-0.2.1/src/mcp_win_stdio/explorer/__main__.py +0 -8
  101. mcp_win_stdio-0.2.1/src/mcp_win_stdio/explorer/cli.py +0 -176
  102. mcp_win_stdio-0.2.1/src/mcp_win_stdio/explorer/guide.py +0 -53
  103. mcp_win_stdio-0.2.1/src/mcp_win_stdio/guides/__init__.py +0 -1
  104. mcp_win_stdio-0.2.1/src/mcp_win_stdio/guides/db_guide.py +0 -115
  105. mcp_win_stdio-0.2.1/src/mcp_win_stdio/guides/tsc_guide.py +0 -5
  106. mcp_win_stdio-0.2.1/src/mcp_win_stdio/guides/word_guide.py +0 -5
  107. mcp_win_stdio-0.2.1/src/mcp_win_stdio/tsc/__init__.py +0 -5
  108. mcp_win_stdio-0.2.1/src/mcp_win_stdio/tsc/server.py +0 -491
  109. mcp_win_stdio-0.2.1/src/mcp_win_stdio/word/__init__.py +0 -5
  110. mcp_win_stdio-0.2.1/src/mcp_win_stdio/word/__main__.py +0 -8
  111. mcp_win_stdio-0.2.1/src/mcp_win_stdio/word/cli.py +0 -79
  112. mcp_win_stdio-0.2.1/tests/test_audit.py +0 -70
  113. mcp_win_stdio-0.2.1/tests/test_cli.py +0 -89
  114. {mcp_win_stdio-0.2.1 → mcp_win_stdio-0.2.4}/src/mcp_win_stdio/__main__.py +0 -0
@@ -0,0 +1,62 @@
1
+ name: CI Test Suite
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ test:
12
+ name: Test Python ${{ matrix.python-version }} on ${{ matrix.os }}
13
+ runs-on: ${{ matrix.os }}
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ os: [windows-latest, ubuntu-latest]
18
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
19
+
20
+ steps:
21
+ - name: Check out repository
22
+ uses: actions/checkout@v4
23
+
24
+ - name: Set up Python ${{ matrix.python-version }}
25
+ uses: actions/setup-python@v5
26
+ with:
27
+ python-version: ${{ matrix.python-version }}
28
+ cache: "pip"
29
+
30
+ - name: Install dependencies
31
+ run: |
32
+ python -m pip install --upgrade pip
33
+ pip install mcp rapidfuzz pathspec openpyxl pandas python-docx psycopg2-binary pymysql paramiko cryptography build twine pytest
34
+ pip install -e .
35
+
36
+ - name: Run CLI and Discovery Tests
37
+ run: python tests/test_cli.py
38
+
39
+ - name: Run Audit & Server Engine Tests
40
+ run: python tests/test_audit.py
41
+
42
+ build-validation:
43
+ name: Validate Wheel & Sdist Builds
44
+ runs-on: ubuntu-latest
45
+ needs: test
46
+ steps:
47
+ - name: Check out repository
48
+ uses: actions/checkout@v4
49
+
50
+ - name: Set up Python
51
+ uses: actions/setup-python@v5
52
+ with:
53
+ python-version: "3.12"
54
+
55
+ - name: Install build tools
56
+ run: pip install --upgrade build twine hatchling
57
+
58
+ - name: Build all 8 packages
59
+ run: python scripts/build_all.py
60
+
61
+ - name: Validate distribution packages with Twine
62
+ run: twine check dist/*
@@ -0,0 +1,77 @@
1
+ name: Release & Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+ branches:
8
+ - "main"
9
+ workflow_dispatch:
10
+
11
+ permissions:
12
+ contents: write
13
+ id-token: write
14
+
15
+ jobs:
16
+ build-and-publish:
17
+ name: Build All 7 Packages & Publish to PyPI
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: Check out repository
21
+ uses: actions/checkout@v4
22
+ with:
23
+ fetch-depth: 0
24
+
25
+ - name: Set up Python
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.12"
29
+
30
+ - name: Install build and packaging dependencies
31
+ run: |
32
+ python -m pip install --upgrade pip
33
+ pip install --upgrade build twine hatchling
34
+
35
+ - name: Run Test Suite
36
+ run: |
37
+ pip install mcp rapidfuzz pathspec openpyxl pandas python-docx psycopg2-binary pymysql paramiko cryptography
38
+ python tests/test_cli.py
39
+ python tests/test_audit.py
40
+
41
+ - name: Build All 8 Packages (Root + Subpackages)
42
+ run: python scripts/build_all.py
43
+
44
+ - name: Check Artifact Metadata
45
+ run: twine check dist/*
46
+
47
+ - name: Publish to PyPI
48
+ env:
49
+ TWINE_USERNAME: __token__
50
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
51
+ run: |
52
+ if [ -n "$TWINE_PASSWORD" ]; then
53
+ echo "Publishing packages to PyPI (skipping already published releases)..."
54
+ for f in dist/*; do
55
+ echo "Uploading $f..."
56
+ for attempt in 1 2 3 4 5; do
57
+ if twine upload --skip-existing "$f"; then
58
+ break
59
+ else
60
+ echo "Upload failed (possibly rate limit), retrying in 10s... (attempt $attempt/5)"
61
+ sleep 10
62
+ fi
63
+ done
64
+ sleep 3
65
+ done
66
+ else
67
+ echo "::warning ::PYPI_API_TOKEN secret is not set in GitHub repository settings. Skipping PyPI upload."
68
+ fi
69
+
70
+ - name: Create GitHub Release
71
+ uses: softprops/action-gh-release@v2
72
+ if: startsWith(github.ref, 'refs/tags/v')
73
+ with:
74
+ files: dist/*
75
+ generate_release_notes: true
76
+ draft: false
77
+ prerelease: false
@@ -1,60 +1,60 @@
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
-
27
- pip-log.txt
28
- pip-delete-this-directory.txt
29
-
30
- htmlcov/
31
- .tox/
32
- .nox/
33
- .coverage
34
- .coverage.*
35
- .cache
36
- nosetests.xml
37
- coverage.xml
38
- *.cover
39
- *.py,cover
40
- .hypothesis/
41
- .pytest_cache/
42
- cover/
43
-
44
- *.mo
45
- *.pot
46
-
47
- .env
48
- .venv
49
- env/
50
- venv/
51
- ENV/
52
- env.bak/
53
- venv.bak/
54
-
55
- .idea/
56
- .vscode/
57
- *.swp
58
- *.swo
59
-
60
- *.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
+
27
+ pip-log.txt
28
+ pip-delete-this-directory.txt
29
+ pypi api.txt
30
+ htmlcov/
31
+ .tox/
32
+ .nox/
33
+ .coverage
34
+ .coverage.*
35
+ .cache
36
+ nosetests.xml
37
+ coverage.xml
38
+ *.cover
39
+ *.py,cover
40
+ .hypothesis/
41
+ .pytest_cache/
42
+ cover/
43
+
44
+ *.mo
45
+ *.pot
46
+
47
+ .env
48
+ .venv
49
+ env/
50
+ venv/
51
+ ENV/
52
+ env.bak/
53
+ venv.bak/
54
+
55
+ .idea/
56
+ .vscode/
57
+ *.swp
58
+ *.swo
59
+
60
+ *.log
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 indala
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 indala
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,238 @@
1
+ Metadata-Version: 2.5
2
+ Name: mcp-win-stdio
3
+ Version: 0.2.4
4
+ Summary: Windows-optimized Model Context Protocol (MCP) suite & interactive CLI hub for Claude Desktop & Claude Code CLI (Excel COM, Word layouts, Workspace Explorer, and TypeScript diagnostic watcher).
5
+ Author: Mohan Kumar Indala
6
+ License-Expression: MIT
7
+ License-File: LICENSE
8
+ Keywords: ai,claude,excel,llm,mcp,stdio,typescript,windows,word,workspace-explorer
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Win32 (MS Windows)
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: Microsoft :: Windows
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
+ Classifier: Topic :: Software Development :: Libraries
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: mcp>=1.2.0
23
+ Provides-Extra: all
24
+ Requires-Dist: mcp-win-stdio-db>=0.2.4; extra == 'all'
25
+ Requires-Dist: mcp-win-stdio-excel>=0.2.4; extra == 'all'
26
+ Requires-Dist: mcp-win-stdio-explorer>=0.2.4; extra == 'all'
27
+ Requires-Dist: mcp-win-stdio-git>=0.2.4; extra == 'all'
28
+ Requires-Dist: mcp-win-stdio-ssh>=0.2.4; extra == 'all'
29
+ Requires-Dist: mcp-win-stdio-tsc>=0.2.4; extra == 'all'
30
+ Requires-Dist: mcp-win-stdio-word>=0.2.4; extra == 'all'
31
+ Provides-Extra: db
32
+ Requires-Dist: mcp-win-stdio-db>=0.2.4; extra == 'db'
33
+ Provides-Extra: excel
34
+ Requires-Dist: mcp-win-stdio-excel>=0.2.4; extra == 'excel'
35
+ Provides-Extra: explorer
36
+ Requires-Dist: mcp-win-stdio-explorer>=0.2.4; extra == 'explorer'
37
+ Provides-Extra: git
38
+ Requires-Dist: mcp-win-stdio-git>=0.2.4; extra == 'git'
39
+ Provides-Extra: ssh
40
+ Requires-Dist: mcp-win-stdio-ssh>=0.2.4; extra == 'ssh'
41
+ Provides-Extra: tsc
42
+ Requires-Dist: mcp-win-stdio-tsc>=0.2.4; extra == 'tsc'
43
+ Provides-Extra: word
44
+ Requires-Dist: mcp-win-stdio-word>=0.2.4; extra == 'word'
45
+ Description-Content-Type: text/markdown
46
+
47
+ # mcp-win-stdio
48
+
49
+ Windows-optimized **Model Context Protocol (MCP)** suite and interactive CLI hub (`mws`) for local `stdio` execution with transparent Claude Desktop & Claude Code CLI configuration.
50
+
51
+ [![PyPI Version](https://img.shields.io/pypi/v/mcp-win-stdio.svg)](https://pypi.org/project/mcp-win-stdio/)
52
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
53
+ [![Python: 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/)
54
+
55
+ ---
56
+
57
+ ## 🌟 Highlights (130 Tools Across 7 Modular Servers)
58
+
59
+ * **Interactive CLI Hub (`mws`)**: Run `mws` alone to view all servers, live installation status (`[Installed]` vs `[Not Installed]`), and quick commands.
60
+ * **Safe, Transparent Setup (`mws setup <server>` / `mws add <server>`)**: Installs missing dependencies on-demand, generates exact copy-pasteable JSON configuration for Claude Desktop and Claude Code CLI, and asks confirmation before making any automated edits (always creating `.bak` backups).
61
+ * **Dynamic Guide Merging (`mws guide [server]`)**: View comprehensive tool schemas, prompt recipes, and diagnostic checks for individual servers (`mws ssh guide`, `mws git guide`, `mws db guide`) or all installed servers merged (`mws guide all`).
62
+ * **Multi-SSH & Remote Management MCP (27 Tools)**: Advanced multi-host connection pooling, auto-discovery of `~/.ssh/config` aliases/identity files/ProxyJump, sticky active host routing, command execution, elevated `sudo` automation, interactive PTY terminal sessions, detached background jobs, systemd/docker/pm2 service inspection, package listing, log tailing, comprehensive SFTP file management, and background local port forwarding tunnels.
63
+ * **Git & GitHub MCP (33 Tools)**: Unified local Git repository management (init, remotes, restore, bookmarks, branching, commits, paginated diffs, conflicts) and remote GitHub CLI (`gh`) operations (PR checks, releases, issues, Actions) with hybrid synergy workflows.
64
+ * **Polyglot Database MCP (23 Tools)**: Unified PostgreSQL & MySQL database manager with cross-database switching, cross-schema auto-resolution, fast JSON queries, DBA administrative operations (safety-guarded DROP, CREATE, CLONE), active connection monitoring, index health audits, schema diffing, and native dump/restore utilities.
65
+ * **Excel MCP (20 Tools)**: High-speed Pandas data queries, multi-column reconciliation with RapidFuzz, cell & formula editing, and native Windows Excel COM automation (PDF exports, recalculation, pivot refreshes, VBA macros).
66
+ * **Word MCP (10 Tools)**: Multi-unit page layout geometry (margins in inches, cm, mm, pt), multi-column layout analysis, paragraph spacing/indentation, typography (fonts, sizes, hex colors), and floating/inline header image extraction.
67
+ * **Workspace Explorer MCP (11 Tools)**: Token-safe directory exploration, collapsible heavy folders (`node_modules`, `.next`, `.git`), dynamic `.gitignore` parsing, in-file regex grep, RapidFuzz fuzzy search, and Python/TypeScript AST outline extraction.
68
+ * **TypeScript Diagnostic Watcher MCP (6 Tools)**: Persistent background `tsc` compiler watchers maintaining an in-memory cache for instantaneous (0ms latency) error inspection across multi-tsconfig projects.
69
+ * **Extensible User Plugins**: Drop any standalone Python MCP script into `~/.mcp-win-stdio/plugins/` and it is immediately discovered, runnable, and configurable.
70
+
71
+ ---
72
+
73
+ ## 📦 Modular Architecture & Installation
74
+
75
+ Each server is published as an independent, lightweight PyPI package. Installing any standalone package automatically installs the `mws` CLI orchestrator.
76
+
77
+ | Server | Standalone Package | Tools | Primary Capabilities |
78
+ | :--- | :--- | :---: | :--- |
79
+ | **SSH** | `pip install mcp-win-stdio-ssh` | 27 | Multi-host pooling, ~/.ssh/config discovery, PTY shells, background jobs, systemd/docker, package management, SFTP, port forwarding |
80
+ | **Git & GitHub** | `pip install mcp-win-stdio-git` | 33 | Local Git init/remotes/restore/bookmarks/branches, commits, diffs + GitHub PR checks, releases, issues, Actions |
81
+ | **Database** | `pip install mcp-win-stdio-db` | 23 | PostgreSQL & MySQL pooling, cross-schema resolution, index audits, schema diffs, DBA management, dump/restore |
82
+ | **Excel** | `pip install mcp-win-stdio-excel` | 20 | Pandas queries, RapidFuzz reconciliation, OpenPyXL, native Excel COM automation |
83
+ | **Word** | `pip install mcp-win-stdio-word` | 10 | Margins (in, cm, mm, pt), multi-column IEEE layout, typography, image extraction |
84
+ | **Explorer** | `pip install mcp-win-stdio-explorer` | 11 | Token-safe tree, .gitignore resolution, in-file grep, AST outlines |
85
+ | **TypeScript** | `pip install mcp-win-stdio-tsc` | 6 | 0ms in-memory compilation error cache, multi-tsconfig watchers |
86
+
87
+ ### Install Individual Servers:
88
+ ```powershell
89
+ pip install mcp-win-stdio-ssh
90
+ pip install mcp-win-stdio-git
91
+ pip install mcp-win-stdio-db
92
+ pip install mcp-win-stdio-excel
93
+ pip install mcp-win-stdio-word
94
+ pip install mcp-win-stdio-explorer
95
+ pip install mcp-win-stdio-tsc
96
+ ```
97
+
98
+ ### Or Install the Complete Suite:
99
+ ```powershell
100
+ pip install "mcp-win-stdio[all]"
101
+ ```
102
+
103
+ ### For Local Development:
104
+ ```powershell
105
+ git clone https://github.com/indala/mcp-win-stdio.git
106
+ cd mcp-win-stdio
107
+ pip install -e .
108
+ ```
109
+
110
+ ---
111
+
112
+ ## 🚀 Quick Start
113
+
114
+ ### 1. Launch the Interactive Dashboard
115
+ ```powershell
116
+ mws
117
+ ```
118
+ Output:
119
+ ```text
120
+ ============================================================================
121
+ 🚀 mcp-win-stdio — Windows Model Context Protocol Suite (v0.2.4)
122
+ ============================================================================
123
+
124
+ Single-Source Hub: C:\Users\admin\.mcp-win-stdio
125
+ Claude Desktop Config: C:\Users\admin\AppData\Roaming\Claude\claude_desktop_config.json
126
+ Claude Code CLI Config: C:\Users\admin\.claude.json
127
+ ----------------------------------------------------------------------------
128
+ SERVER STATUS TOOLS DESCRIPTION
129
+ ----------------------------------------------------------------------------
130
+ excel [Installed] 20 20 tools: Pandas queries, RapidFuzz...
131
+ word [Installed] 10 10 tools: multi-unit margins (in, cm...
132
+ explorer [Installed] 11 11 tools: token-safe collapsible tree...
133
+ tsc [Installed] 6 6 tools: background tsc compiler...
134
+ db [Installed] 20 20 tools: polyglot multi-server p...
135
+ git [Installed] 26 26 tools: Local Git branching, co...
136
+ ----------------------------------------------------------------------------
137
+ 💡 Quick Commands:
138
+ mws setup <server> -> Configure Claude Desktop & Claude Code CLI
139
+ mws guide <server> -> View complete tool reference & Claude prompts
140
+ mws doctor -> Run health checks (COM, Python, DB, Git)
141
+ mws run <server> -> Launch MCP server over stdio
142
+ mws list -> List all servers and custom plugins
143
+ ============================================================================
144
+ ```
145
+
146
+ ### 2. Configure a Server for Claude
147
+ ```powershell
148
+ mws setup git
149
+ # or:
150
+ mws add db
151
+ ```
152
+ `mws` verifies dependencies, generates absolute-path configurations (preventing Windows PATH lookup failures), and optionally writes directly to your Claude Desktop config with automatic backup.
153
+
154
+ ---
155
+
156
+ ## 📖 CLI Commands
157
+
158
+ | Command | Shorthand / Alternate Syntax | Description |
159
+ | :--- | :--- | :--- |
160
+ | `mws` | `mws list` | Displays interactive terminal home dashboard with live server status, PyPI update alerts, and tips. |
161
+ | `mws install <server\|all>` | `mws <server> install` | Installs standalone server packages from PyPI. |
162
+ | `mws update <server\|all>` | `mws <server> update` | Checks PyPI for new versions and upgrades the suite or specific server. |
163
+ | `mws setup <server>` | `mws add <server>` / `mws <server> setup` | Guides setup, verifies dependencies, and generates Claude config snippets. |
164
+ | `mws remove <server>` | `mws <server> remove` | Safely removes server(s) from Claude Desktop and CLI configs. |
165
+ | `mws uninstall <server\|all>` | `mws <server> uninstall` | Cleanly uninstalls packages and removes Claude registrations while preserving your single-source hub (`~/.mcp-win-stdio`). |
166
+ | `mws guide [server]` | `mws <server> guide` | Prints tool reference, parameter schemas, and prompt recipes for Claude. |
167
+ | `mws doctor` | `mws <server> doctor` | Runs diagnostic health checks (Python, Git CLI, GitHub CLI, COM, DB drivers, PyPI updates). |
168
+ | `mws fix-path` | `mws path` | Checks and configures Python Scripts/bin directories in Windows User PATH. |
169
+ | `mws run <server>` | `mws <server> run` | Launches the MCP server over stdio. |
170
+
171
+
172
+ > [!TIP]
173
+ > If `mws` is not yet in Windows `PATH`, all commands can be executed using Python's module runner:
174
+ > ```powershell
175
+ > python -m mcp_win_stdio run git
176
+ > python -m mcp_win_stdio update all
177
+ > python -m mcp_win_stdio doctor
178
+ > ```
179
+
180
+
181
+ ---
182
+
183
+ ## 🛠️ The 6 MCP Servers (103 Tools)
184
+
185
+ ### 🐙 1. Git & GitHub MCP (`mcp_win_stdio.git`) — 33 Tools
186
+ * **Local Git Suite (20 Tools)**: `git_init`, `git_remote`, `git_restore`, `use_repo`, `list_repos`, `add_repo`, `remove_repo`, `rename_alias`, `git_status`, `git_diff` (with offset pagination), `git_log`, `git_commit` (with untracked safeguards), `git_branch`, `git_stash`, `git_sync`, `git_blame`, `git_reset`, `git_tag`, `git_grep`, `git_worktree`, `git_config`, `git_conflict_resolve`, `git_cherry_pick`, `git_clean_untracked`.
187
+ * **Remote GitHub CLI Suite (10 Tools)**: `gh_auth_status`, `gh_switch_account`, `gh_pr_list`, `gh_pr_view`, `gh_pr_diff`, `gh_pr_checkout`, `gh_pr_action`, `gh_pr_checks`, `gh_pr_review_comments`, `gh_release_list`, `gh_release_create`, `gh_issue_list`, `gh_issue_view`, `gh_issue_create`, `gh_issue_comment`, `gh_run_status`, `gh_gist_create`, `gh_search`, `gh_api`.
188
+ * **Hybrid Synergy Workflows (3 Tools)**:
189
+ * `repo_overview`: 360-degree status combining local branch, dirty status, ahead/behind tracking, active open PR, and latest GitHub Actions workflow run.
190
+ * `pr_quickstart`: Stage $\rightarrow$ Commit $\rightarrow$ Push $\rightarrow$ Create PR via `gh pr create` in one turn.
191
+ * `issue_start_work`: Fetches issue from GitHub and creates a linked local branch `feature/<id>-<slug>`.
192
+
193
+ ### 🗄️ 2. Polyglot Database MCP (`mcp_win_stdio.db`) — 23 Tools
194
+ * **Inspection & Resolution**: `list_connections`, `use_database`, `list_databases`, `list_schemas`, `describe_table` (auto cross-schema lookup), `get_table_ddl`, `schema_overview`, `compact_schema_overview`, `get_table_sample`, `search_schema`.
195
+ * **Execution & Diagnostics**: `read_query` (safe SELECT with row counts), `execute_query` (DML/DDL transactions), `explain_query` (EXPLAIN plans), `get_database_stats`, `analyze_table_indexes`, `compare_schemas` (structural diff with migration SQL), `audit_database_health` (unindexed FKs, bloated tables).
196
+ * **DBA Management**: `add_connection`, `create_database`, `drop_database` (safety confirmation required), `clone_database` (instant PostgreSQL TEMPLATE clone), `terminate_connections`, `list_active_queries`.
197
+ * **Native Utilities**: `dump_database` (`pg_dump`/`mysqldump`), `restore_database` (`psql`/`mysql`).
198
+
199
+ ### 📊 3. Excel MCP (`mcp_win_stdio.excel`) — 20 Tools
200
+ * **Pandas Querying**: `query_rows`, `read_range`, `get_column_values`, `compare_column_values`, `summarize_column`, `search_text`.
201
+ * **Reconciliation**: `analyze_reconciliation_keys`, `reconcile_and_merge` (RapidFuzz fuzzy joins + 3-tab audit workbook).
202
+ * **OpenPyXL Editing**: `create_workbook`, `append_rows`, `add_sheet`, `rename_sheet`, `delete_sheet`, `update_cells`, `export_to_csv`, `export_to_json`.
203
+ * **Native Windows Excel COM**: `recalculate_and_save`, `export_to_pdf`, `refresh_data_and_pivots`, `run_vba_macro`, `get_active_excel_window`.
204
+
205
+ ### 📝 4. Word MCP (`mcp_win_stdio.word`) — 10 Tools
206
+ * **Layout Geometry**: `get_document_layout` (margins in inches, cm, mm, pt, paper format, multi-column layout, section breaks).
207
+ * **Typography & Spacing**: `get_paragraph_spacing_and_indentation`, `get_document_typography` (fonts, sizes in pt, hex colors).
208
+ * **Visuals & Tables**: `get_document_images` (inline vs floating anchor images, placement offsets, dimensions), `get_document_tables`, `get_headers_and_footers`.
209
+ * **Content & Search**: `read_word_document`, `search_word_document`, `get_document_outline`, `get_document_metadata`.
210
+
211
+ ### 📁 5. Workspace Explorer MCP (`mcp_win_stdio.explorer`) — 11 Tools
212
+ * **Token-Safe Navigation**: `list_dir`, `get_directory_tree` (collapses `node_modules`, `.next`, `dist`, `.git`).
213
+ * **Search**: `find_files` (glob matching), `fuzzy_find` (RapidFuzz typo-tolerant search), `grep_search` (in-file regex grep with context lines).
214
+ * **Code Intelligence**: `get_code_outline` (AST extractor for Python classes/methods and JS/TS signatures), `get_file_info`, `workspace_summary`, `export_tree_to_file`.
215
+ * **Safe Reading**: `read_file` (windowed line slicing, binary safeguard), `read_head_tail`.
216
+
217
+ ### ⚡ 6. TypeScript Diagnostic Watcher MCP (`mcp_win_stdio.tsc`) — 6 Tools
218
+ * **Instant Diagnostic Query**: `get_tsc_errors` (0ms in-memory cache), `get_file_errors`, `get_error_summary`.
219
+ * **Dynamic Watchers**: `list_watched_projects`, `watch_project(path)`, `restart_tsc_watcher`.
220
+
221
+ ---
222
+
223
+ ## 🔌 Custom Plugins from Other PCs
224
+
225
+ Have custom Python MCP scripts?
226
+ Simply place your script into:
227
+ ```text
228
+ %USERPROFILE%\.mcp-win-stdio\plugins\my_custom_mcp.py
229
+ ```
230
+ `mcp-win-stdio` automatically discovers it:
231
+ * View it in `mws list`
232
+ * Run it via `mws run my_custom_mcp`
233
+ * Add it to Claude via `mws setup my_custom_mcp`
234
+
235
+ ---
236
+
237
+ ## 📜 License
238
+ MIT License. Copyright (c) 2026 Mohan Kumar Indala.