Superbox (inspired by Docker Hub) helps you discover, deploy, and test MCPs in isolated sandboxes. It includes:
- 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)
- A Golang (Gin) backend to list/get/create MCP servers with optional pricing and security reports
- An AWS Lambda worker that executes MCP servers on demand directly from their Git repositories
Why this project:
- Thereβs no centralized MCP registry to discover all MCPs, and many lack clear usage docs.
- MCPs on our platform pass a 5βstep security/quality check (SonarQube, Bandit, GitGuardian) to reduce vulnerabilities and promote best practices.
- Unlike MCPs that run locally on your machine, MCP servers here execute in sandboxed environments and return responses securely.
For setup and deployment, see docs/INSTALL.md.
- Central MCP Registry: S3βbacked registry with perβserver JSON for easy discovery and portability.
- Sandboxed Execution: MCP servers run in isolated environments and return responses securely.
- Security Pipeline (5βstep): SonarQube, Bandit, and GitGuardian checks with a unified report.
- OneβCommand Publish:
superbox pushscans, discovers tools, and uploads a unified record to S3. - Client AutoβConfig:
superbox pull --client cursor|vscode|...writes correct MCP config pointing to the Lambda endpoint. - Terminal Runner:
superbox run --name <server>starts an interactive prompt against the Lambda executor. - Tool Discovery: Regexβbased discovery across Python code and optional Node
package.jsondefinitions.
NOTE: The Lambda executor currently supports Python + Npm MCP servers.
.
βββ docs/ # Documentation (see INSTALL.md)
βββ src/
β βββ superbox/
β βββ cli/ # CLI: init, auth, push, pull, run, search, inspect, test
β β βββ commands/ # CLI subcommands
β β βββ scanners/ # SonarCloud, Bandit, ggshield, tool-discovery
β βββ server/ # Golang (Gin) app + handlers
β β βββ handlers/ # servers, payment, auth, health
β β βββ models/ # Request/response types
β β βββ helpers/ # Python S3 helper
β β βββ templates/ # Landing page
β βββ shared/ # Config, models, S3 utils
βββ lambda.py # AWS Lambda handler (executor)
βββ pyproject.toml # Project metadata & extras
βββ Dockerfile # Server container
βββ docker-compose.yaml # Optional local stack
βββ tests/ # PyTests
Base path: /api/v1
-
Servers
GET /servers/{name}β get a server by nameGET /serversβ list all serversPOST /serversβ create a server (see schemas insuperbox.shared.models)PUT /servers/{name}β update an existing server (partial updates supported)DELETE /servers/{name}β remove a server from the registry
-
Authentication
POST /auth/registerβ register a new user accountPOST /auth/loginβ login with email/passwordPOST /auth/login/providerβ login with OAuth provider (Google/GitHub)POST /auth/refreshβ refresh authentication tokenGET /auth/meβ get current user profilePATCH /auth/meβ update user profileDELETE /auth/meβ delete user accountPOST /auth/device/startβ start OAuth device code flowPOST /auth/device/pollβ poll for device authorization statusGET /auth/deviceβ device code verification pagePOST /auth/deviceβ submit device code for verificationGET /auth/device/callback/googleβ Google OAuth callbackGET /auth/device/callback/githubβ GitHub OAuth callback
-
Payment
POST /payment/create-orderβ create a Razorpay order for server purchasePOST /payment/verify-paymentβ verify Razorpay payment signatureGET /payment/payment-status/{payment_id}β get payment status from Razorpay
-
Other
GET /healthβ config + S3 readinessGET /docsβ OpenAPI docs
The SuperBox CLI provides commands to initialize, publish, discover, and configure MCP servers.
Initialize a new superbox.json configuration file for your MCP server.
Usage:
superbox initWhat it does:
- Creates
superbox.jsonin the current directory - Prompts for server metadata (name, version, description, author, language, license, entrypoint)
- Optionally adds pricing information
- Extracts repository information from GitHub URLs
Example:
$ superbox init
Initialize SuperBox Configuration
==================================================
Repository URL (GitHub): https://github.com/user/my-mcp
Server name: my-mcp
Version: 1.0.0
Description: My awesome MCP server
...Authenticate with the SuperBox registry using Firebase authentication. Supports email/password, Google OAuth, and GitHub OAuth.
Create a new SuperBox account.
Usage:
superbox auth registerWhat it does:
- Prompts for email and password
- Creates a new Firebase account
- Automatically logs you in after registration
- Stores authentication tokens in
~/.superbox/auth.json
Example:
$ superbox auth register
Email: user@example.com
Password: ********
β Successfully registered and logged inLog in to your SuperBox account.
Usage:
superbox auth login [--provider PROVIDER] [--email EMAIL] [--password PASSWORD]Options:
--provider PROVIDERβ Authentication provider:email,google, orgithub(default:email)--email EMAILβ Email address (for email provider only)--password PASSWORDβ Password (for email provider only)
What it does:
- Email/Password: Prompts for credentials and authenticates via Firebase
- Google/GitHub: Opens browser for OAuth device code flow
- Displays a device code
- Opens verification page in browser
- Waits for you to complete OAuth authorization
- Automatically detects completion and stores tokens
Example (Email):
$ superbox auth login --provider email
Email: user@example.com
Password: ********
β Successfully logged inExample (Google OAuth):
$ superbox auth login --provider google
Opening browser for Google authentication...
Visit this URL: http://localhost:8000/api/v1/auth/device?code=XXXX-XXXX
Or enter code: XXXX-XXXX
Waiting for authentication...
β Successfully authenticated with GoogleExample (GitHub OAuth):
$ superbox auth login --provider github
Opening browser for GitHub authentication...
Visit this URL: http://localhost:8000/api/v1/auth/device?code=XXXX-XXXX
Or enter code: XXXX-XXXX
Waiting for authentication...
β Successfully authenticated with GitHubCheck your current authentication status.
Usage:
superbox auth statusWhat it does:
- Displays your logged-in email
- Shows authentication provider (email/google/github)
- Verifies token validity
Example:
$ superbox auth status
Logged in as: user@example.com
Provider: googleManually refresh your authentication token.
Usage:
superbox auth refreshWhat it does:
- Uses stored refresh token to get a new ID token
- Updates authentication file with new tokens
Example:
$ superbox auth refresh
β Token refreshed successfullyLog out from your current session.
Usage:
superbox auth logoutWhat it does:
- Removes authentication tokens from
~/.superbox/auth.json - Clears current session
Example:
$ superbox auth logout
β Logged out successfullyNote: Authentication is required for
superbox pushand other operations that modify the registry.
Publish an MCP server to the registry with comprehensive security scanning.
Usage:
superbox push [--name NAME] [--force]Options:
--name NAMEβ MCP server name (reads fromsuperbox.jsonif not provided)--forceβ Force overwrite if server already exists
What it does:
- Runs SonarQube analysis (creates project, scans code quality)
- Discovers MCP tools via regex patterns in Python/Node.js code
- Runs GitGuardian secret scan
- Runs Bandit Python security scan
- Generates unified security report
- Uploads server metadata to S3 registry
Example:
$ superbox push --name my-mcp
Pushing server: my-mcp
Running SonarCloud analysis...
Running additional scanners...
Uploading to S3...
Push completePull an MCP server from the registry and configure it for your AI client.
Usage:
superbox pull --name NAME --client CLIENTOptions:
--name NAMEβ MCP server name to pull (required)--client CLIENTβ Target client:vscode,cursor,windsurf,claude, orchatgpt(required)
What it does:
- Fetches server metadata from S3
- Writes client-specific MCP configuration file
- Configures the client to use the Lambda executor endpoint
Example:
$ superbox pull --name my-mcp --client cursor
Fetching server 'my-mcp' from S3 bucket...
Success!
Server 'my-mcp' added to Cursor MCP config
Location: ~/.cursor/mcp.jsonStart an interactive terminal session to test an MCP server.
Usage:
superbox run --name NAMEOptions:
--name NAMEβ MCP server name to run (required)
What it does:
- Connects to the Lambda executor
- Provides an interactive prompt to send requests to the MCP server
- Displays JSON responses
Example:
$ superbox run --name my-mcp
Connecting to MCP executor: https://lambda-url/my-mcp
Type 'exit' or 'quit' to end. Press Enter on empty line to continue.
> What tools are available?
{
"tools": ["tool1", "tool2", "tool3"]
}List all available MCP servers in the registry.
Usage:
superbox searchWhat it does:
- Lists all servers from S3 registry
- Shows repository URL, tool count, description, and security status
Example:
$ superbox search
======================================================================
Available MCP Servers (5 found)
======================================================================
[my-mcp]
Repository: https://github.com/user/my-mcp
Tools: 3
Description: My awesome MCP server
Security: All scans passedOpen the repository URL for a registered MCP server in your browser.
Usage:
superbox inspect --name NAMEOptions:
--name NAMEβ MCP server name to inspect (required)
What it does:
- Fetches server metadata from S3
- Opens the repository URL in your default browser
Example:
$ superbox inspect --name my-mcp
Fetching server 'my-mcp' from S3 bucket...
Opening repository: https://github.com/user/my-mcp
Done.Test an MCP server directly from a repository URL without registry registration or security checks.
Usage:
superbox test --url URL --client CLIENT [--entrypoint FILE] [--lang LANGUAGE]Options:
--url URLβ Repository URL of the MCP server (required)--client CLIENTβ Target client:vscode,cursor,windsurf,claude, orchatgpt(required)--entrypoint FILEβ Entrypoint file (default:main.py)--lang LANGUAGEβ Language (default:python)
What it does:
- Bypasses S3 registry and security scanning
- Configures client to use Lambda executor with direct repo URL
- Useful for testing MCPs before publishing
Example:
$ superbox test --url https://github.com/user/my-mcp --client cursor
β οΈ TEST MODE - No Security Checks
This server is being tested directly and has NOT gone through:
β’ Security scanning (SonarQube, Bandit, GitGuardian)
β’ Quality checks
β’ Registry validationThis project is licensed under the MIT License.
Core Contributors:
Acknowledgments: