superbox 1.0.0__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. superbox-1.0.0/LICENSE +21 -0
  2. superbox-1.0.0/PKG-INFO +170 -0
  3. superbox-1.0.0/README.md +129 -0
  4. superbox-1.0.0/pyproject.toml +77 -0
  5. superbox-1.0.0/setup.cfg +4 -0
  6. superbox-1.0.0/src/superbox/__init__.py +4 -0
  7. superbox-1.0.0/src/superbox/aws/__init__.py +1 -0
  8. superbox-1.0.0/src/superbox/aws/__main__.py +4 -0
  9. superbox-1.0.0/src/superbox/aws/lambda.py +303 -0
  10. superbox-1.0.0/src/superbox/aws/proxy.py +62 -0
  11. superbox-1.0.0/src/superbox/cli/__init__.py +1 -0
  12. superbox-1.0.0/src/superbox/cli/commands/__init__.py +11 -0
  13. superbox-1.0.0/src/superbox/cli/commands/auth.py +391 -0
  14. superbox-1.0.0/src/superbox/cli/commands/init.py +73 -0
  15. superbox-1.0.0/src/superbox/cli/commands/inspect.py +52 -0
  16. superbox-1.0.0/src/superbox/cli/commands/logs.py +179 -0
  17. superbox-1.0.0/src/superbox/cli/commands/pull.py +103 -0
  18. superbox-1.0.0/src/superbox/cli/commands/push.py +219 -0
  19. superbox-1.0.0/src/superbox/cli/commands/run.py +15 -0
  20. superbox-1.0.0/src/superbox/cli/commands/search.py +55 -0
  21. superbox-1.0.0/src/superbox/cli/commands/test.py +131 -0
  22. superbox-1.0.0/src/superbox/cli/main.py +57 -0
  23. superbox-1.0.0/src/superbox/cli/scanners/__init__.py +0 -0
  24. superbox-1.0.0/src/superbox/cli/scanners/bandit.py +110 -0
  25. superbox-1.0.0/src/superbox/cli/scanners/discovery.py +118 -0
  26. superbox-1.0.0/src/superbox/cli/scanners/ggshield.py +64 -0
  27. superbox-1.0.0/src/superbox/cli/scanners/snyk.py +149 -0
  28. superbox-1.0.0/src/superbox/cli/scanners/sonarqube.py +263 -0
  29. superbox-1.0.0/src/superbox/cli/utils.py +197 -0
  30. superbox-1.0.0/src/superbox/server/__init__.py +8 -0
  31. superbox-1.0.0/src/superbox/server/helpers/s3_helper.py +37 -0
  32. superbox-1.0.0/src/superbox/server/helpers/security_helper.py +83 -0
  33. superbox-1.0.0/src/superbox/shared/__init__.py +1 -0
  34. superbox-1.0.0/src/superbox/shared/config.py +116 -0
  35. superbox-1.0.0/src/superbox/shared/models.py +168 -0
  36. superbox-1.0.0/src/superbox/shared/s3.py +123 -0
  37. superbox-1.0.0/src/superbox.egg-info/PKG-INFO +170 -0
  38. superbox-1.0.0/src/superbox.egg-info/SOURCES.txt +40 -0
  39. superbox-1.0.0/src/superbox.egg-info/dependency_links.txt +1 -0
  40. superbox-1.0.0/src/superbox.egg-info/entry_points.txt +2 -0
  41. superbox-1.0.0/src/superbox.egg-info/requires.txt +22 -0
  42. superbox-1.0.0/src/superbox.egg-info/top_level.txt +1 -0
superbox-1.0.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Areeb Ahmed
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,170 @@
1
+ Metadata-Version: 2.4
2
+ Name: superbox
3
+ Version: 1.0.0
4
+ Summary: Discover, deploy, and test MCPs in isolated sandboxes
5
+ Author: SuperBox Team
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/areebahmeddd/superbox.ai
8
+ Project-URL: Documentation, https://github.com/areebahmeddd/superbox.ai#readme
9
+ Project-URL: Repository, https://github.com/areebahmeddd/superbox.ai
10
+ Project-URL: Issues, https://github.com/areebahmeddd/superbox.ai/issues
11
+ Keywords: mcp,fastapi,gin,docker,cli,security,registry
12
+ Classifier: Development Status :: 5 - Production/Stable
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: python-dotenv
22
+ Requires-Dist: boto3
23
+ Requires-Dist: pydantic[email]
24
+ Requires-Dist: websockets
25
+ Provides-Extra: cli
26
+ Requires-Dist: click; extra == "cli"
27
+ Requires-Dist: requests; extra == "cli"
28
+ Requires-Dist: bandit; extra == "cli"
29
+ Requires-Dist: ggshield; extra == "cli"
30
+ Provides-Extra: dev
31
+ Requires-Dist: pytest; extra == "dev"
32
+ Requires-Dist: pytest-cov; extra == "dev"
33
+ Requires-Dist: pytest-asyncio; extra == "dev"
34
+ Requires-Dist: moto[s3]; extra == "dev"
35
+ Requires-Dist: freezegun; extra == "dev"
36
+ Requires-Dist: ruff; extra == "dev"
37
+ Requires-Dist: pre-commit; extra == "dev"
38
+ Provides-Extra: all
39
+ Requires-Dist: superbox[cli,dev]; extra == "all"
40
+ Dynamic: license-file
41
+
42
+ <div align="center">
43
+
44
+ ```text
45
+ _ _
46
+ | | (_)
47
+ ___ _ _ _ __ ___ _ __| |__ _____ __ __ _ _
48
+ / __| | | | '_ \ / _ \ '__| '_ \ / _ \ \/ / / _` | |
49
+ \__ \ |_| | |_) | __/ | | |_) | (_) > < | (_| | |
50
+ |___/\__,_| .__/ \___|_| |_.__/ \___/_/\_(_)__,_|_|
51
+ | |
52
+ |_|
53
+ ```
54
+
55
+ </div>
56
+
57
+ # 🧰 SuperBox
58
+
59
+ **SuperBox** (inspired by [Docker Hub](https://hub.docker.com)) helps you discover, deploy, and test MCPs in isolated sandboxes. It includes:
60
+
61
+ - A Python (Click) CLI to initialize metadata, run security scans, push to a registry (S3), search, and configure popular AI clients (VS Code, Cursor, Windsurf, Claude, ChatGPT)
62
+ - A Golang (Gin) backend to list/get/create MCP servers with optional pricing and security reports
63
+ - An AWS Lambda worker that executes MCP servers on demand directly from their Git repositories
64
+
65
+ Why this project:
66
+
67
+ - There's no centralized MCP registry to discover all MCPs, and many lack clear usage docs.
68
+ - MCPs on our platform pass a 5‑step security/quality check (SonarQube, Bandit, GitGuardian) to reduce vulnerabilities and promote best practices.
69
+ - Unlike MCPs that run locally on your machine, MCP servers here execute in sandboxed environments and return responses securely.
70
+
71
+ ## Key Features
72
+
73
+ - **Central MCP Registry**: S3‑backed registry with per‑server JSON for easy discovery and portability.
74
+ - **Sandboxed Execution**: MCP servers run in isolated environments and return responses securely.
75
+ - **Security Pipeline (5‑step)**: SonarQube, Bandit, and GitGuardian checks with a unified report.
76
+ - **One‑Command Publish**: `superbox push` scans, discovers tools, and uploads a unified record to S3.
77
+ - **Client Auto‑Config**: `superbox pull --client cursor|vscode|...` writes correct MCP config pointing to the Lambda endpoint.
78
+ - **Terminal Runner**: `superbox run --name <server>` starts an interactive prompt against the Lambda executor.
79
+ - **CloudWatch Logs**: `superbox logs --name <server>` fetches execution logs from AWS with real-time follow support.
80
+ - **Tool Discovery**: Regex‑based discovery across Python code and optional Node `package.json` definitions.
81
+
82
+ > **Note:** The Lambda executor currently supports Python MCP servers.
83
+
84
+ ## 📚 Documentation
85
+
86
+ **For complete documentation, setup guides, API references, and CLI usage:**
87
+
88
+ 🔗 **[https://superbox.1mindlabs.org/docs](https://acm-aa28ebf6.mintlify.app)**
89
+
90
+ ## 🗂️ Project Structure
91
+
92
+ ```text
93
+ .
94
+ ├── docs/ # Documentation (INSTALL.md)
95
+ ├── src/
96
+ │ └── superbox/
97
+ │ ├── cli/ # CLI: init, auth, push, pull, run, search, inspect, test, logs
98
+ │ │ ├── commands/ # CLI subcommands
99
+ │ │ └── scanners/ # SonarCloud, Bandit, ggshield, tool-discovery
100
+ │ ├── server/ # Golang (Gin) app + handlers
101
+ │ │ ├── handlers/ # servers, payment, auth, health
102
+ │ │ ├── models/ # Request/response types
103
+ │ │ ├── helpers/ # Python S3 helper
104
+ │ │ └── templates/ # Landing page
105
+ │ ├── shared/ # Config, models, S3 utils
106
+ │ └── aws/ # AWS Lambda & WebSocket proxy
107
+ │ ├── lambda.py # Lambda handler (WebSocket executor)
108
+ │ └── proxy.py # Local stdio-WebSocket bridge
109
+ ├── pyproject.toml # Project metadata & dependencies
110
+ ├── Dockerfile # Server container
111
+ ├── docker-compose.yaml # Optional local stack
112
+ └── tests/ # PyTests
113
+ ```
114
+
115
+ ## 🌐 API Reference
116
+
117
+ The HTTP API provides endpoints for server management, authentication, and payments.
118
+
119
+ For complete API documentation, see [https://superbox.1mindlabs.org/docs/api](https://acm-aa28ebf6.mintlify.app/api)
120
+
121
+ ## 🔧 CLI Overview
122
+
123
+ The SuperBox CLI provides commands for authentication, server management, and testing:
124
+
125
+ **Authentication:**
126
+
127
+ - `superbox auth register` – Register a new account
128
+ - `superbox auth login` – Log in (email/Google/GitHub)
129
+ - `superbox auth logout` – Log out
130
+ - `superbox auth status` – Check authentication status
131
+ - `superbox auth refresh` – Refresh authentication token
132
+
133
+ **Server Management:**
134
+
135
+ - `superbox init` – Initialize a new MCP server project
136
+ - `superbox push` – Publish server to registry
137
+ - `superbox pull` – Download and configure server for AI clients
138
+ - `superbox search` – Search for servers in registry
139
+ - `superbox inspect` – View server details and security report
140
+ - `superbox test` – Test server directly from repository (without registry)
141
+
142
+ **Execution & Monitoring:**
143
+
144
+ - `superbox run` – Run server in interactive mode
145
+ - `superbox logs` – View server execution logs
146
+
147
+ For detailed CLI documentation and usage examples, see [https://superbox.1mindlabs.org/docs/cli](https://acm-aa28ebf6.mintlify.app/cli)
148
+
149
+ ## 📦 Installation
150
+
151
+ See [docs/INSTALL.md](docs/INSTALL.md) for complete installation instructions.
152
+
153
+ ## 📄 License
154
+
155
+ This project is licensed under the [MIT License](LICENSE).
156
+
157
+ ## 👥 Authors
158
+
159
+ **Core Contributors:**
160
+
161
+ - [Areeb Ahmed](https://github.com/areebahmeddd)
162
+ - [Amartya Anand](https://github.com/amarr07)
163
+ - [Arush Verma](https://github.com/arush3218)
164
+ - [Devansh Aryan](https://github.com/devansharyan123)
165
+
166
+ **Acknowledgments:**
167
+
168
+ - [Shivansh Karan](https://github.com/spacetesla)
169
+ - [Rishi Chirchi](https://github.com/rishichirchi)
170
+ - [Avantika Kesarwani](https://github.com/avii09)
@@ -0,0 +1,129 @@
1
+ <div align="center">
2
+
3
+ ```text
4
+ _ _
5
+ | | (_)
6
+ ___ _ _ _ __ ___ _ __| |__ _____ __ __ _ _
7
+ / __| | | | '_ \ / _ \ '__| '_ \ / _ \ \/ / / _` | |
8
+ \__ \ |_| | |_) | __/ | | |_) | (_) > < | (_| | |
9
+ |___/\__,_| .__/ \___|_| |_.__/ \___/_/\_(_)__,_|_|
10
+ | |
11
+ |_|
12
+ ```
13
+
14
+ </div>
15
+
16
+ # 🧰 SuperBox
17
+
18
+ **SuperBox** (inspired by [Docker Hub](https://hub.docker.com)) helps you discover, deploy, and test MCPs in isolated sandboxes. It includes:
19
+
20
+ - A Python (Click) CLI to initialize metadata, run security scans, push to a registry (S3), search, and configure popular AI clients (VS Code, Cursor, Windsurf, Claude, ChatGPT)
21
+ - A Golang (Gin) backend to list/get/create MCP servers with optional pricing and security reports
22
+ - An AWS Lambda worker that executes MCP servers on demand directly from their Git repositories
23
+
24
+ Why this project:
25
+
26
+ - There's no centralized MCP registry to discover all MCPs, and many lack clear usage docs.
27
+ - MCPs on our platform pass a 5‑step security/quality check (SonarQube, Bandit, GitGuardian) to reduce vulnerabilities and promote best practices.
28
+ - Unlike MCPs that run locally on your machine, MCP servers here execute in sandboxed environments and return responses securely.
29
+
30
+ ## Key Features
31
+
32
+ - **Central MCP Registry**: S3‑backed registry with per‑server JSON for easy discovery and portability.
33
+ - **Sandboxed Execution**: MCP servers run in isolated environments and return responses securely.
34
+ - **Security Pipeline (5‑step)**: SonarQube, Bandit, and GitGuardian checks with a unified report.
35
+ - **One‑Command Publish**: `superbox push` scans, discovers tools, and uploads a unified record to S3.
36
+ - **Client Auto‑Config**: `superbox pull --client cursor|vscode|...` writes correct MCP config pointing to the Lambda endpoint.
37
+ - **Terminal Runner**: `superbox run --name <server>` starts an interactive prompt against the Lambda executor.
38
+ - **CloudWatch Logs**: `superbox logs --name <server>` fetches execution logs from AWS with real-time follow support.
39
+ - **Tool Discovery**: Regex‑based discovery across Python code and optional Node `package.json` definitions.
40
+
41
+ > **Note:** The Lambda executor currently supports Python MCP servers.
42
+
43
+ ## 📚 Documentation
44
+
45
+ **For complete documentation, setup guides, API references, and CLI usage:**
46
+
47
+ 🔗 **[https://superbox.1mindlabs.org/docs](https://acm-aa28ebf6.mintlify.app)**
48
+
49
+ ## 🗂️ Project Structure
50
+
51
+ ```text
52
+ .
53
+ ├── docs/ # Documentation (INSTALL.md)
54
+ ├── src/
55
+ │ └── superbox/
56
+ │ ├── cli/ # CLI: init, auth, push, pull, run, search, inspect, test, logs
57
+ │ │ ├── commands/ # CLI subcommands
58
+ │ │ └── scanners/ # SonarCloud, Bandit, ggshield, tool-discovery
59
+ │ ├── server/ # Golang (Gin) app + handlers
60
+ │ │ ├── handlers/ # servers, payment, auth, health
61
+ │ │ ├── models/ # Request/response types
62
+ │ │ ├── helpers/ # Python S3 helper
63
+ │ │ └── templates/ # Landing page
64
+ │ ├── shared/ # Config, models, S3 utils
65
+ │ └── aws/ # AWS Lambda & WebSocket proxy
66
+ │ ├── lambda.py # Lambda handler (WebSocket executor)
67
+ │ └── proxy.py # Local stdio-WebSocket bridge
68
+ ├── pyproject.toml # Project metadata & dependencies
69
+ ├── Dockerfile # Server container
70
+ ├── docker-compose.yaml # Optional local stack
71
+ └── tests/ # PyTests
72
+ ```
73
+
74
+ ## 🌐 API Reference
75
+
76
+ The HTTP API provides endpoints for server management, authentication, and payments.
77
+
78
+ For complete API documentation, see [https://superbox.1mindlabs.org/docs/api](https://acm-aa28ebf6.mintlify.app/api)
79
+
80
+ ## 🔧 CLI Overview
81
+
82
+ The SuperBox CLI provides commands for authentication, server management, and testing:
83
+
84
+ **Authentication:**
85
+
86
+ - `superbox auth register` – Register a new account
87
+ - `superbox auth login` – Log in (email/Google/GitHub)
88
+ - `superbox auth logout` – Log out
89
+ - `superbox auth status` – Check authentication status
90
+ - `superbox auth refresh` – Refresh authentication token
91
+
92
+ **Server Management:**
93
+
94
+ - `superbox init` – Initialize a new MCP server project
95
+ - `superbox push` – Publish server to registry
96
+ - `superbox pull` – Download and configure server for AI clients
97
+ - `superbox search` – Search for servers in registry
98
+ - `superbox inspect` – View server details and security report
99
+ - `superbox test` – Test server directly from repository (without registry)
100
+
101
+ **Execution & Monitoring:**
102
+
103
+ - `superbox run` – Run server in interactive mode
104
+ - `superbox logs` – View server execution logs
105
+
106
+ For detailed CLI documentation and usage examples, see [https://superbox.1mindlabs.org/docs/cli](https://acm-aa28ebf6.mintlify.app/cli)
107
+
108
+ ## 📦 Installation
109
+
110
+ See [docs/INSTALL.md](docs/INSTALL.md) for complete installation instructions.
111
+
112
+ ## 📄 License
113
+
114
+ This project is licensed under the [MIT License](LICENSE).
115
+
116
+ ## 👥 Authors
117
+
118
+ **Core Contributors:**
119
+
120
+ - [Areeb Ahmed](https://github.com/areebahmeddd)
121
+ - [Amartya Anand](https://github.com/amarr07)
122
+ - [Arush Verma](https://github.com/arush3218)
123
+ - [Devansh Aryan](https://github.com/devansharyan123)
124
+
125
+ **Acknowledgments:**
126
+
127
+ - [Shivansh Karan](https://github.com/spacetesla)
128
+ - [Rishi Chirchi](https://github.com/rishichirchi)
129
+ - [Avantika Kesarwani](https://github.com/avii09)
@@ -0,0 +1,77 @@
1
+ [build-system]
2
+ requires = ["setuptools", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "superbox"
7
+ version = "1.0.0"
8
+ description = "Discover, deploy, and test MCPs in isolated sandboxes"
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ license = {text = "MIT"}
12
+ authors = [
13
+ {name = "SuperBox Team"}
14
+ ]
15
+ keywords = ["mcp", "fastapi", "gin", "docker", "cli", "security", "registry"]
16
+ classifiers = [
17
+ "Development Status :: 5 - Production/Stable",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ ]
24
+
25
+ dependencies = [
26
+ "python-dotenv",
27
+ "boto3",
28
+ "pydantic[email]",
29
+ "websockets",
30
+ ]
31
+
32
+ [project.optional-dependencies]
33
+ cli = [
34
+ "click",
35
+ "requests",
36
+ "bandit",
37
+ "ggshield",
38
+ ]
39
+ dev = [
40
+ "pytest",
41
+ "pytest-cov",
42
+ "pytest-asyncio",
43
+ "moto[s3]",
44
+ "freezegun",
45
+ "ruff",
46
+ "pre-commit",
47
+ ]
48
+ all = [
49
+ "superbox[cli,dev]"
50
+ ]
51
+
52
+ [project.scripts]
53
+ superbox = "superbox.cli.main:main"
54
+
55
+ [project.urls]
56
+ Homepage = "https://github.com/areebahmeddd/superbox.ai"
57
+ Documentation = "https://github.com/areebahmeddd/superbox.ai#readme"
58
+ Repository = "https://github.com/areebahmeddd/superbox.ai"
59
+ Issues = "https://github.com/areebahmeddd/superbox.ai/issues"
60
+
61
+ [tool.setuptools]
62
+ package-dir = {"" = "src"}
63
+
64
+ [tool.setuptools.packages.find]
65
+ where = ["src"]
66
+ include = ["superbox*"]
67
+
68
+ [tool.ruff]
69
+ line-length = 100
70
+ target-version = "py311"
71
+
72
+ [tool.pytest.ini_options]
73
+ testpaths = ["tests"]
74
+ python_files = ["test_*.py"]
75
+ python_classes = ["Test*"]
76
+ python_functions = ["test_*"]
77
+ asyncio_mode = "auto"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,4 @@
1
+ """SuperBox - MCP server registry and CLI."""
2
+
3
+ __version__ = "1.0.0"
4
+ __author__ = "SuperBox Team"
@@ -0,0 +1 @@
1
+ """AWS integration components for SuperBox."""
@@ -0,0 +1,4 @@
1
+ from superbox.aws.proxy import main
2
+
3
+ if __name__ == "__main__":
4
+ main()