Integrated Services#

Cloud Native MCP Server integrates 10 powerful cloud-native services, providing 220+ tools that fully cover Kubernetes management and application deployment, monitoring, log analysis, and more.

☸️ Kubernetes

28 tools

Core container orchestration and resource management, including complete lifecycle management for Pods, Deployments, Services, ConfigMaps, Secrets, and more.

Key Features:

  • Pod and container management
  • Application deployment and scaling
  • Service discovery and load balancing
  • Configuration and secrets management
  • Namespace and node management

⚓ Helm

31 tools

Kubernetes application package manager, simplifying application deployment, upgrades, and management.

Key Features:

  • Chart repository management
  • Release lifecycle management
  • Values configuration management
  • Dependency management
  • Plugin system

📊 Grafana

36 tools

Open-source analytics and visualization platform for monitoring and metrics visualization.

Key Features:

  • Dashboard management
  • Data source configuration
  • Visualization creation
  • Alert management
  • User and organization management

📈 Prometheus

20 tools

Open-source monitoring and alerting system for collecting and querying time-series data.

Key Features:

  • Instant and range queries
  • Label and metadata queries
  • Target management
  • Rules and alert management
  • TSDB and storage management

🔍 Kibana

52 tools

Elastic Stack data visualization and management interface for log analysis and data exploration.

Key Features:

  • Index and document management
  • Data query and aggregation
  • Visualization and dashboards
  • Index pattern management
  • Space and permission management

🔎 Elasticsearch

14 tools

Distributed search and analytics engine for log storage and full-text search.

Key Features:

  • Index management
  • Document operations
  • Data search
  • Cluster management
  • Alias management

🚨 Alertmanager

15 tools

Prometheus alert handling and routing system for managing alert notifications.

Key Features:

  • Alert management
  • Silence rules
  • Alert routing
  • Notification configuration
  • Rule group management

🔗 Jaeger

8 tools

Distributed tracing platform for monitoring and troubleshooting microservice architectures.

Key Features:

  • Trace queries
  • Service discovery
  • Dependency analysis
  • Performance analysis
  • Metric queries

📡 OpenTelemetry

9 tools

Unified observability framework for collecting metrics, traces, and logs.

Key Features:

  • Metric collection
  • Trace management
  • Log aggregation
  • Unified configuration
  • Cross-language support

🛠️ Utilities

6 tools

General-purpose utility toolkit providing common data processing and transformation functions.

Key Features:

  • Base64 encoding/decoding
  • JSON processing
  • Timestamp generation
  • UUID generation
  • Data conversion

Service Configuration#

Each service can be independently configured and enabled/disabled. Here’s an example configuration:

Enable Services#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# Kubernetes (enabled by default)
kubernetes:
  kubeconfig: ""
  timeoutSec: 30
  qps: 100.0
  burst: 200

# Prometheus
prometheus:
  enabled: true
  address: "http://localhost:9090"
  timeoutSec: 30

# Grafana
grafana:
  enabled: true
  url: "http://localhost:3000"
  apiKey: "your-api-key"

# Kibana
kibana:
  enabled: true
  url: "https://localhost:5601"
  apiKey: "your-api-key"

# Elasticsearch
elasticsearch:
  enabled: true
  addresses:
    - "http://localhost:9200"
  timeoutSec: 30

# Helm
helm:
  enabled: true
  namespace: "default"
  timeoutSec: 300

# Alertmanager
alertmanager:
  enabled: true
  address: "http://localhost:9093"
  timeoutSec: 30

# Jaeger
jaeger:
  enabled: true
  address: "http://localhost:16686"
  timeoutSec: 30

# OpenTelemetry
opentelemetry:
  enabled: true
  address: "http://localhost:4318"
  timeoutSec: 30

Service Filtering#

Services can be enabled or disabled via configuration file or environment variables:

1
2
3
4
5
6
7
8
9
enableDisable:
  # Disabled services (comma-separated)
  disabledServices: []

  # Enabled services (comma-separated, overrides disabled)
  enabledServices: ["kubernetes", "helm", "prometheus", "grafana"]

  # Disabled tools (comma-separated)
  disabledTools: []

Or using environment variables:

1
2
export MCP_ENABLED_SERVICES=kubernetes,helm,prometheus,grafana
export MCP_DISABLED_SERVICES=elasticsearch,kibana

Authentication Configuration#

Each service supports multiple authentication methods:

Basic Auth#

1
2
3
prometheus:
  username: "admin"
  password: "password"

API Key#

1
2
grafana:
  apiKey: "eyJrIjoi..."

Bearer Token#

1
2
kibana:
  bearerToken: "eyJhbGci..."

TLS/mTLS#

1
2
3
4
5
elasticsearch:
  tlsSkipVerify: false
  tlsCertFile: "/path/to/cert.pem"
  tlsKeyFile: "/path/to/key.pem"
  tlsCAFile: "/path/to/ca.pem"

Best Practices#

1. Enable Services on Demand#

Only enable the services you need to reduce resource consumption and attack surface.

2. Configure Appropriate Timeouts#

Set suitable timeout values based on service response times.

3. Use Environment Variables#

Use environment variables for sensitive information (like API keys, passwords).

4. Enable Caching#

Enable caching for frequently accessed services to improve performance.

5. Monitor Service Health#

Regularly check the health status of each service.

6. Use Connection Pools#

Configure appropriate QPS and burst parameters.

7. Error Handling#

Configure appropriate error handling and retry policies for each service.

Troubleshooting#

Service Connection Failed#

Problem: Cannot connect to service

Solution:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Check pod status
kubectl get pods -l app=cloud-native-mcp-server

# Check logs
kubectl logs -l app=cloud-native-mcp-server

# Check service
kubectl get svc cloud-native-mcp-server

# Port forward test
kubectl port-forward svc/cloud-native-mcp-server 8080:8080
curl http://localhost:8080/health

Authentication Failed#

Problem: 401 Unauthorized

Solution:

1
2
3
4
5
6
7
8
# Check auth configuration
kubectl get configmap k8s-mcp-config -o yaml

# Verify secrets
kubectl get secret k8s-mcp-secrets -o yaml

# Test with correct headers
curl -H "X-API-Key: your-key" http://localhost:8080/health

Performance Issues#

Problem: Slow response times

Solution:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Increase timeouts
kubernetes:
  timeoutSec: 60

# Enable caching
config:
  cache:
    enabled: true

# Use summary tools
# Replace kubernetes_list_resources with kubernetes_list_resources_summary

Extension Development#

To add a new service, refer to the development documentation:

  1. Create service directory structure
  2. Implement service interface
  3. Register tools
  4. Write tests
  5. Update documentation

Detailed guide available at Development Documentation.