🌂 Umbrella MCP Server
A Model Context Protocol (MCP) server that provides read-only access to the Umbrella Cost finops SaaS platform. This server enables natural language querying of your cloud cost and usage data through LLM clients.
🚀 Features
- 🔐 Secure Authentication: Support for both MSP and Direct customer accounts
- 📊 Cost Analysis: Query cost and usage data across AWS, Azure, and GCP
- 🎯 Cost Optimization: Access recommendations and savings opportunities
- 🚨 Anomaly Detection: Monitor cost spikes and unusual spending patterns
- 💰 Budget Management: Track budgets and alerts
- 📈 Resource Analytics: Analyze EC2, S3, RDS, and Kubernetes costs
- 🏢 Multi-Tenant Support: MSP customer management capabilities
- 🔍 Read-Only Access: Safe querying without risk of data modification
📋 Prerequisites
- Node.js 18+ and npm
- Valid Umbrella Cost account credentials
- MCP-compatible client (Claude Desktop, etc.)
⚡ Quick Start
1. Install Dependencies
npm install
2. Build the Server
npm run build
3. Test the Server
npm run test-runner
4. Run the MCP Server
npm start
# or for development
npm run dev
🔧 Configuration
Environment Variables
Create a .env file with:
# API Base URL (defaults to https://api.umbrellacost.io/api/v1)
UMBRELLA_API_BASE_URL=https://api.umbrellacost.io/api/v1
# Server Configuration
MCP_SERVER_NAME=Umbrella MCP
MCP_SERVER_VERSION=1.0.0
Test Credentials
For testing and validation, use these provided credentials:
MSP Customer:
- Username:
elisha@umbrellacost.cloud - Password:
6K2UX6DoYSgV%E
Direct Customer:
- Username:
elisha@umbrellacost.net - Password:
G37oi57Kp@cNzx
Usage
Authentication
Before making any API calls, authenticate with your Umbrella Cost credentials:
// Using the authenticate tool
authenticate(username="your-email@domain.com", password="your-password")
Test Credentials
For testing and demonstration, you can use these provided credentials:
MSP Customer:
- Username:
elisha@umbrellacost.cloud - Password:
6K2UX6DoYSgV%E
Direct Customer:
- Username:
elisha@umbrellacost.net - Password:
G37oi57Kp@cNzx
Available Tools
The MCP server provides the following tools:
Core Tools
authenticate- Authenticate with Umbrella Cost APIlist_endpoints- List all available API endpointshelp- Get help and usage information
API Endpoint Tools
All Umbrella Cost API endpoints are available as tools with the prefix api_. For example:
api__invoices_caui- Get cost and usage dataapi__usage_rds_instance_costs- Get RDS instance costsapi__recommendations- Get cost optimization recommendationsapi__budgets- Get budget informationapi__anomaly_detection- Get cost anomaly detection results
Example Queries
Once connected to an LLM client, you can ask natural language questions like:
- "Show me my AWS costs for the last 30 days"
- "What are my biggest cost optimization opportunities?"
- "Which RDS instances are costing the most?"
- "Are there any cost anomalies I should be aware of?"
- "What's my current budget status?"
- "Show me my Kubernetes cluster costs"
API Categories
The server organizes endpoints into the following categories:
Cost Analysis
- Cost and usage data retrieval
- Service cost breakdowns
- Historical cost trends
Usage Analysis
- RDS instance costs
- S3 bucket costs
- Resource utilization data
Resource Explorer
- Resource-level cost breakdown
- Resource operations data
Dashboards
- Dashboard configurations
- Custom dashboard data
Budget Management
- Budget tracking
- Budget alerts and notifications
Recommendations
- Cost optimization suggestions
- Right-sizing recommendations
Anomaly Detection
- Cost anomaly identification
- Unusual spending patterns
Commitment Analysis
- Reserved instances analysis
- Savings plans utilization
Kubernetes
- Container cost analysis
- Cluster cost breakdown
User Management
- User information
- Customer management (MSP)
Development
Building
npm run build
Development Mode
npm run dev
Type Checking
npm run type-check
Linting
npm run lint
Security
- Read-Only Access: The MCP server only provides read access to prevent accidental modifications
- Credential Security: Authentication credentials are only used to obtain tokens and are not stored
- Token-Based: All API requests use secure authentication tokens
- Rate Limiting: Respects Umbrella Cost API rate limits
Error Handling
The server provides comprehensive error handling for:
- Authentication failures
- Network connectivity issues
- API rate limiting
- Invalid parameters
- Permission errors
Support
For issues and questions:
- Check the built-in help: Use the
helptool with topics likeauthentication,endpoints, orparameters - Review the API documentation at Umbrella Cost
- Contact your Umbrella Cost support team
License
Copyright © 2024 Umbrella Cost. All rights reserved.
