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.
- {pathgate-0.2.1 → pathgate-0.2.3}/PKG-INFO +30 -6
- {pathgate-0.2.1 → pathgate-0.2.3}/README.md +29 -5
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/install.py +8 -4
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/server.py +1 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pyproject.toml +1 -1
- {pathgate-0.2.1 → pathgate-0.2.3}/.gitignore +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/LICENSE +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/__init__.py +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/__main__.py +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/config.py +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/prompts.py +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/resources.py +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/tool_schemas.py +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/pathgate/tools.py +0 -0
- {pathgate-0.2.1 → pathgate-0.2.3}/tests/test_server.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pathgate
|
|
3
|
-
Version: 0.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,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
|
-
|
|
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
|
-
|
|
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]
|
|
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
|
|
File without changes
|