mcp-win-stdio-git 0.2.5__tar.gz → 0.3.1__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.
@@ -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-git
3
- Version: 0.2.5
3
+ Version: 0.3.1
4
4
  Summary: Unified Git & GitHub Model Context Protocol (MCP) server for Windows & Claude: 33 tools combining local Git repository management (init, remotes, restore, bookmarks, branching, commits, diffs) and remote GitHub CLI (gh) operations with hybrid synergy workflows.
5
5
  Author: Mohan Kumar Indala
6
6
  License-Expression: MIT
@@ -18,28 +18,28 @@ Classifier: Programming Language :: Python :: 3.13
18
18
  Classifier: Programming Language :: Python :: 3.14
19
19
  Classifier: Topic :: Software Development :: Version Control :: Git
20
20
  Requires-Python: >=3.10
21
- Requires-Dist: mcp-win-stdio>=0.2.5
21
+ Requires-Dist: mcp-win-stdio>=0.3.1
22
22
  Requires-Dist: mcp>=1.2.0
23
23
  Description-Content-Type: text/markdown
24
24
 
25
25
  # mcp-win-stdio-git
26
26
 
27
- Unified Git & GitHub Model Context Protocol (MCP) server for Windows & Claude Desktop: **33 tools** seamlessly unifying local Git repository management and remote GitHub CLI (`gh`) operations with hybrid synergy workflows.
27
+ Unified Git & GitHub Model Context Protocol (MCP) server for Windows & Claude Desktop: **46 tools** seamlessly unifying local Git repository management and remote GitHub CLI (`gh`) operations with hybrid synergy workflows.
28
28
 
29
29
  Part of the **`mcp-win-stdio`** Windows-optimized suite.
30
30
 
31
31
  ---
32
32
 
33
- ## 🚀 Features (33 Tools)
33
+ ## 🚀 Features (46 Tools)
34
34
 
35
- - **Local Git Suite (20 Tools)**:
35
+ - **Local Git Suite (27 Tools)**:
36
36
  - Repository initialization (`git_init`) and bookmark management (`use_repo`, `list_repos`, `add_repo`, `remove_repo`, `rename_alias`).
37
37
  - Remotes management (`git_remote`: list, add, set-url, remove, get-url).
38
38
  - Safe file restoration (`git_restore`) and guarded destructive reset (`git_reset`).
39
- - Branching (`git_branch`), staging & commits with untracked safeguards (`git_commit`), paginated chunked diffs (`git_diff`), commit logs (`git_log`), stashing (`git_stash`), remote sync (`git_sync`), blame (`git_blame`), tags (`git_tag`), cherry-pick (`git_cherry_pick`), clean (`git_clean_untracked`), regex search (`git_grep`), and config (`git_config`).
39
+ - Branching (`git_branch`), staging & commits with untracked safeguards (`git_commit`), status (`git_status`), paginated chunked diffs (`git_diff`), commit logs (`git_log`), stashing (`git_stash`), remote sync (`git_sync`), blame (`git_blame`), tags (`git_tag`), cherry-pick (`git_cherry_pick`), clean (`git_clean_untracked`), regex search (`git_grep`), and config (`git_config`).
40
40
  - Isolated background workspaces via `git_worktree`.
41
41
  - In-progress merge and rebase conflict detection & resolution (`git_conflict_resolve`).
42
- - **Remote GitHub CLI Suite (10 Tools)**:
42
+ - **Remote GitHub CLI Suite (16 Tools)**:
43
43
  - Pull requests (`gh_pr_list`, `gh_pr_view`, `gh_pr_diff`, `gh_pr_checkout`, `gh_pr_action`, `gh_pr_checks`, `gh_pr_review_comments`).
44
44
  - Releases (`gh_release_list`, `gh_release_create`).
45
45
  - Issue tracking (`gh_issue_list`, `gh_issue_view`, `gh_issue_create`, `gh_issue_comment`).
@@ -1,21 +1,21 @@
1
1
  # mcp-win-stdio-git
2
2
 
3
- Unified Git & GitHub Model Context Protocol (MCP) server for Windows & Claude Desktop: **33 tools** seamlessly unifying local Git repository management and remote GitHub CLI (`gh`) operations with hybrid synergy workflows.
3
+ Unified Git & GitHub Model Context Protocol (MCP) server for Windows & Claude Desktop: **46 tools** seamlessly unifying local Git repository management and remote GitHub CLI (`gh`) operations with hybrid synergy workflows.
4
4
 
5
5
  Part of the **`mcp-win-stdio`** Windows-optimized suite.
6
6
 
7
7
  ---
8
8
 
9
- ## 🚀 Features (33 Tools)
9
+ ## 🚀 Features (46 Tools)
10
10
 
11
- - **Local Git Suite (20 Tools)**:
11
+ - **Local Git Suite (27 Tools)**:
12
12
  - Repository initialization (`git_init`) and bookmark management (`use_repo`, `list_repos`, `add_repo`, `remove_repo`, `rename_alias`).
13
13
  - Remotes management (`git_remote`: list, add, set-url, remove, get-url).
14
14
  - Safe file restoration (`git_restore`) and guarded destructive reset (`git_reset`).
15
- - Branching (`git_branch`), staging & commits with untracked safeguards (`git_commit`), paginated chunked diffs (`git_diff`), commit logs (`git_log`), stashing (`git_stash`), remote sync (`git_sync`), blame (`git_blame`), tags (`git_tag`), cherry-pick (`git_cherry_pick`), clean (`git_clean_untracked`), regex search (`git_grep`), and config (`git_config`).
15
+ - Branching (`git_branch`), staging & commits with untracked safeguards (`git_commit`), status (`git_status`), paginated chunked diffs (`git_diff`), commit logs (`git_log`), stashing (`git_stash`), remote sync (`git_sync`), blame (`git_blame`), tags (`git_tag`), cherry-pick (`git_cherry_pick`), clean (`git_clean_untracked`), regex search (`git_grep`), and config (`git_config`).
16
16
  - Isolated background workspaces via `git_worktree`.
17
17
  - In-progress merge and rebase conflict detection & resolution (`git_conflict_resolve`).
18
- - **Remote GitHub CLI Suite (10 Tools)**:
18
+ - **Remote GitHub CLI Suite (16 Tools)**:
19
19
  - Pull requests (`gh_pr_list`, `gh_pr_view`, `gh_pr_diff`, `gh_pr_checkout`, `gh_pr_action`, `gh_pr_checks`, `gh_pr_review_comments`).
20
20
  - Releases (`gh_release_list`, `gh_release_create`).
21
21
  - Issue tracking (`gh_issue_list`, `gh_issue_view`, `gh_issue_create`, `gh_issue_comment`).
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "mcp-win-stdio-git"
7
- version = "0.2.5"
7
+ version = "0.3.1"
8
8
  description = "Unified Git & GitHub Model Context Protocol (MCP) server for Windows & Claude: 33 tools combining local Git repository management (init, remotes, restore, bookmarks, branching, commits, diffs) and remote GitHub CLI (gh) operations with hybrid synergy workflows."
9
9
  readme = "README.md"
10
10
 
@@ -30,7 +30,7 @@ classifiers = [
30
30
  ]
31
31
 
32
32
  dependencies = [
33
- "mcp-win-stdio>=0.2.5",
33
+ "mcp-win-stdio>=0.3.1",
34
34
  "mcp>=1.2.0",
35
35
  ]
36
36
 
@@ -40,3 +40,6 @@ mws-git = "mcp_win_stdio.git.cli:main"
40
40
 
41
41
  [tool.hatch.build.targets.wheel]
42
42
  packages = ["src/mcp_win_stdio"]
43
+
44
+ [tool.uv.sources]
45
+ mcp-win-stdio = { workspace = true }
@@ -2,4 +2,4 @@
2
2
  Git & GitHub MCP Server for mcp-win-stdio.
3
3
  """
4
4
 
5
- __version__ = "0.2.5"
5
+ __version__ = "0.3.1"
@@ -10,14 +10,17 @@ import sys
10
10
  # Ensure Windows console uses UTF-8 without crashing on cp1252
11
11
  if sys.platform == "win32":
12
12
  try:
13
- sys.stdout.reconfigure(encoding="utf-8", errors="replace")
14
- sys.stderr.reconfigure(encoding="utf-8", errors="replace")
13
+ if hasattr(sys.stdout, "reconfigure"):
14
+ getattr(sys.stdout, "reconfigure")(encoding="utf-8", errors="replace")
15
+ if hasattr(sys.stderr, "reconfigure"):
16
+ getattr(sys.stderr, "reconfigure")(encoding="utf-8", errors="replace")
15
17
  except Exception:
16
18
  pass
17
19
 
18
- from mcp_win_stdio.git import __version__
19
20
  from mcp_win_stdio.git.server import mcp
20
21
 
22
+ from mcp_win_stdio.git import __version__
23
+
21
24
 
22
25
  def cmd_run(args: argparse.Namespace) -> None:
23
26
  """Run Git & GitHub MCP server over stdio."""
@@ -9,8 +9,10 @@ import sys
9
9
  # Ensure Windows console uses UTF-8 without crashing on cp1252
10
10
  if sys.platform == "win32":
11
11
  try:
12
- sys.stdout.reconfigure(encoding="utf-8", errors="replace")
13
- sys.stderr.reconfigure(encoding="utf-8", errors="replace")
12
+ if hasattr(sys.stdout, "reconfigure"):
13
+ getattr(sys.stdout, "reconfigure")(encoding="utf-8", errors="replace")
14
+ if hasattr(sys.stderr, "reconfigure"):
15
+ getattr(sys.stderr, "reconfigure")(encoding="utf-8", errors="replace")
14
16
  except Exception:
15
17
  pass
16
18
 
@@ -17,14 +17,14 @@ from typing import Any, Dict, List, Literal, Optional
17
17
  try:
18
18
  from mcp.server.mcpserver import MCPServer as FastMCP
19
19
  except (ImportError, ModuleNotFoundError):
20
- from mcp.server.fastmcp import FastMCP
20
+ from mcp.server.fastmcp import FastMCP # type: ignore[import-not-found]
21
21
 
22
- from mcp_win_stdio.core.config import INDALA_DIR, ensure_workspace_dirs
22
+ from mcp_win_stdio.core.config import USER_DIR, ensure_workspace_dirs
23
23
 
24
24
  mcp = FastMCP("git-mcp")
25
25
 
26
26
  # Persistent repository bookmarks
27
- GIT_CONFIG_DIR = INDALA_DIR
27
+ GIT_CONFIG_DIR = USER_DIR
28
28
  REPOS_CONFIG_FILE = GIT_CONFIG_DIR / "git_repos.json"
29
29
 
30
30
  _ACTIVE_REPO: Optional[Path] = None
@@ -1791,7 +1791,7 @@ def gh_auth_status() -> Dict[str, Any]:
1791
1791
  return get_gh_missing_guidance()
1792
1792
 
1793
1793
  res = run_gh_command(["auth", "status"], cwd=resolve_repo_path())
1794
- out = (res.get("stderr") or res.get("stdout") or "")
1794
+ out = res.get("stderr") or res.get("stdout") or ""
1795
1795
  return {
1796
1796
  "success": bool(res.get("success")),
1797
1797
  "raw_status": out,