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

npx cube-mcp

Add to Claude Code

claude mcp add cube -- npx cube-mcp

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
kubectl_exec Run kubectl commands (server-side)

Apollo Environments

Tool Description
list_environments List Apollo environments
create_environment Create a new environment
replicate_environment Clone an environment
install_entity Install a Helm chart entity
entity_health Get entity health status
plan_details Get plan tasks, events, and error logs

Build & Publish

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

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

Local Development

# Install dependencies
uv sync --dev

# 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.8.tar.gz (3.8 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.8-py3-none-any.whl (38.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cube_mcp-0.3.8.tar.gz
  • Upload date:
  • Size: 3.8 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.8.tar.gz
Algorithm Hash digest
SHA256 8e0d155e4593d0aaf372ac4bb0f53bfeb6f2b988fa67d64f8e77f35f9403c5a7
MD5 3991cc4ba2cc6482b82da25ea1945f4e
BLAKE2b-256 819dc1757cae68c8a4e280a116be616c7c9adbbd596f30a9c62e1c826799833a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cube_mcp-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 38.1 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 2c72c7cf2d4a5c1de752eaf117718eac22bb149ca119dfff507a7711bc4dd62d
MD5 b1695c351823686796cd8f5d737f7db7
BLAKE2b-256 d0e400672558c5809adf15cd7add05460427f5412eebc81ae6ecab4ca1fefcd6

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