pathgate 0.2.2__tar.gz → 0.2.3__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,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pathgate
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: Filesystem MCP server with allow-listed directories
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -38,7 +38,7 @@ Pathgate package is published on PyPI. To use it, for example with Claude Deskto
38
38
  "mcpServers": {
39
39
  "pathgate": {
40
40
  "command": "uvx",
41
- "args": ["pathgate", "C:\\Users\\me\\Documents"]
41
+ "args": ["pathgate@latest", "C:\\Users\\me\\Documents"]
42
42
  }
43
43
  }
44
44
  }
@@ -66,25 +66,29 @@ When no paths are given, it prompts you for them.
66
66
  `--name`: sets a different entry name (default pathgate).
67
67
  `--config PATH`: I build this mcp server for Claude primarily. Using this option edits a specific file, which also works for other clients that use the same mcpServers shape.
68
68
 
69
+ ### Updating
70
+
71
+ You don't need to manually update it. The command does that for you.
72
+
69
73
  ## Usage
70
74
 
71
75
  ### Start with allowed directories
72
76
 
73
77
  ```bash
74
- pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
78
+ uvx pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
75
79
  ```
76
80
 
77
81
  ### Read-only mode
78
82
 
79
83
  ```bash
80
- pathgate --read-only "C:\Users\<username>\Documents"
84
+ uvx pathgate --read-only "C:\Users\<username>\Documents"
81
85
  ```
82
86
 
83
87
  ### Environment variable alternative
84
88
 
85
89
  ```bash
86
90
  $env:FS_MCP_ALLOWED_PATHS = "C:\Users\<username>\Documents;C:\Users\<username>\Projects"
87
- pathgate
91
+ uvx pathgate
88
92
  ```
89
93
 
90
94
  On macOS/Linux, use `:` instead of `;` for the path separator.
@@ -28,7 +28,7 @@ Pathgate package is published on PyPI. To use it, for example with Claude Deskto
28
28
  "mcpServers": {
29
29
  "pathgate": {
30
30
  "command": "uvx",
31
- "args": ["pathgate", "C:\\Users\\me\\Documents"]
31
+ "args": ["pathgate@latest", "C:\\Users\\me\\Documents"]
32
32
  }
33
33
  }
34
34
  }
@@ -56,25 +56,29 @@ When no paths are given, it prompts you for them.
56
56
  `--name`: sets a different entry name (default pathgate).
57
57
  `--config PATH`: I build this mcp server for Claude primarily. Using this option edits a specific file, which also works for other clients that use the same mcpServers shape.
58
58
 
59
+ ### Updating
60
+
61
+ You don't need to manually update it. The command does that for you.
62
+
59
63
  ## Usage
60
64
 
61
65
  ### Start with allowed directories
62
66
 
63
67
  ```bash
64
- pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
68
+ uvx pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
65
69
  ```
66
70
 
67
71
  ### Read-only mode
68
72
 
69
73
  ```bash
70
- pathgate --read-only "C:\Users\<username>\Documents"
74
+ uvx pathgate --read-only "C:\Users\<username>\Documents"
71
75
  ```
72
76
 
73
77
  ### Environment variable alternative
74
78
 
75
79
  ```bash
76
80
  $env:FS_MCP_ALLOWED_PATHS = "C:\Users\<username>\Documents;C:\Users\<username>\Projects"
77
- pathgate
81
+ uvx pathgate
78
82
  ```
79
83
 
80
84
  On macOS/Linux, use `:` instead of `;` for the path separator.
@@ -80,15 +80,19 @@ def resolve_config_path(explicit: str | None) -> Path:
80
80
  # --------------------------------------------------------------------------
81
81
 
82
82
  def build_server_entry(paths: list[str], read_only: bool) -> dict:
83
- """The `mcpServers` entry that launches Pathgate."""
83
+ """The `mcpServers` entry that launches Pathgate.
84
+
85
+ `pathgate@latest` makes uv check PyPI on every launch, so users always
86
+ run the newest release without doing anything.
87
+ """
84
88
  uvx = shutil.which("uvx")
85
89
  uv = shutil.which("uv")
86
90
  if uvx:
87
- command, args = uvx, ["pathgate"]
91
+ command, args = uvx, ["pathgate@latest"]
88
92
  elif uv:
89
- command, args = uv, ["tool", "run", "pathgate"]
93
+ command, args = uv, ["tool", "run", "pathgate@latest"]
90
94
  else:
91
- command, args = sys.executable, ["-m", "pathgate"]
95
+ command, args = sys.executable, ["-m", "pathgate"] # no uv: can't auto-update
92
96
  args = args + paths
93
97
  if read_only:
94
98
  args.append("--read-only")
@@ -38,6 +38,7 @@ def parse_args(argv=None):
38
38
  )
39
39
  p.add_argument("paths", nargs="*", help="Directories the server may access")
40
40
  p.add_argument("--read-only", action="store_true", help="Disable write/delete/move/copy tools")
41
+ p.add_argument("--version", action="version", version=f"pathgate {_version()}")
41
42
  args = p.parse_args(argv)
42
43
 
43
44
  env_paths = [x for x in os.environ.get("FS_MCP_ALLOWED_PATHS", "").split(os.pathsep) if x]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "pathgate"
7
- version = "0.2.2"
7
+ version = "0.2.3"
8
8
  description = "Filesystem MCP server with allow-listed directories"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes