pathgate 0.2.1__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.1
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,33 +38,57 @@ 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
  }
45
45
  ```
46
46
 
47
- This is just an example script
47
+ Or, you can use the install command to directly write the config file
48
+
49
+ ```bash
50
+ uvx pathgate install <paths>
51
+ ```
52
+
53
+ paths should have nothing between them
54
+
55
+ ```bash
56
+ uvx pathgate install C:\Users\me\Documents C:\Users\me\Projects
57
+ ```
58
+
59
+ When no paths are given, it prompts you for them.
60
+
61
+ ### Options
62
+
63
+ `--read-only:` writes the safer variant of the entry.
64
+ `--dry-run`: shows what it would write and changes nothing.
65
+ `--yes`: skips the confirmation prompt.
66
+ `--name`: sets a different entry name (default pathgate).
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
+
69
+ ### Updating
70
+
71
+ You don't need to manually update it. The command does that for you.
48
72
 
49
73
  ## Usage
50
74
 
51
75
  ### Start with allowed directories
52
76
 
53
77
  ```bash
54
- pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
78
+ uvx pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
55
79
  ```
56
80
 
57
81
  ### Read-only mode
58
82
 
59
83
  ```bash
60
- pathgate --read-only "C:\Users\<username>\Documents"
84
+ uvx pathgate --read-only "C:\Users\<username>\Documents"
61
85
  ```
62
86
 
63
87
  ### Environment variable alternative
64
88
 
65
89
  ```bash
66
90
  $env:FS_MCP_ALLOWED_PATHS = "C:\Users\<username>\Documents;C:\Users\<username>\Projects"
67
- pathgate
91
+ uvx pathgate
68
92
  ```
69
93
 
70
94
  On macOS/Linux, use `:` instead of `;` for the path separator.
@@ -28,33 +28,57 @@ 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
  }
35
35
  ```
36
36
 
37
- This is just an example script
37
+ Or, you can use the install command to directly write the config file
38
+
39
+ ```bash
40
+ uvx pathgate install <paths>
41
+ ```
42
+
43
+ paths should have nothing between them
44
+
45
+ ```bash
46
+ uvx pathgate install C:\Users\me\Documents C:\Users\me\Projects
47
+ ```
48
+
49
+ When no paths are given, it prompts you for them.
50
+
51
+ ### Options
52
+
53
+ `--read-only:` writes the safer variant of the entry.
54
+ `--dry-run`: shows what it would write and changes nothing.
55
+ `--yes`: skips the confirmation prompt.
56
+ `--name`: sets a different entry name (default pathgate).
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
+
59
+ ### Updating
60
+
61
+ You don't need to manually update it. The command does that for you.
38
62
 
39
63
  ## Usage
40
64
 
41
65
  ### Start with allowed directories
42
66
 
43
67
  ```bash
44
- pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
68
+ uvx pathgate "C:\Users\<username>\Documents" "C:\Users\<username>\Projects"
45
69
  ```
46
70
 
47
71
  ### Read-only mode
48
72
 
49
73
  ```bash
50
- pathgate --read-only "C:\Users\<username>\Documents"
74
+ uvx pathgate --read-only "C:\Users\<username>\Documents"
51
75
  ```
52
76
 
53
77
  ### Environment variable alternative
54
78
 
55
79
  ```bash
56
80
  $env:FS_MCP_ALLOWED_PATHS = "C:\Users\<username>\Documents;C:\Users\<username>\Projects"
57
- pathgate
81
+ uvx pathgate
58
82
  ```
59
83
 
60
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.1"
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