mcp-python-exec-sandbox 0.1.2__tar.gz → 0.1.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.
Files changed (42) hide show
  1. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/.github/workflows/ci.yml +4 -0
  2. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/PKG-INFO +33 -2
  3. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/README.md +32 -1
  4. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/pyproject.toml +1 -1
  5. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/uv.lock +1 -1
  6. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/.devcontainer/Dockerfile +0 -0
  7. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/.devcontainer/devcontainer.json +0 -0
  8. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/.gitignore +0 -0
  9. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/CLAUDE.md +0 -0
  10. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/LICENSE +0 -0
  11. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/e2e_tests/__init__.py +0 -0
  12. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/e2e_tests/test_data_science.py +0 -0
  13. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/e2e_tests/test_docker_sandbox.py +0 -0
  14. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/e2e_tests/test_mcp_protocol.py +0 -0
  15. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/e2e_tests/test_package_install.py +0 -0
  16. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/e2e_tests/test_real_execution.py +0 -0
  17. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/e2e_tests/test_sandbox_enforcement.py +0 -0
  18. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/profiles/Dockerfile +0 -0
  19. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/profiles/sandbox_macos.sb +0 -0
  20. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/profiles/warmup_packages.txt +0 -0
  21. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/__init__.py +0 -0
  22. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/__main__.py +0 -0
  23. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/cache.py +0 -0
  24. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/config.py +0 -0
  25. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/errors.py +0 -0
  26. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/executor.py +0 -0
  27. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/output.py +0 -0
  28. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/sandbox.py +0 -0
  29. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/sandbox_docker.py +0 -0
  30. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/sandbox_linux.py +0 -0
  31. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/sandbox_macos.py +0 -0
  32. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/script.py +0 -0
  33. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/src/mcp_python_exec_sandbox/server.py +0 -0
  34. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/__init__.py +0 -0
  35. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/conftest.py +0 -0
  36. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/test_config.py +0 -0
  37. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/test_executor.py +0 -0
  38. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/test_integration.py +0 -0
  39. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/test_output.py +0 -0
  40. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/test_sandbox.py +0 -0
  41. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/test_script.py +0 -0
  42. {mcp_python_exec_sandbox-0.1.2 → mcp_python_exec_sandbox-0.1.3}/tests/test_server.py +0 -0
@@ -12,6 +12,8 @@ jobs:
12
12
  steps:
13
13
  - uses: actions/checkout@v4
14
14
  - uses: astral-sh/setup-uv@v4
15
+ with:
16
+ python-version: "3.13"
15
17
  - run: uv sync --dev
16
18
  - run: uv run ruff check .
17
19
  - run: uv run ruff format --check .
@@ -21,5 +23,7 @@ jobs:
21
23
  steps:
22
24
  - uses: actions/checkout@v4
23
25
  - uses: astral-sh/setup-uv@v4
26
+ with:
27
+ python-version: "3.13"
24
28
  - run: uv sync --dev
25
29
  - run: uv run pytest tests/ -v
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-python-exec-sandbox
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: MCP server for secure Python script execution with automatic dependency management
5
5
  Project-URL: Homepage, https://github.com/lu-zhengda/mcp-python-exec-sandbox
6
6
  Project-URL: Repository, https://github.com/lu-zhengda/mcp-python-exec-sandbox
@@ -85,7 +85,38 @@ claude mcp add python-sandbox -- uvx mcp-python-exec-sandbox --sandbox-backend d
85
85
  claude mcp add python-sandbox -- uvx mcp-python-exec-sandbox --sandbox-backend none
86
86
  ```
87
87
 
88
- ### Manual JSON config
88
+ ### Cursor
89
+
90
+ Add to `.cursor/mcp.json` (project-level) or `~/.cursor/mcp.json` (global):
91
+
92
+ ```json
93
+ {
94
+ "mcpServers": {
95
+ "python-sandbox": {
96
+ "command": "uvx",
97
+ "args": ["mcp-python-exec-sandbox", "--sandbox-backend", "native"]
98
+ }
99
+ }
100
+ }
101
+ ```
102
+
103
+ ### OpenAI Codex CLI
104
+
105
+ ```bash
106
+ codex mcp add python-sandbox -- uvx mcp-python-exec-sandbox --sandbox-backend native
107
+ ```
108
+
109
+ Or add to `.codex/config.toml`:
110
+
111
+ ```toml
112
+ [mcp_servers.python-sandbox]
113
+ command = "uvx"
114
+ args = ["mcp-python-exec-sandbox", "--sandbox-backend", "native"]
115
+ ```
116
+
117
+ ### Other MCP clients
118
+
119
+ Any client that supports the MCP stdio transport can use this server:
89
120
 
90
121
  ```json
91
122
  {
@@ -62,7 +62,38 @@ claude mcp add python-sandbox -- uvx mcp-python-exec-sandbox --sandbox-backend d
62
62
  claude mcp add python-sandbox -- uvx mcp-python-exec-sandbox --sandbox-backend none
63
63
  ```
64
64
 
65
- ### Manual JSON config
65
+ ### Cursor
66
+
67
+ Add to `.cursor/mcp.json` (project-level) or `~/.cursor/mcp.json` (global):
68
+
69
+ ```json
70
+ {
71
+ "mcpServers": {
72
+ "python-sandbox": {
73
+ "command": "uvx",
74
+ "args": ["mcp-python-exec-sandbox", "--sandbox-backend", "native"]
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ ### OpenAI Codex CLI
81
+
82
+ ```bash
83
+ codex mcp add python-sandbox -- uvx mcp-python-exec-sandbox --sandbox-backend native
84
+ ```
85
+
86
+ Or add to `.codex/config.toml`:
87
+
88
+ ```toml
89
+ [mcp_servers.python-sandbox]
90
+ command = "uvx"
91
+ args = ["mcp-python-exec-sandbox", "--sandbox-backend", "native"]
92
+ ```
93
+
94
+ ### Other MCP clients
95
+
96
+ Any client that supports the MCP stdio transport can use this server:
66
97
 
67
98
  ```json
68
99
  {
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcp-python-exec-sandbox"
3
- version = "0.1.2"
3
+ version = "0.1.3"
4
4
  description = "MCP server for secure Python script execution with automatic dependency management"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -639,7 +639,7 @@ wheels = [
639
639
 
640
640
  [[package]]
641
641
  name = "mcp-python-exec-sandbox"
642
- version = "0.1.2"
642
+ version = "0.1.3"
643
643
  source = { editable = "." }
644
644
  dependencies = [
645
645
  { name = "fastmcp" },