cloudscope-mcp
CloudScope MCP
AI에게 클라우드 청구서에 대해 물어보세요.
설치
Related MCP server: Azure FinOps Elite
기능
CloudScope는 AI 어시스턴트에게 Azure 비용 데이터에 대한 읽기 전용 액세스 권한을 제공합니다. 자연어를 통해 지출에 대해 질문하고, 이상 징후를 찾고, 최적화 권장 사항을 얻고, 다음 달 청구서를 예측할 수 있습니다.
지원되는 공급자
공급자 | 상태 |
Azure | ✅ 지원됨 |
GCP | 곧 출시 예정 |
AWS | AWS 공식 서버 사용 |
사전 요구 사항
Azure CLI 설치 및 로그인 (
az login)구독 ID (
az account show --query id -o tsv)구독에 대한 비용 관리 읽기 권한자(Cost Management Reader) 역할
구성
MCP 클라이언트 구성(claude_desktop_config.json, Cursor 설정 등)에 추가하세요:
{
"mcpServers": {
"cloudscope": {
"command": "npx",
"args": ["-y", "cloudscope-mcp"],
"env": {
"AZURE_SUBSCRIPTION_ID": "your-subscription-id"
}
}
}
}로컬 개발 시 서비스 주체(Service Principal)는 필요하지 않습니다. DefaultAzureCredential이 az login 세션을 자동으로 가져옵니다.
변수 | 설명 |
| Azure AD 테넌트 ID |
| 앱 등록 클라이언트 ID |
| 앱 등록 클라이언트 비밀 |
위의 env 블록에 AZURE_SUBSCRIPTION_ID와 함께 설정하세요.
도구
도구 | 설명 | 주요 매개변수 |
| 서비스, 그룹 또는 지역별 지출 내역 |
|
| 이전 기간 대비 지출 급증 탐지 |
|
| Azure Advisor 비용 최적화 제안 |
|
| 현재 추세를 기반으로 지출 예측 |
|
| 예산 상태, 현재 지출, 예상 초과액 | (없음) |
| 두 날짜 범위의 비용 비교 |
|
| 가장 비용이 많이 드는 개별 리소스 |
|
| 오늘 날짜 및 현재/이전 달 범위 | (없음) |
예시 프롬프트
"지난달 Azure 비용은 얼마였나요?"
"지난 7일 동안 리소스 그룹별 지출을 보여줘"
"이번 주에 비용 이상 징후가 있나요?"
"다음 달 Azure 비용은 얼마가 될까요?"
"비용 최적화 권장 사항을 보여줘"
"가장 지출이 많이 증가한 서비스는 무엇인가요?"
보안
CloudScope는 읽기 전용입니다. Azure 리소스를 생성, 수정 또는 삭제할 수 없습니다. 모든 API 호출은 쓰기 권한이 없는 비용 관리 읽기 권한자(Cost Management Reader) 권한을 사용합니다.
FAQ
Azure 리소스를 수정하나요? 아니요. 읽기 전용 액세스만 가능합니다.
서비스 주체가 필요한가요? 아니요. 로컬 사용 시에는 az login으로 충분합니다.
GCP는 어떻게 되나요? 곧 출시 예정입니다.
Azure 비용 관리 API는 유료인가요? 아니요. 무료입니다.
개발
git clone https://github.com/alexpota/cloudscope-mcp.git
cd cloudscope-mcp
npm install
npm run build
npm test
npx @modelcontextprotocol/inspector node dist/index.js라이선스
Available Tools
15 toolscheck_budgetsBudget StatusARead-onlyIdempotent
Check budget status: current spend vs limit, percentage used, forecast, and overage risk. For GCP, requires GCP_BILLING_ACCOUNT_ID to be set.
Inputs: provider.
compare_periodsCompare Cost PeriodsARead-onlyIdempotent
Compare costs between two date ranges, showing per-service absolute and percentage changes.
Inputs: period_a_start (required), period_a_end (required), period_b_start (required), period_b_end (required), +2 more.
detect_anomaliesDetect Cost AnomaliesARead-onlyIdempotent
Compares daily spending over the last N days against the prior N days to find cost spikes. Returns a list of services where spending increased above the threshold percentage, sorted by increase amount. Each entry includes service name, previous cost, current cost, percentage change, and absolute change in USD. Returns an empty list if no anomalies found. Use this when the user asks about unexpected cost increases, billing surprises, or wants to know if anything changed recently.
Inputs: provider, days, threshold.
find_idle_resourcesFind Idle ResourcesARead-onlyIdempotent
Finds cloud resources that are provisioned but not actively used — unattached disks, orphaned network interfaces, unused IPs, idle VMs, and empty compute plans. Returns each resource with its name, type, resource group/project, reason it is idle, and estimated monthly cost in USD. Returns an empty list if no idle resources are found. Use this when the user asks about waste, idle or unused resources, cleanup opportunities, or wants to find resources to delete to reduce costs.
Inputs: provider.
find_untagged_resourcesFind Untagged ResourcesARead-onlyIdempotent
Finds resources that have no tags or labels applied. Returns each resource with its name, type, resource group/project, and location. Untagged resources cannot be attributed to teams or projects, making cost allocation and chargeback impossible. Returns an empty list if all resources are tagged. Use this when the user asks about tagging compliance, governance, cost attribution gaps, or wants to identify resources that need tags or labels.
Inputs: provider.
get_cost_by_tagCost by TagARead-onlyIdempotent
Breaks down costs by a specific tag or label key such as team, environment, or project. Returns a sorted table with each tag value, cost in USD, and percentage of total. Includes a total row and daily average. Returns an error if the date range is invalid or no tagged costs exist. Use this when the user asks about costs per team, per environment, cost allocation, chargeback, or wants to understand spending by any custom tag or label.
Inputs: tag_key (required), provider, start_date, end_date.
get_cost_forecastCost ForecastARead-onlyIdempotent
Projects future cloud spending for the next N days using a linear trend based on the last 30 days of actual costs. Returns the forecast period dates, projected total cost in USD, average daily projected cost, and the confidence basis (number of historical days used). Use this when the user asks "how much will I spend this month", wants to predict upcoming bills, or needs to plan budgets. Returns an error if insufficient historical data exists.
Inputs: provider, days.
get_cost_summaryCloud Cost SummaryARead-onlyIdempotent
Returns a cost breakdown for a date range grouped by service, resource group, tag, or region. Defaults to current month if dates are omitted. Output includes a sorted table with each group name, cost in USD, and percentage of total. Includes a total row, daily average, and collapses groups beyond the top 10 into an "Other" row. Returns an error if the date range is invalid. Use this when the user asks "how much am I spending", "what costs the most", "show me my cloud bill", or wants a spending overview.
Inputs: provider, start_date, end_date, group_by.
get_cross_project_costsCross-Project Cost SummaryARead-onlyIdempotent
Returns a combined cost breakdown across multiple GCP projects sorted by total spend. Each project shows its name, total cost in USD, and percentage of the combined total. Use this when the user asks about costs across all GCP projects, wants to compare project spending, or needs an organization-wide cost overview.
Inputs: provider (required), project_ids, start_date, end_date.
get_cross_subscription_costsCross-Subscription Cost SummaryARead-onlyIdempotent
Returns a combined cost breakdown across multiple Azure subscriptions sorted by total spend. Each subscription shows its name, total cost in USD, and percentage of the combined total. Handles partial failures gracefully — if some subscriptions are inaccessible, returns results for the rest with a warning. Use this when the user asks about costs across all subscriptions, wants to compare subscription spending, or needs an organization-wide cost overview.
Inputs: provider (required), subscription_ids, start_date, end_date.
get_current_dateCurrent DateARead-onlyIdempotent
Returns today's date and the start/end of current and previous months in YYYY-MM-DD format
Inputs: no named parameters.
list_projectsList GCP ProjectsARead-onlyIdempotent
Returns all GCP projects the current credential can access, with name, ID, and state. Shows which project is currently active. Use this when the user has multiple GCP projects and wants to see which ones are available, or before calling get_cross_project_costs.
Inputs: provider (required).
list_recommendationsCost Optimization RecommendationsARead-onlyIdempotent
Fetches cost-saving recommendations filtered by category. Returns a list of recommendations each containing: title, category, impact level (high/medium/low), estimated annual savings in USD, affected resource ID, and a short description of the suggested action. Returns an empty list if no recommendations exist for the selected category. Use this when the user wants to reduce costs, find waste, or optimize resource usage.
Inputs: provider, category.
list_subscriptionsList Azure SubscriptionsARead-onlyIdempotent
Returns all Azure subscriptions the current credential can access, with name, ID, and state. Shows which subscription is currently active. Use this when the user has multiple subscriptions and wants to see which ones are available, or to confirm which subscription is being queried.
Inputs: provider (required).
top_spending_resourcesTop Spending ResourcesARead-onlyIdempotent
Find the N most expensive individual resources over a time period. On GCP, requires the detailed billing export for resource-level data.
Inputs: provider, days, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 15 tools
Most tools are clearly distinct by their focus (cost summary, tag breakdown, cross-project, anomalies, etc.). A minor potential confusion exists between get_cost_summary and get_cost_by_tag, but descriptions clarify the grouping dimension.
The majority of tools follow a verb_noun pattern (check_, compare_, detect_, find_, get_, list_). The exception is 'top_spending_resources' which uses a less standard verb form, but overall the pattern is consistent.
15 tools is well-scoped for a cloud cost management server, covering summary, breakdowns, forecasts, anomalies, optimization, and utilities without being overwhelming.
Core workflows are covered: cost review, forecast, anomalies, recommendations, and resource waste detection. Missing are write operations like budget creation or tagging, but the server appears read-only and covers its intended domain well.
Maintenance
Related MCP Connectors
Hosted MCP server for AWS cloud spend: service breakdowns, anomalies, savings and forecasts.
- Costory FinOps MCPDeprecatedio.costory
FinOps harness MCP: allocated cloud, data and LLM bills. Build on it or switch. Cloud read-only.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Cloudflare Workers MCP server: ai-cost-optimizer
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server for unified cost tracking and analysis across AWS, OpenAI, and Anthropic. It enables users to query expenditures, compare costs across providers, and analyze usage trends through natural language.10MIT
- AlicenseNot gradedqualityDmaintenanceProduction-grade MCP server for enterprise Azure cost optimization, enabling spend anomaly detection, multi-tenant auditing, budget validation, and compliance-aware recommendations.1MIT
- AlicenseNot gradedqualityDmaintenanceAnalyzes Azure cloud costs, audits for waste, and provides budget insights via natural language through a secure local MCP server.35 PyPI2MIT
- AlicenseAqualityBmaintenanceLocal-first FinOps MCP server. Ask about your AWS, Azure, GCP, and SaaS costs in plain English. Anomaly detection, rightsizing, idle-resource cleanup, and Jira/Linear ticketing. Credentials never leave your machine.1020Apache 2.0