Skip to content

Commit 6dcec20

Browse files
authored
Merge pull request #27 from snafu4/main
Add --version / -V flag to jcodemunch-mcp CLI
2 parents 0612c34 + 36ddc77 commit 6dcec20

3 files changed

Lines changed: 23 additions & 1 deletion

File tree

src/jcodemunch_mcp/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
"""github-codemunch-mcp - Token-efficient MCP server for GitHub source code exploration."""
22

3-
__version__ = "0.1.0"
3+
from importlib.metadata import PackageNotFoundError, version
4+
5+
try:
6+
__version__ = version("jcodemunch-mcp")
7+
except PackageNotFoundError:
8+
__version__ = "unknown"

src/jcodemunch_mcp/server.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from mcp.server import Server
1212
from mcp.types import Tool, TextContent
1313

14+
from . import __version__
1415
from .tools.index_repo import index_repo
1516
from .tools.index_folder import index_folder
1617
from .tools.list_repos import list_repos
@@ -387,6 +388,12 @@ def main(argv: Optional[list[str]] = None):
387388
prog="jcodemunch-mcp",
388389
description="Run the jCodeMunch MCP stdio server.",
389390
)
391+
parser.add_argument(
392+
"-V",
393+
"--version",
394+
action="version",
395+
version=f"%(prog)s {__version__}",
396+
)
390397
parser.add_argument(
391398
"--log-level",
392399
default=os.environ.get("JCODEMUNCH_LOG_LEVEL", "WARNING"),

tests/test_cli.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,13 @@ def test_main_help_exits_without_starting_server(capsys):
1414
out = capsys.readouterr().out
1515
assert "jcodemunch-mcp" in out
1616
assert "Run the jCodeMunch MCP stdio server" in out
17+
18+
19+
def test_main_version_exits_with_version(capsys):
20+
"""`--version` should print package version and exit cleanly."""
21+
with pytest.raises(SystemExit) as exc:
22+
main(["--version"])
23+
24+
assert exc.value.code == 0
25+
out = capsys.readouterr().out.strip()
26+
assert out.startswith("jcodemunch-mcp ")

0 commit comments

Comments
 (0)