Sandbox Studio MCP Server (sandboxstudiosoftware/sandbox-studio-mcp) is an MCP server listed on the M8ven Trust Index. It scores 56 out of 100, grade D. It declares 81 tools. No publisher has claimed this listing.
Connects AI assistants to the Sandbox Studio API to manage AWS sandbox accounts, leases, templates, events, and settings through natural language conversations.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
sandboxstudiosoftware
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
list_accountsList all registered sandbox accounts with pagination. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
import_accountsImport AWS accounts into the sandbox pool
eject_accountsEject AWS accounts from the sandbox pool
list_unregistered_accountsList AWS accounts available in the organization but not yet registered in the sandbox pool. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
get_accountGet details of a specific sandbox account by AWS account ID
get_account_lease_historyGet lease history for a specific sandbox account. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
retry_account_cleanupRetry cleanup for a sandbox account that failed its previous cleanup attempt
get_account_cleanup_logsGet cleanup logs for a specific sandbox account
get_account_failed_resourcesGet resources that failed cleanup for a specific sandbox account
list_approvalsList pending lease approval requests. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
list_eventsList sandbox events with optional status filtering. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
create_eventCreate a new sandbox event with provisioned accounts and team assignments
get_eventGet details of a specific event
update_eventUpdate an existing event's configuration
get_event_teamsGet teams for a specific event
add_event_teamsAdd teams to an event
terminate_eventTerminate an event and all its associated leases
start_eventStart a provisioned event, granting access to teams
provision_eventProvision accounts for an event
assign_event_team_ownerAssign an owner to a team within an event
get_lease_costsGet lease cost reporting data with optional grouping and filtering
trigger_drift_detectionTrigger an on-demand drift detection job across sandbox accounts
trigger_lease_monitoringTrigger an on-demand lease monitoring job to check budgets and durations
list_leasesList leases with optional filtering by status, user, date, and pagination. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
get_leaseGet details of a specific lease by ID
request_leaseRequest a new lease from a template. May require approval depending on template configuration.
update_leaseUpdate an existing lease's budget, duration, or expiration settings
suspend_leaseSuspend an active lease
resume_leaseResume a suspended lease
review_leaseApprove or deny a pending lease request
terminate_leaseTerminate an active lease and begin cleanup. ⚠️ WARNING: When terminating multiple leases, ALWAYS confirm with the user: - Clearly list which leases will be terminated (showing owner name, template name, and lease ID) - Distinguish between the user's OWN leases and OTHER users' leases - If the requ…
withdraw_leaseWithdraw a pending lease request before it is approved
get_lease_team_membersGet the team members who have access to a shared lease
share_leaseShare a lease with additional users
unshare_leaseRemove users from a shared lease
get_lease_logsGet the setup/activity logs for a lease
get_lease_secretsGet the build output secrets (credentials) for a lease
get_cleanup_settingsGet the account cleanup (nuke) configuration
update_cleanup_settingsUpdate the account cleanup (nuke) configuration
get_cleanup_hookGet a cleanup hook script by type
update_cleanup_hookUpdate a cleanup hook script
get_email_settingsGet email notification template settings
update_email_settingsUpdate email notification template settings
send_test_emailSend a test email to verify email/SMTP configuration
get_smtp_settingsGet SMTP configuration for outbound email
update_smtp_settingsUpdate SMTP configuration for outbound email
get_global_configGet platform-wide global configuration
update_global_configUpdate platform-wide global configuration. IMPORTANT: When updating lease settings: - If changing 'maxBudget', ask the user if they also want to enable 'requireMaxBudget' (which forces all templates to have a budget set). Otherwise the max budget only acts as an upper cap for templates that already…
get_runtime_configGet the runtime configuration for the current Sandbox Studio deployment
list_public_templatesList public account templates available for lease requests. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
get_templateGet full details of an account template by ID
get_template_infoGet basic details (name, description, icon, colour) of a template
list_managed_templatesList templates managed by the current user. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
create_templateCreate a new account template. Before creating a template, ask the user if they would like to: - Add tags for categorisation (e.g., "ai", "development", "training", "data-science") - Set a custom icon and colour - Specify who should manage or approve leases When providing a launchSetupScript or la…
delete_templateDelete an account template
update_template_infoUpdate basic details of a template (name, description, icon, colour)
get_template_leasesGet leases associated with a template. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
get_template_permissionsGet the IAM permission configuration for a template
update_template_permissionsUpdate the IAM permission configuration for a template
get_template_launch_settingsGet launch/setup settings for a template
update_template_launch_settingsUpdate launch/setup settings for a template. IMPORTANT: When writing launch setup scripts or run scripts, use 'set-sandbox-output' to expose variables to the lease owner instead of using 'echo'. This command registers outputs in the Sandbox Studio UI. Usage: set-sandbox-output --name <name> --va…
update_template_budgetUpdate budget settings for a template
update_template_durationUpdate duration settings for a template
update_template_managersUpdate managers and approval settings for a template
update_template_sharingUpdate sharing settings for a template
update_template_tagsUpdate tags for a template. Tags are key-value pairs with a name and value.
list_usersList users from the connected identity provider. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
list_groupsList groups from the connected identity provider. Results are paginated — if the response contains a nextPageIdentifier, inform the user that more results are available and offer to fetch the next page.
validate_usersValidate that user IDs exist in the identity provider
update_preferencesUpdate the current user's preferences
list_all_oauth_clientsList all OAuth API clients (admin endpoint)
list_my_oauth_clientsList OAuth API clients owned by the current user
create_oauth_clientCreate a new OAuth API client for machine-to-machine integrations
delete_oauth_clientDelete an OAuth API client
update_oauth_clientUpdate an OAuth API client's description
get_terms_of_serviceGet the latest published terms of service
list_terms_versionsList all published terms of service versions
get_terms_versionGet a specific terms of service version
publish_terms_of_servicePublish a new terms of service version
get_tagsGet all unique tags defined across account templates
validate_s3_pathValidate that an S3 path exists and is accessible
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse
Anthropic's MCP TypeScript SDK has a ReDoS vulnerability
Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default
SS_LOG_LEVELTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
81/81 tools missing one or more hints — list_accounts (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); import_accounts (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); eject_accounts (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +78 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Tool inputs are validated
68/81 tool handlers declare input schemas (84%)
Declare an inputSchema with zod/joi/yup on every tool definition.
License file
No license file
Add a LICENSE file (MIT, Apache-2.0, etc.).
Tool test coverage
Only 0/81 tools referenced in tests (0%)
Write tests that reference each tool by name so every tool has at least one test.
Production dependencies are patched
0 critical, 3 high severity in production deps — @modelcontextprotocol/sdk@1.12.1 (high), @modelcontextprotocol/sdk@1.12.1 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/sandboxstudiosoftware/sandbox-studio-mcp)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check