MCP Cloud Services Server

MCP Cloud Services Server

Enables AI assistants to manage multi-cloud resources (AWS, Azure, GCP) including resource operations, cost analysis, monitoring metrics, and security compliance checks through natural language commands.

Category
访问服务器

README

MCP Cloud Services Server

TypeScript Node.js MCP npm

Comprehensive MCP (Model Context Protocol) server for cloud services management. Supports AWS, Azure, and GCP with resource management, cost analysis, monitoring, and security features.

🎯 Ne İşe Yarar?

MCP Cloud Services Server, AI asistanlarının (Cursor, Claude Desktop, vb.) cloud kaynaklarını yönetmesi, maliyetleri analiz etmesi, monitoring yapması ve güvenlik kontrolleri gerçekleştirmesi için kapsamlı bir MCP server'dır.

Temel Özellikler

  • ☁️ Multi-Cloud Desteği: AWS, Azure, GCP desteği
  • 📊 Resource Management: List, create, delete, start, stop operations
  • 💰 Cost Analysis: Cost breakdown, trends, billing analysis
  • 📈 Monitoring: Metrics, alarms, health checks
  • 🔒 Security: Security scanning, compliance checks, encryption analysis
  • 🔐 Credential Management: Secure credential storage and management

🚀 Nasıl Çalışır?

MCP Cloud Services Server, Model Context Protocol (MCP) standardını kullanarak AI asistanlarına cloud yönetim yetenekleri sağlar. Server, MCP protokolü üzerinden tool'ları expose eder ve AI asistanları bu tool'ları kullanarak cloud işlemlerini gerçekleştirebilir.

Mimari

AI Assistant (Cursor/Claude)
    ↓ (MCP Protocol)
MCP Cloud Services Server
    ↓ (SDK Calls)
Cloud Provider APIs (AWS/Azure/GCP)

Server, her cloud provider için adapter pattern kullanarak SDK çağrılarını yönetir. Credentials güvenli bir şekilde saklanır ve yönetilir.

📦 Kurulum

Gereksinimler

  • Node.js 18 veya üzeri
  • npm veya yarn
  • TypeScript (dev dependency)
  • Cloud provider credentials (AWS, Azure, or GCP)

Adımlar

  1. Repository'yi klonlayın:
git clone https://github.com/code-alchemist01/Cloud-mcp_server.git
cd Cloud-mcp_server
  1. Bağımlılıkları yükleyin:
npm install
  1. Projeyi derleyin:
npm run build
  1. Cloud Credentials Yapılandırın (aşağıdaki bölüme bakın)

  2. Test edin:

npm start

🔐 Credentials Yapılandırması

Neden Credentials Gerekiyor?

Cloud provider'lar (AWS, Azure, GCP) güvenlik nedeniyle tüm API çağrılarında authentication gerektirir. Bu credentials, kimlik doğrulama ve yetkilendirme için kullanılır. Server, bu credentials'ları kullanarak cloud API'lerine güvenli bir şekilde bağlanır.

AWS Credentials

AWS için Access Key ID ve Secret Access Key gereklidir. Bu credentials, AWS IAM'de oluşturulur ve gerekli izinlere sahip olmalıdır.

Yöntem 1: Environment Variables (Önerilen)

export AWS_ACCESS_KEY_ID=your_access_key_id
export AWS_SECRET_ACCESS_KEY=your_secret_access_key
export AWS_REGION=us-east-1

Yöntem 2: AWS Credentials Dosyası

~/.aws/credentials (Linux/Mac)
C:\Users\YourUsername\.aws\credentials (Windows)

[default]
aws_access_key_id = your_access_key_id
aws_secret_access_key = your_secret_access_key

Yöntem 3: MCP Config İçinde

{
  "mcpServers": {
    "cloud-services": {
      "command": "node",
      "args": ["..."],
      "env": {
        "AWS_ACCESS_KEY_ID": "your_access_key_id",
        "AWS_SECRET_ACCESS_KEY": "your_secret_access_key",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

Gerekli IAM İzinleri:

  • ec2:DescribeInstances, ec2:StartInstances, ec2:StopInstances
  • s3:ListBuckets, s3:GetBucketLocation
  • lambda:ListFunctions, lambda:GetFunction
  • rds:DescribeDBInstances
  • cloudwatch:GetMetricStatistics
  • ce:GetCostAndUsage

Azure Credentials

Azure için Service Principal (Client ID, Client Secret, Tenant ID) veya Azure CLI login gereklidir. Ayrıca Subscription ID zorunludur.

Yöntem 1: Environment Variables

export AZURE_CLIENT_ID=your_client_id
export AZURE_CLIENT_SECRET=your_client_secret
export AZURE_TENANT_ID=your_tenant_id
export AZURE_SUBSCRIPTION_ID=your_subscription_id

Yöntem 2: Azure CLI Login (En Kolay)

az login
# Bu DefaultAzureCredential kullanır
export AZURE_SUBSCRIPTION_ID=your_subscription_id

Yöntem 3: MCP Config İçinde

{
  "mcpServers": {
    "cloud-services": {
      "command": "node",
      "args": ["..."],
      "env": {
        "AZURE_CLIENT_ID": "your_client_id",
        "AZURE_CLIENT_SECRET": "your_secret",
        "AZURE_TENANT_ID": "your_tenant_id",
        "AZURE_SUBSCRIPTION_ID": "your_subscription_id"
      }
    }
  }
}

Service Principal Oluşturma:

az ad sp create-for-rbac --name "mcp-cloud-services" --role contributor

Gerekli RBAC İzinleri:

  • Reader (kaynakları listeleme için)
  • Virtual Machine Contributor (VM yönetimi için)
  • Storage Account Contributor (storage yönetimi için)

GCP Credentials

GCP için Service Account JSON dosyası veya gcloud CLI gereklidir. Ayrıca Project ID zorunludur.

Yöntem 1: Service Account JSON (Önerilen)

export GCP_PROJECT_ID=your_project_id
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json

Yöntem 2: gcloud CLI

gcloud auth application-default login
gcloud config set project YOUR_PROJECT_ID
export GCP_PROJECT_ID=$(gcloud config get-value project)

Yöntem 3: MCP Config İçinde

{
  "mcpServers": {
    "cloud-services": {
      "command": "node",
      "args": ["..."],
      "env": {
        "GCP_PROJECT_ID": "your_project_id",
        "GOOGLE_APPLICATION_CREDENTIALS": "C:\\path\\to\\service-account-key.json"
      }
    }
  }
}

Service Account Oluşturma:

  1. GCP Console → IAM & Admin → Service Accounts
  2. Create Service Account
  3. Grant roles: Compute Viewer, Storage Viewer, Cloud Functions Viewer
  4. Create JSON key ve indir

Gerekli IAM Rolleri:

  • Compute Viewer (compute instance'ları görüntüleme)
  • Storage Viewer (storage bucket'ları görüntüleme)
  • Cloud Functions Viewer (function'ları görüntüleme)
  • Monitoring Viewer (metrics için)
  • Billing Account Viewer (cost analysis için)

📦 MCP Client'lara Kurulum

Cursor IDE

1. MCP Config Dosyasını Oluştur/Düzenle

Windows:

%APPDATA%\Cursor\User\globalStorage\mcp.json

macOS/Linux:

~/.config/Cursor/User/globalStorage/mcp.json

Workspace-specific (Önerilen):

<project-root>/.cursor/mcp.json

2. Config İçeriği

{
  "mcpServers": {
    "cloud-services": {
      "command": "node",
      "args": [
        "C:\\Users\\YourUsername\\path\\to\\Cloud-mcp_server\\dist\\index.js"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "your_key",
        "AWS_SECRET_ACCESS_KEY": "your_secret",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

3. Cursor'u Yeniden Başlatın

Claude Desktop

1. MCP Config Dosyasını Oluştur/Düzenle

Windows:

%APPDATA%\Claude\claude_desktop_config.json

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

2. Config İçeriği

{
  "mcpServers": {
    "cloud-services": {
      "command": "node",
      "args": [
        "/absolute/path/to/Cloud-mcp_server/dist/index.js"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "your_key",
        "AWS_SECRET_ACCESS_KEY": "your_secret"
      }
    }
  }
}

Diğer MCP Client'lar

Herhangi bir MCP protokolü destekleyen client için, server'ı stdio transport ile başlatın:

{
  "mcpServers": {
    "cloud-services": {
      "command": "node",
      "args": ["/path/to/dist/index.js"],
      "env": {
        "AWS_ACCESS_KEY_ID": "...",
        "AWS_SECRET_ACCESS_KEY": "..."
      }
    }
  }
}

🛠️ Kullanım

MCP Client'larda Kullanım

MCP server kurulduktan sonra, client'ınızın chat arayüzünde doğal dil komutları kullanarak cloud işlemlerini gerçekleştirebilirsiniz.

Örnek Kullanımlar

AWS:

AWS'deki tüm EC2 instance'ları listele
S3 bucket'ları göster
i-1234567890abcdef0 instance'ını başlat
Lambda function'larını listele

Azure:

Azure'daki tüm virtual machine'leri listele
Storage account'ları göster

GCP:

GCP'deki tüm compute instance'ları listele
Storage bucket'ları göster
Cloud function'ları listele

Cost Analysis:

AWS maliyetlerini analiz et: 2024-01-01 ile 2024-01-31 arası
Servis bazlı maliyet dökümünü göster

Monitoring:

i-1234567890abcdef0 instance'ının CPU kullanımını göster
AWS alarm'larını listele

Security:

AWS kaynaklarında güvenlik açıklarını tara
CIS compliance kontrolü yap
Encryption durumunu kontrol et

📋 MCP Tools (26 Araç)

AWS Tools (6)

  • aws_list_ec2_instances - EC2 instance'ları listele
  • aws_list_s3_buckets - S3 bucket'ları listele
  • aws_list_lambda_functions - Lambda function'ları listele
  • aws_list_rds_instances - RDS instance'ları listele
  • aws_start_ec2_instance - EC2 instance başlat
  • aws_stop_ec2_instance - EC2 instance durdur

Azure Tools (2)

  • azure_list_virtual_machines - Virtual machine'leri listele
  • azure_list_storage_accounts - Storage account'ları listele

GCP Tools (3)

  • gcp_list_compute_instances - Compute instance'ları listele
  • gcp_list_storage_buckets - Storage bucket'ları listele
  • gcp_list_cloud_functions - Cloud function'ları listele

Resource Management Tools (5)

  • list_resources - Tüm cloud kaynaklarını listele
  • get_resource - Kaynak detaylarını getir
  • start_resource - Kaynağı başlat
  • stop_resource - Kaynağı durdur
  • delete_resource - Kaynağı sil (dikkatli kullanın)

Cost Analysis Tools (3)

  • analyze_costs - Maliyet analizi yap
  • get_cost_by_service - Servis bazlı maliyet dökümü
  • estimate_monthly_cost - Aylık maliyet tahmini

Monitoring Tools (3)

  • get_metrics - Resource metrics'lerini getir
  • list_alarms - Monitoring alarm'larını listele
  • get_resource_health - Resource health durumunu kontrol et

Security Tools (4)

  • scan_security_issues - Güvenlik açıklarını tara
  • check_compliance - Compliance kontrolü yap
  • analyze_permissions - IAM permission analizi
  • check_encryption - Encryption durumunu kontrol et

📁 Proje Yapısı

Cloud-mcp_server/
├── src/
│   ├── index.ts                 # MCP server ana giriş noktası
│   ├── server.ts                # MCP server implementasyonu
│   ├── tools/                   # MCP tools
│   │   ├── aws-tools.ts         # AWS specific tools
│   │   ├── azure-tools.ts       # Azure specific tools
│   │   ├── gcp-tools.ts         # GCP specific tools
│   │   ├── resource-management.ts # Resource management tools
│   │   ├── cost-analysis.ts     # Cost analysis tools
│   │   ├── monitoring.ts         # Monitoring tools
│   │   └── security.ts           # Security tools
│   ├── adapters/                 # Cloud provider adapters
│   │   ├── aws-adapter.ts       # AWS SDK adapter
│   │   ├── azure-adapter.ts     # Azure SDK adapter
│   │   └── gcp-adapter.ts       # GCP SDK adapter
│   ├── utils/                    # Yardımcı fonksiyonlar
│   │   ├── credential-manager.ts
│   │   ├── formatters.ts
│   │   └── validators.ts
│   └── types/                    # TypeScript tip tanımları
│       └── index.ts
├── dist/                         # Derlenmiş JavaScript dosyaları
├── package.json
├── tsconfig.json
└── README.md

🔧 Geliştirme

Development Modu

npm run dev

Build

npm run build

Test

npm test

🔒 Güvenlik

  • Credentials güvenli saklanır (~/.cloud-services-mcp/credentials.json)
  • Environment variables desteği
  • Input validation ve sanitization
  • Error handling
  • Secure credential management

Önemli: Credentials'ları asla kod içine hardcode etmeyin. Her zaman environment variables veya güvenli credential store kullanın.

📊 Çıktı Formatları

  • JSON - Structured data responses
  • Markdown - Raporlar ve dokümantasyon
  • Text - Plain text output

🤝 Katkıda Bulunma

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Commit edin (git commit -m 'Add amazing feature')
  4. Push edin (git push origin feature/amazing-feature)
  5. Pull Request açın

📄 Lisans

MIT License - Detaylar için LICENSE dosyasına bakın.

🔗 MCP Client Desteği

Bu MCP server aşağıdaki client'lar ile uyumludur:

  • Cursor IDE - Tam destek
  • Claude Desktop - Tam destek
  • Anthropic API - MCP protokolü üzerinden
  • Diğer MCP Client'lar - Standart MCP protokolü destekleyen tüm client'lar

🙏 Teşekkürler

📞 İletişim

Sorularınız veya önerileriniz için issue açabilirsiniz.


⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选