MCPCan Deployment Guide

A comprehensive microservices platform providing MCP service lifecycle management capabilities with modern Kubernetes architecture

Environment Dependencies

Before starting deployment, please ensure your environment meets the following requirements:

šŸ”§ System Requirements

  • Kubernetes: 1.20 or higher (K3s recommended)
  • Helm: 3.0 or higher
  • NGINX Ingress Controller: Required for external access
  • Persistent Storage: Default storage class required
  • Resources: Minimum 2 CPU Cores / 4GB RAM

Deployment Guide

šŸš€ Option 1: Automated Installation (Recommended)

Use the install-fast.sh script to automatically handle environment setup, configuration, and deployment. This is the recommended method for most users.

# 1. Clone the repository
git clone https://github.com/Kymo-MCP/mcpcan-deploy.git
cd mcpcan-deploy

# 2. Run the fast installation script
# Standard Installation (International Network)
./scripts/install-fast.sh

# Accelerated Installation (China Mirrors)
./scripts/install-fast.sh --cn

šŸ› ļø Automated Script Workflow

  • 1. Environment Check: Automatically checks and installs K3s, Helm, and Ingress Controller if they are missing.
  • 2. Configuration Generation: Creates values-custom.yaml from the template and applies mirror settings if --cn is used.
  • 3. Smart Deployment: Detects existing installations and performs a safe upgrade or a fresh install.
  • 4. Health Verification: Monitors pod status in real-time and waits for all services to be healthy.
  • 5. Access Info: Automatically detects and outputs the service access URL.

Option 2: Manual Helm Installation

For advanced users who need to customize the deployment process or integrate with existing pipelines.

Method A: Local Chart Deployment (Customizable)

Best for developers who want to modify the chart or values extensively.

# 1. Prepare Configuration
cp helm/values.yaml helm/values-custom.yaml

# 2. Customize Configuration (Optional)
# vim helm/values-custom.yaml

# 3. Install or Upgrade
helm upgrade --install mcpcan ./helm -f helm/values-custom.yaml \
  --namespace mcpcan --create-namespace --timeout 600s --wait

Method B: Helm Repository Deployment (Standard)

Best for standard production deployments using versioned charts.

# 1. Add Repository
helm repo add mcpcan https://kymo-mcp.github.io/mcpcan-deploy/
helm repo update

# 2. Install Chart
helm install mcpcan mcpcan/mcpcan-deploy \
  --namespace mcpcan --create-namespace --timeout 600s --wait

Deployment Management

Upgrade Deployment

# Upgrade to new version
helm upgrade mcpcan ./helm -f helm/values-custom.yaml \
  --set global.version=v1.1.0 \
  --namespace mcpcan --timeout 600s --wait

# View upgrade history
helm history mcpcan --namespace mcpcan

Uninstall Deployment

# Uninstall Helm Release
helm uninstall mcpcan --namespace mcpcan

# Clean up namespace
kubectl delete namespace mcpcan
āš ļø Warning: The following command will permanently delete all data. Use with caution!
# Clean up persistent data (use with caution)
sudo rm -rf /data/mcpcan

Common Management Commands

View Status

# View Helm Release status
helm status mcpcan --namespace mcpcan

# View Pod status
kubectl get pods -n mcpcan

# View service status
kubectl get svc -n mcpcan

# View Ingress status
kubectl get ingress -n mcpcan

View Logs

# View specific service logs
kubectl logs -n mcpcan -l app=mcp-gateway
kubectl logs -n mcpcan -l app=mcp-authz
kubectl logs -n mcpcan -l app=mcp-market
kubectl logs -n mcpcan -l app=mcp-web

# View logs in real-time
kubectl logs -n mcpcan -l app=mcp-gateway -f

Troubleshooting

# View Pod detailed information
kubectl describe pod <pod-name> -n mcpcan

# View events
kubectl get events -n mcpcan --sort-by='.lastTimestamp'

# Enter Pod for debugging
kubectl exec -it <pod-name> -n mcpcan -- /bin/sh

# Port forwarding (local debugging)
kubectl port-forward svc/mcp-gateway-svc 8080:8080 -n mcpcan
kubectl port-forward svc/mcp-web-svc 3000:3000 -n mcpcan

Software Architecture Design

MCPCan is built on a modern Kubernetes microservice architecture, providing comprehensive MCP service lifecycle management capabilities.

Core Services

🌐 MCPCan-Web

Vue.js-based frontend service providing modern web interface for MCP service management

🚪 MCPCan-Gateway

MCP gateway service responsible for request routing, protocol conversion, and authentication

šŸ” MCPCan-Authz

Authentication and authorization service handling user management and access control

šŸŖ MCPCan-Market

MCP service marketplace for discovering, publishing, and managing MCP services

āš™ļø MCPCan-Init

Initialization service for system setup and configuration

šŸ—„ļø Data Storage

MySQL: Primary database service
Redis: Cache service for session management

Technology Stack

šŸŽØ Frontend

  • Framework: Vue.js 3.5+ (Composition API)
  • Language: TypeScript
  • Styling: UnoCSS, SCSS
  • UI Components: Element Plus
  • State Management: Pinia
  • Build Tool: Vite

āš™ļø Backend

  • Language: Go 1.24.2+
  • Framework: Gin, gRPC
  • Database: MySQL, Redis
  • Containerization: Docker, Kubernetes

Documentation and Support

šŸ†˜ Getting Help

If you encounter issues, please:

  1. View logs: kubectl logs -n mcpcan <pod-name>
  2. Check events: kubectl get events -n mcpcan
  3. Submit Issue to project repository
  4. Contact technical support: opensource@kymo.cn