coding-tools-mcp 0.1.6__tar.gz → 0.1.7__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.2
2
2
  Name: coding-tools-mcp
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Summary: Workspace-confined coding tools exposed as an MCP server.
5
5
  Author: Coding Tools MCP Contributors
6
6
  License: Coding Tools MCP Source-Available License v1.0
@@ -73,12 +73,17 @@ It is not a prompt wrapper. It does not expose external agent accounts, memory,
73
73
  - [MCP client configuration](docs/mcp-client-config.md)
74
74
  - [Remote MCP](docs/remote-mcp.md)
75
75
  - [Tools and schemas](docs/tools-and-schemas.md)
76
+ - [Permission modes](docs/permission-modes.md)
77
+ - [Exec command recipes](docs/exec-command-recipes.md)
78
+ - [Docker sandbox](docs/docker.md)
76
79
  - [Security policy](SECURITY.md)
80
+ - [Security boundary](docs/security-boundary.md)
77
81
  - [CI and test commands](docs/ci-and-tests.md)
78
82
  - [Dogfood](docs/dogfood.md)
79
83
  - [SWE-bench evaluation](docs/swe-bench.md)
80
84
  - [Known limitations](docs/limitations.md)
81
85
  - [Troubleshooting](docs/troubleshooting.md)
86
+ - [Exec troubleshooting](docs/troubleshooting-exec.md)
82
87
  - [Competitive analysis](docs/competitive-analysis.md)
83
88
  - Normative MCP runtime profile: [docs/profile-v0.1.md](docs/profile-v0.1.md)
84
89
 
@@ -125,15 +130,19 @@ uvx coding-tools-mcp --stdio --workspace /path/to/repo
125
130
  If you are working from this checkout instead of a published package:
126
131
 
127
132
  ```bash
128
- cd /root/coding-tools-mcp
129
- python -m pip install -e ".[dev]"
130
- coding-tools-mcp --workspace /path/to/repo --host 127.0.0.1 --port 8765
133
+ make start
131
134
  ```
132
135
 
133
- Install the optional image extra when you want `view_image` auto-resize support:
136
+ Pass a different workspace, host, port, or extra server flags with Make variables:
134
137
 
135
138
  ```bash
136
- python -m pip install -e ".[image]"
139
+ make start MCP_WORKSPACE=/path/to/repo MCP_PORT=8000 MCP_ARGS="--permission-mode trusted"
140
+ ```
141
+
142
+ If dependencies are missing, install the runtime in editable mode:
143
+
144
+ ```bash
145
+ python -m pip install -e ".[dev]"
137
146
  ```
138
147
 
139
148
  HTTP endpoint:
@@ -142,6 +151,12 @@ HTTP endpoint:
142
151
  http://127.0.0.1:8765/mcp
143
152
  ```
144
153
 
154
+ Install the optional image extra when you want `view_image` auto-resize support:
155
+
156
+ ```bash
157
+ python -m pip install -e ".[image]"
158
+ ```
159
+
145
160
  Stdio:
146
161
 
147
162
  ```bash
@@ -150,13 +165,25 @@ coding-tools-mcp --stdio --workspace /path/to/repo
150
165
 
151
166
  Set `CODING_TOOLS_MCP_TRACE=1` to emit redacted JSON tool-call trace events to stderr for local debugging. Logs stay off stdout so stdio JSON-RPC remains clean.
152
167
 
153
- If your MCP client does not support permission elicitation and you explicitly want permission-gated operations to run, start with:
168
+ By default, `exec_command` passes a core shell environment only. For local toolchains that depend on inherited environment variables, such as MSVC developer prompts, start with:
169
+
170
+ ```bash
171
+ CODING_TOOLS_MCP_SHELL_ENV_INHERIT=all coding-tools-mcp --workspace /path/to/repo
172
+ ```
173
+
174
+ `inherit=all` still filters secret-looking and loader/startup variables unless dangerous mode is also enabled. For local development with dependency downloads, shell expansion, and inline interpreter snippets, use:
175
+
176
+ ```bash
177
+ coding-tools-mcp --permission-mode trusted --workspace /path/to/repo
178
+ ```
179
+
180
+ `--allow-network` remains available as a compatibility flag when you only want to open network-looking commands. If your MCP client does not support permission elicitation and you explicitly want to disable `exec_command` permission gates inside an isolated container or VM, start with:
154
181
 
155
182
  ```bash
156
- coding-tools-mcp --dangerously-skip-all-permissions --workspace /path/to/repo
183
+ coding-tools-mcp --permission-mode dangerous --workspace /path/to/repo
157
184
  ```
158
185
 
159
- This auto-grants permission-gated operations such as network-looking commands, destructive commands, shell expansion, and sensitive env passed through `exec_command`. Workspace path boundaries still apply.
186
+ This disables `exec_command` permission gates such as network-looking commands, destructive command checks, shell expansion, inline scripts, and sensitive env checks. Workspace path boundaries for direct file tools still apply. `--dangerously-skip-all-permissions` remains as a compatibility alias.
160
187
 
161
188
  ## MCP Client Examples
162
189
 
@@ -262,9 +289,9 @@ For input/output schemas and result envelopes, see [docs/tools-and-schemas.md](d
262
289
 
263
290
  The runtime binds one workspace root per server process. Paths are workspace-relative by default. Absolute paths, `..` traversal, and symlink escapes are rejected. Recursive listing/search excludes `.git`, `.reference`, `node_modules`, `target`, `dist`, build outputs, virtualenvs, and common caches by default.
264
291
 
265
- `exec_command` runs under policy controls with workspace-bound cwd, timeout, output caps, sensitive-value and loader/startup environment rejection, destructive command checks, network-looking command checks, shell-expansion permission gates, indirect absolute-path checks, cancellation/kill cleanup, session deadline watchdogs, and bounded session buffers. On Linux hosts with Landlock support it also applies filesystem confinement; on Windows, macOS, or Linux hosts without Landlock, command results include a warning and external sandboxing is required before running untrusted commands. This is still not a complete OS/container sandbox; see [SECURITY.md](SECURITY.md).
292
+ `exec_command` runs under policy controls with workspace-bound cwd, configurable shell environment inheritance, timeout, output caps, sensitive-value and loader/startup environment rejection, destructive command checks, network-looking command checks, shell-expansion permission gates, indirect absolute-path checks, cancellation/kill cleanup, session deadline watchdogs, and bounded session buffers. On Linux hosts with Landlock support it also applies filesystem confinement; on Windows, macOS, or Linux hosts without Landlock, command results include a warning and external sandboxing is required before running untrusted commands. This is still not a complete OS/container sandbox; see [SECURITY.md](SECURITY.md).
266
293
 
267
- `--dangerously-skip-all-permissions` disables the permission gates above for operators who accept that risk. Do not use it for untrusted workspaces or untrusted MCP clients.
294
+ `--permission-mode safe` is the default. `--permission-mode trusted` opens local-development gates while keeping secret filtering and destructive-command checks. `--permission-mode dangerous` disables `exec_command` permission gates for operators who accept that risk inside an isolated runner. Do not use dangerous mode for untrusted workspaces or untrusted MCP clients.
268
295
 
269
296
  ## Compliance
270
297
 
@@ -15,12 +15,17 @@ It is not a prompt wrapper. It does not expose external agent accounts, memory,
15
15
  - [MCP client configuration](docs/mcp-client-config.md)
16
16
  - [Remote MCP](docs/remote-mcp.md)
17
17
  - [Tools and schemas](docs/tools-and-schemas.md)
18
+ - [Permission modes](docs/permission-modes.md)
19
+ - [Exec command recipes](docs/exec-command-recipes.md)
20
+ - [Docker sandbox](docs/docker.md)
18
21
  - [Security policy](SECURITY.md)
22
+ - [Security boundary](docs/security-boundary.md)
19
23
  - [CI and test commands](docs/ci-and-tests.md)
20
24
  - [Dogfood](docs/dogfood.md)
21
25
  - [SWE-bench evaluation](docs/swe-bench.md)
22
26
  - [Known limitations](docs/limitations.md)
23
27
  - [Troubleshooting](docs/troubleshooting.md)
28
+ - [Exec troubleshooting](docs/troubleshooting-exec.md)
24
29
  - [Competitive analysis](docs/competitive-analysis.md)
25
30
  - Normative MCP runtime profile: [docs/profile-v0.1.md](docs/profile-v0.1.md)
26
31
 
@@ -67,15 +72,19 @@ uvx coding-tools-mcp --stdio --workspace /path/to/repo
67
72
  If you are working from this checkout instead of a published package:
68
73
 
69
74
  ```bash
70
- cd /root/coding-tools-mcp
71
- python -m pip install -e ".[dev]"
72
- coding-tools-mcp --workspace /path/to/repo --host 127.0.0.1 --port 8765
75
+ make start
73
76
  ```
74
77
 
75
- Install the optional image extra when you want `view_image` auto-resize support:
78
+ Pass a different workspace, host, port, or extra server flags with Make variables:
76
79
 
77
80
  ```bash
78
- python -m pip install -e ".[image]"
81
+ make start MCP_WORKSPACE=/path/to/repo MCP_PORT=8000 MCP_ARGS="--permission-mode trusted"
82
+ ```
83
+
84
+ If dependencies are missing, install the runtime in editable mode:
85
+
86
+ ```bash
87
+ python -m pip install -e ".[dev]"
79
88
  ```
80
89
 
81
90
  HTTP endpoint:
@@ -84,6 +93,12 @@ HTTP endpoint:
84
93
  http://127.0.0.1:8765/mcp
85
94
  ```
86
95
 
96
+ Install the optional image extra when you want `view_image` auto-resize support:
97
+
98
+ ```bash
99
+ python -m pip install -e ".[image]"
100
+ ```
101
+
87
102
  Stdio:
88
103
 
89
104
  ```bash
@@ -92,13 +107,25 @@ coding-tools-mcp --stdio --workspace /path/to/repo
92
107
 
93
108
  Set `CODING_TOOLS_MCP_TRACE=1` to emit redacted JSON tool-call trace events to stderr for local debugging. Logs stay off stdout so stdio JSON-RPC remains clean.
94
109
 
95
- If your MCP client does not support permission elicitation and you explicitly want permission-gated operations to run, start with:
110
+ By default, `exec_command` passes a core shell environment only. For local toolchains that depend on inherited environment variables, such as MSVC developer prompts, start with:
111
+
112
+ ```bash
113
+ CODING_TOOLS_MCP_SHELL_ENV_INHERIT=all coding-tools-mcp --workspace /path/to/repo
114
+ ```
115
+
116
+ `inherit=all` still filters secret-looking and loader/startup variables unless dangerous mode is also enabled. For local development with dependency downloads, shell expansion, and inline interpreter snippets, use:
117
+
118
+ ```bash
119
+ coding-tools-mcp --permission-mode trusted --workspace /path/to/repo
120
+ ```
121
+
122
+ `--allow-network` remains available as a compatibility flag when you only want to open network-looking commands. If your MCP client does not support permission elicitation and you explicitly want to disable `exec_command` permission gates inside an isolated container or VM, start with:
96
123
 
97
124
  ```bash
98
- coding-tools-mcp --dangerously-skip-all-permissions --workspace /path/to/repo
125
+ coding-tools-mcp --permission-mode dangerous --workspace /path/to/repo
99
126
  ```
100
127
 
101
- This auto-grants permission-gated operations such as network-looking commands, destructive commands, shell expansion, and sensitive env passed through `exec_command`. Workspace path boundaries still apply.
128
+ This disables `exec_command` permission gates such as network-looking commands, destructive command checks, shell expansion, inline scripts, and sensitive env checks. Workspace path boundaries for direct file tools still apply. `--dangerously-skip-all-permissions` remains as a compatibility alias.
102
129
 
103
130
  ## MCP Client Examples
104
131
 
@@ -204,9 +231,9 @@ For input/output schemas and result envelopes, see [docs/tools-and-schemas.md](d
204
231
 
205
232
  The runtime binds one workspace root per server process. Paths are workspace-relative by default. Absolute paths, `..` traversal, and symlink escapes are rejected. Recursive listing/search excludes `.git`, `.reference`, `node_modules`, `target`, `dist`, build outputs, virtualenvs, and common caches by default.
206
233
 
207
- `exec_command` runs under policy controls with workspace-bound cwd, timeout, output caps, sensitive-value and loader/startup environment rejection, destructive command checks, network-looking command checks, shell-expansion permission gates, indirect absolute-path checks, cancellation/kill cleanup, session deadline watchdogs, and bounded session buffers. On Linux hosts with Landlock support it also applies filesystem confinement; on Windows, macOS, or Linux hosts without Landlock, command results include a warning and external sandboxing is required before running untrusted commands. This is still not a complete OS/container sandbox; see [SECURITY.md](SECURITY.md).
234
+ `exec_command` runs under policy controls with workspace-bound cwd, configurable shell environment inheritance, timeout, output caps, sensitive-value and loader/startup environment rejection, destructive command checks, network-looking command checks, shell-expansion permission gates, indirect absolute-path checks, cancellation/kill cleanup, session deadline watchdogs, and bounded session buffers. On Linux hosts with Landlock support it also applies filesystem confinement; on Windows, macOS, or Linux hosts without Landlock, command results include a warning and external sandboxing is required before running untrusted commands. This is still not a complete OS/container sandbox; see [SECURITY.md](SECURITY.md).
208
235
 
209
- `--dangerously-skip-all-permissions` disables the permission gates above for operators who accept that risk. Do not use it for untrusted workspaces or untrusted MCP clients.
236
+ `--permission-mode safe` is the default. `--permission-mode trusted` opens local-development gates while keeping secret filtering and destructive-command checks. `--permission-mode dangerous` disables `exec_command` permission gates for operators who accept that risk inside an isolated runner. Do not use dangerous mode for untrusted workspaces or untrusted MCP clients.
210
237
 
211
238
  ## Compliance
212
239
 
@@ -1,3 +1,3 @@
1
1
  """Coding Tools MCP server package."""
2
2
 
3
- __version__ = "0.1.6"
3
+ __version__ = "0.1.7"