Skip to main content
Glama
clpi

CLP MCP - DevOps Infrastructure Server

Official
by clpi
cloud.ts9.99 kB
import { z } from "zod"; /** * Cloud services tools for AWS, Azure, GCP, and multi-cloud scenarios */ export const cloudInfrastructureAnalysisTool = { name: "cloud_analyze_infrastructure", description: "Analyze cloud infrastructure configurations (Terraform, CloudFormation, ARM templates)", inputSchema: z.object({ configPath: z.string().describe("Path to infrastructure configuration file"), provider: z.enum(["aws", "azure", "gcp", "multi-cloud"]).describe("Cloud provider"), configType: z.enum(["terraform", "cloudformation", "arm-template", "pulumi", "cdk"]).describe("Infrastructure as Code tool"), checkCosts: z.boolean().default(true).describe("Estimate infrastructure costs"), }), }; export const cloudSecurityAuditTool = { name: "cloud_security_audit", description: "Audit cloud resources for security best practices and compliance", inputSchema: z.object({ provider: z.enum(["aws", "azure", "gcp"]).describe("Cloud provider"), resourceType: z.enum(["all", "iam", "storage", "compute", "network", "database"]).default("all").describe("Resource type to audit"), complianceFramework: z.enum(["cis", "pci-dss", "hipaa", "gdpr", "soc2"]).optional().describe("Compliance framework to check against"), }), }; export const cloudCostOptimizationTool = { name: "cloud_cost_optimization", description: "Analyze cloud spending and provide cost optimization recommendations", inputSchema: z.object({ provider: z.enum(["aws", "azure", "gcp"]).describe("Cloud provider"), analysisScope: z.enum(["compute", "storage", "network", "database", "all"]).default("all").describe("Scope of cost analysis"), recommendationLevel: z.enum(["quick-wins", "moderate", "comprehensive"]).default("moderate").describe("Level of recommendations"), }), }; export const cloudMigrationPlannerTool = { name: "cloud_migration_planner", description: "Plan and assess cloud migration strategies", inputSchema: z.object({ sourceEnvironment: z.enum(["on-premise", "aws", "azure", "gcp"]).describe("Source environment"), targetProvider: z.enum(["aws", "azure", "gcp"]).describe("Target cloud provider"), workloadType: z.enum(["web-app", "database", "microservices", "data-analytics", "legacy"]).describe("Type of workload to migrate"), migrationStrategy: z.enum(["lift-and-shift", "refactor", "replatform", "rebuild"]).optional().describe("Preferred migration strategy"), }), }; export const cloudBestPracticesLookupTool = { name: "cloud_best_practices", description: "Look up cloud provider best practices and patterns", inputSchema: z.object({ provider: z.enum(["aws", "azure", "gcp"]).describe("Cloud provider"), topic: z.enum(["architecture", "security", "cost-optimization", "performance", "reliability", "operations"]).describe("Best practice topic"), serviceType: z.string().optional().describe("Specific service (e.g., S3, Lambda, EC2, AKS, GCS)"), }), }; export const cloudDisasterRecoveryTool = { name: "cloud_disaster_recovery", description: "Design and analyze disaster recovery strategies for cloud workloads", inputSchema: z.object({ provider: z.enum(["aws", "azure", "gcp"]).describe("Cloud provider"), rto: z.number().optional().describe("Recovery Time Objective in hours"), rpo: z.number().optional().describe("Recovery Point Objective in hours"), criticalityLevel: z.enum(["critical", "high", "medium", "low"]).describe("Workload criticality"), }), }; // Cloud tool handlers export async function handleCloudInfrastructureAnalysis(args: z.infer<typeof cloudInfrastructureAnalysisTool.inputSchema>) { return { content: [ { type: "text" as const, text: `Analyzing ${args.provider.toUpperCase()} infrastructure: ${args.configPath}\n\nConfiguration Type: ${args.configType}\n\nAnalysis Results:\n- Resource definitions: Validated\n- Dependencies: Mapped\n- Security: Reviewed\n- Best practices: Checked\n${args.checkCosts ? "\nCost Estimation:\n- Monthly estimated costs calculated\n- Resource optimization opportunities identified\n- Reserved instance recommendations" : ""}\n\nFindings:\n1. Resource configuration compliance\n2. Security group/firewall rules\n3. IAM permissions and roles\n4. Network topology\n5. Data storage and backup strategies\n\nRecommendations:\n- Infrastructure improvements\n- Security hardening\n- Cost optimization opportunities`, }, ], }; } export async function handleCloudSecurityAudit(args: z.infer<typeof cloudSecurityAuditTool.inputSchema>) { const compliance = args.complianceFramework ? `\n\nCompliance Framework: ${args.complianceFramework.toUpperCase()}\n- Framework requirements checked\n- Compliance gaps identified\n- Remediation steps provided` : ""; return { content: [ { type: "text" as const, text: `Security Audit: ${args.provider.toUpperCase()}\n\nResource Scope: ${args.resourceType}\n\nSecurity Review:\n1. IAM policies and permissions\n2. Encryption at rest and in transit\n3. Network security and isolation\n4. Logging and monitoring\n5. Secret management\n6. Access controls and authentication${compliance}\n\nFindings:\n- Security vulnerabilities identified\n- Misconfigurations detected\n- Best practice violations\n\nRecommendations:\n- Immediate security actions\n- Long-term security improvements\n- Compliance alignment steps`, }, ], }; } export async function handleCloudCostOptimization(args: z.infer<typeof cloudCostOptimizationTool.inputSchema>) { return { content: [ { type: "text" as const, text: `Cost Optimization Analysis: ${args.provider.toUpperCase()}\n\nAnalysis Scope: ${args.analysisScope}\nRecommendation Level: ${args.recommendationLevel}\n\nCost Optimization Opportunities:\n\n1. Right-sizing recommendations\n - Underutilized resources identified\n - Instance type optimization\n\n2. Reserved capacity planning\n - Reserved instance/commitment opportunities\n - Savings plan recommendations\n\n3. Storage optimization\n - Lifecycle policies\n - Storage class transitions\n - Unused volume cleanup\n\n4. Network optimization\n - Data transfer cost reduction\n - CDN opportunities\n\n5. Compute optimization\n - Spot/preemptible instance usage\n - Autoscaling configuration\n - Serverless migration opportunities\n\nEstimated Monthly Savings: Available based on current usage\nImplementation Priority: Ranked by impact and effort`, }, ], }; } export async function handleCloudMigrationPlanner(args: z.infer<typeof cloudMigrationPlannerTool.inputSchema>) { const strategy = args.migrationStrategy || "Recommended based on workload"; return { content: [ { type: "text" as const, text: `Cloud Migration Plan\n\nSource: ${args.sourceEnvironment}\nTarget: ${args.targetProvider.toUpperCase()}\nWorkload: ${args.workloadType}\nStrategy: ${strategy}\n\nMigration Assessment:\n\n1. Readiness Analysis\n - Dependencies mapped\n - Compatibility checked\n - Resource requirements estimated\n\n2. Migration Strategy\n - Phased approach recommended\n - Rollback plan included\n - Testing strategy defined\n\n3. Target Architecture\n - ${args.targetProvider.toUpperCase()} service mapping\n - Network design\n - Security configuration\n\n4. Migration Steps\n - Pre-migration preparation\n - Migration execution plan\n - Post-migration validation\n\n5. Considerations\n - Downtime requirements\n - Data synchronization\n - Cost implications\n - Training needs\n\nTimeline: Estimated based on workload complexity\nRisks: Identified with mitigation strategies`, }, ], }; } export async function handleCloudBestPractices(args: z.infer<typeof cloudBestPracticesLookupTool.inputSchema>) { const service = args.serviceType ? ` - ${args.serviceType}` : ""; return { content: [ { type: "text" as const, text: `${args.provider.toUpperCase()} Best Practices: ${args.topic}${service}\n\nKey Principles:\n\n1. Design for failure and resilience\n2. Implement security at every layer\n3. Optimize for cost and performance\n4. Use managed services where possible\n5. Automate operations and deployments\n\nSpecific Recommendations:\n\n- Architecture patterns for ${args.topic}\n- Service-specific guidelines\n- Monitoring and observability setup\n- Security hardening steps\n- Cost optimization tactics\n\nCommon Pitfalls:\n- Mistakes to avoid\n- Anti-patterns\n- Legacy approach transitions\n\nImplementation Guide:\n- Step-by-step recommendations\n- Example configurations\n- Reference architectures`, }, ], }; } export async function handleCloudDisasterRecovery(args: z.infer<typeof cloudDisasterRecoveryTool.inputSchema>) { const rto = args.rto ? `RTO: ${args.rto} hours` : "RTO: To be determined"; const rpo = args.rpo ? `RPO: ${args.rpo} hours` : "RPO: To be determined"; return { content: [ { type: "text" as const, text: `Disaster Recovery Plan: ${args.provider.toUpperCase()}\n\nCriticality: ${args.criticalityLevel}\n${rto}\n${rpo}\n\nDR Strategy:\n\n1. Backup Strategy\n - Automated backups configured\n - Retention policies defined\n - Backup testing schedule\n\n2. Replication\n - Cross-region replication\n - Data consistency guarantees\n - Failover mechanisms\n\n3. Recovery Procedures\n - Automated failover setup\n - Manual recovery steps documented\n - Testing and validation process\n\n4. Monitoring and Alerting\n - Health checks configured\n - Alert escalation paths\n - Dashboard for DR status\n\n5. ${args.provider.toUpperCase()}-Specific Services\n - Recommended DR services\n - Configuration examples\n - Cost considerations\n\nCompliance:\n- Data residency requirements\n- Regulatory compliance\n- Audit trail maintenance\n\nTesting Schedule:\n- Regular DR drills recommended\n- Documentation updates\n- Team training requirements`, }, ], }; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/clpi/clp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server