Skip to main content

MCP server for EdgescaleAI Cube operations

Project description

cube-mcp

MCP server for EdgescaleAI Cube management and Apollo deployments.

Architecture

cube-agent runs locally as an MCP server (via npx cube-mcp). It handles authentication, Docker builds, Helm chart packaging, and app proxy tunnels. Server-side operations (Kubernetes, Teleport, Apollo) are proxied to cube-cloud, a FastAPI backend hosted on AWS ECS.

Claude Code  <-->  cube-agent (local MCP)  <-->  cube-cloud (ECS)  <-->  Teleport / Apollo / K8s

Install

Requires uv (or pipx).

# Add to Claude Code
claude mcp add cube -- npx cube-mcp

Or run directly:

npx cube-mcp    # via Node (calls uvx under the hood)
uvx cube-mcp    # via uv directly

Getting Started

You: "Log me in"             → agent_login_browser (opens browser for Cognito login)
You: "Connect to staging"    → cube_cluster_login (merges kubeconfig)
You: "Show Cube status"      → cube_status

Tools

Auth

Tool Description
agent_login_browser Log in via browser (Cognito)
agent_login Log in with an API key
agent_logout Remove stored API key
agent_status Check auth and connectivity

Kubernetes

Tool Description
cube_list List available Cube clusters
cube_status Get node status for a cluster
cube_cluster_login Get kubeconfig for a cluster (merges into ~/.kube/config)
kubectl_exec Run kubectl commands (server-side)

Apps

Tool Description
app_list List Teleport apps
app_proxy Start local proxy tunnel to an app
app_proxy_stop Stop running proxies
app_proxy_status Show proxy status

Build & Registry

Tool Description
build_and_publish_to_apollo Build Docker image, package chart, push to ACR, publish manifest
acr_get_token Get Apollo Container Registry token
apollo_publish_manifest Publish a manifest YAML

Apollo Environments

Tool Description
list_environments List/search Apollo environments
create_environment Create a new environment with control plane
replicate_environment Clone modules, entities, configs, and secrets
delete_environment Delete an environment
install_entity Install a Helm chart entity
uninstall_entity Uninstall an entity
entity_health Get entity health and activity status
plan_details Get plan tasks, events, and error logs
update_entity_config Update entity config overrides
enforce_entity_config Force re-apply entity configuration
reset_environment_agents Reset environment agents

Apollo Modules

Tool Description
install_module Install a module on an environment
uninstall_module Uninstall a module
list_modules List modules in an environment
update_module_variables Update module variables

Apollo Secrets

Tool Description
create_secret Create a secret on an environment
update_secret Update a secret value

Apollo Products & Release Channels

Tool Description
list_products List available products
compare_product_versions Compare versions of a product
list_release_channels List release channels
get_product_releases Get releases for a product
add_product_to_release_channel Add a product to a release channel
remove_product_from_release_channel Remove a product from a release channel
set_label_on_product Set a label on a product
remove_label_from_product Remove a label from a product

Apollo Change Requests

Tool Description
list_change_requests List pending change requests
review_change_request Approve or reject a change request

Local Development

# Install dependencies
uv sync --extra dev
uv pip install -e packages/cube-common -e packages/cube-cloud -e packages/cube-agent

# Run tests
uv run pytest packages/ -v

# Run cube-agent locally (for debugging)
uv run cube-agent

To test with Claude Code, point the MCP server at your local code:

claude mcp add cube-local -- uv run --directory /path/to/cube-mcp cube-agent

Reload after changes with /mcp in Claude Code.

Contributing

  1. Create a branch
  2. Make changes
  3. Run uv run pytest packages/ -v
  4. Push and open a PR — tests run automatically
  5. Merge to main — auto-publishes to PyPI and npm, auto-deploys to ECS

Admin

See docs/admin.md for user management, RBAC, and profile configuration.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cube_mcp-0.3.17.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cube_mcp-0.3.17-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

File details

Details for the file cube_mcp-0.3.17.tar.gz.

File metadata

  • Download URL: cube_mcp-0.3.17.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for cube_mcp-0.3.17.tar.gz
Algorithm Hash digest
SHA256 e76712f3db0b787a3a177accf000e125f0ba6e5858b26dba2a301ecc021a1048
MD5 4f1b717fdd62f3cda4a6cc4604b94cce
BLAKE2b-256 4f44d560a2331a75d1e84a515e81fe60e4f880b79e98689fc760d300c12bd96a

See more details on using hashes here.

File details

Details for the file cube_mcp-0.3.17-py3-none-any.whl.

File metadata

  • Download URL: cube_mcp-0.3.17-py3-none-any.whl
  • Upload date:
  • Size: 36.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for cube_mcp-0.3.17-py3-none-any.whl
Algorithm Hash digest
SHA256 3b7db853044f989aef888855b34d7cd975d10f959d3f99878db3b2a2297dd512
MD5 72099b366ce4e6aebb870b747473618d
BLAKE2b-256 a3e447982a8ca791abe1db407f5a035cdc9d9e420eb090c39a087947bc76d59e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page