Blog Post

FinOps Blog
13 MIN READ

A practitioner's guide to accelerating FinOps with GitHub Copilot and FinOps hubs

Brett_Wilson's avatar
Brett_Wilson
Icon for Microsoft rankMicrosoft
Jun 10, 2025

Learn how natural language queries transform FinOps analysis by integrating FinOps hubs with GitHub Copilot and the Azure MCP server without deep KQL expertise. Perform sophisticated cost analysis using plain English queries like "Show me anomalies in the last 30 days" or "What are our top costs by resource group?"

ℹ️ Quick implementation overview

Setup time: ~30 minutes for basic configuration
Target audience: FinOps practitioners, finance teams, engineering managers
Prerequisites: Azure subscription with FinOps hubs deployed, VS Code, GitHub Copilot
Key enabler: FinOps Hub Copilot v0.11 release

 

Key benefits

🎯 Democratized analytics
      Non-technical team members can perform advanced cost analysis without KQL expertise.

⚡ Faster insights
      Natural language eliminates query writing overhead and accelerates time-to-insights.

📋 FinOps Framework alignment
      All queries map directly to validated FinOps Framework capabilities.

🔒 Enterprise ready
      Built on proven FinOps hub data foundation with security and governance controls.

 

FinOps practitioners face a common challenge: bridging the gap between complex cost data and actionable business insights. While FinOps hubs provide a comprehensive, analytics-ready foundation aligned with the FinOps Framework, accessing and analyzing this data traditionally requires deep technical expertise in KQL and schema knowledge.

This guide demonstrates how to perform sophisticated cost analysis using natural language queries using GitHub Copilot in VS Code connected to FinOps hubs 0.11 via the Azure MCP server. This approach democratizes advanced analytics across FinOps teams, supporting faster decision-making and broader organizational adoption of FinOps practices.

ℹ️ Understanding the technology stack
The Model Context Protocol (MCP) is an open standard that enables AI agents to securely connect to external data sources and tools. The Azure MCP server is Microsoft's implementation that provides this connectivity specifically for Azure resources, while GitHub Copilot acts as the AI agent that translates your natural language questions into the appropriate technical queries.

Understanding the foundation: FinOps hubs and natural language integration

FinOps hubs serve as the centralized data platform for cloud cost management, providing unified cost and usage data across clouds, accounts, and tenants. The integration with GitHub Copilot through the Azure MCP server introduces a natural language interface that maps practitioner questions directly to validated KQL queries, eliminating the technical barrier that often limits FinOps analysis to specialized team members.

Note: The FinOps toolkit also includes Power BI reports, workbooks, alerts, and an optimization engine for advanced analytics and automation. See the FinOps toolkit overview for the full set of capabilities.

Key capabilities and technical foundation

ℹ️ About the FinOps toolkit ecosystem
The FinOps toolkit also includes Power BI reports, workbooks, and an optimization engine for advanced analytics and automation. See the FinOps toolkit overview for the full set of capabilities.

FinOps hubs provide several critical capabilities that enable practitioner success:

📊 Data foundation

  • Centralized cost and usage data across multiple cloud providers, billing accounts, and organizational units
  • Native alignment with the FinOps Framework domains and FOCUS specification
  • Analytics-ready data model optimized for performance at scale without complexity overhead

🔗 Integration capabilities

  • Multiple access patterns: Power BI integration, Microsoft Fabric compatibility, and direct KQL access for advanced scenarios
  • Natural language query interface through Azure MCP server integration with Copilot

⚙️ Technical architecture

The Azure MCP server acts as the translation layer, implementing the open Model Context Protocol to enable secure communication between AI agents (like GitHub Copilot) and Azure resources. For FinOps scenarios, it specifically provides natural language access to Azure Data Explorer databases containing FinOps hubs data, converting practitioner questions into validated KQL queries while maintaining enterprise authentication and security standards.

Mapping FinOps Framework capabilities to natural language queries

The integration supports the complete spectrum of FinOps Framework capabilities through natural language interfaces. Each query type maps to specific Framework domains and validated analytical patterns:

💡 Quick reference
Each prompt category leverages pre-validated queries from the FinOps hubs query catalog, ensuring consistent, accurate results across different practitioners and use cases.

🔍 Understand phase capabilities

CapabilityNatural language exampleBusiness value
Cost allocation and accountability"Show me cost allocation by team for Q1"Instant breakdown supporting chargeback discussions
Anomaly detection and management"Find any cost anomalies in the last 30 days"Proactive identification of budget risks
Reporting and analytics"What are our top resource types by spend?"Data-driven optimization focus areas

⚡ Optimize phase capabilities

CapabilityNatural language exampleBusiness value
Rate optimization"How much did we save with reservations last month?"Quantification of commitment discount value
Workload optimization"Show me underutilized resources"Resource efficiency identification
Governance enforcement"Show me resources without proper tags"Policy compliance gaps

📈 Operate phase capabilities

CapabilityNatural language exampleBusiness value
Forecasting and planning"Forecast next quarter's cloud costs"Proactive budget planning support
Performance tracking"Show month-over-month cost trends"Operational efficiency measurement
Business value quantification"Calculate our effective savings rate"ROI demonstration for stakeholders

Practical implementation: Real-world scenarios and results

The following examples demonstrate how natural language queries translate to actionable FinOps insights. Each scenario includes the business context, Framework alignment, query approach, and interpretable results to illustrate the practical value of this integration.

ℹ️ Sample data notation
All cost figures, dates, and resource names in the following examples are illustrative and provided for demonstration purposes. Actual results will vary based on your organization's Azure usage, billing structure, and FinOps hub configuration.

Effective cost allocation and accountability

FinOps Framework alignment
Domain: Understand usage and cost
Capabilities: AllocationReporting and analytics

Business context
Finance teams require accurate cost allocation data to support budget planning and accountability discussions across organizational units.

Natural language query

What are the top resource groups by cost last month?

Query results and business impact

The natural language prompt maps to a validated allocation query that aggregates effective cost by resource group, providing the foundational data for chargeback and showback processes.

Resource groupEffective cost
haven$36,972.85
leap$15,613.96
ahbtest$6,824.54
vnet-hub-001$1,560.13
......

🎯 Key takeaway
Natural language queries eliminate the need for complex KQL knowledge while maintaining data accuracy. Finance teams can now perform sophisticated cost allocation analysis without technical barriers.

Learn more: Introduction to cost allocation

Proactive cost anomaly detection and management

FinOps Framework alignment
Domain: Understand usage and cost
Capabilities: Anomaly managementReporting and analytics

Business context
Proactive anomaly detection enables rapid response to unexpected cost changes, supporting budget adherence and operational efficiency.

Natural language query

Are there any unusual cost spikes or anomalies in the last 12 months?

Query results and business impact

The system applies time series analysis to identify significant cost deviations, automatically calculating percentage changes and flagging potential anomalies for investigation.

DateDaily cost% change vs previous day
2025-06-03$971.36-59.54%
2025-06-01$2,370.16-4.38%
2025-04-30$2,302.10-5.56%
2025-04-02$2,458.45+5.79%
.........

⚠️ Warning: Analysis insight
The 59% cost reduction on June 3rd indicates a significant operational change, such as workload migration or resource decommissioning, requiring validation to ensure expected behavior.

 

🎯 Key takeaway

Automated anomaly detection enables proactive cost management by identifying unusual spending patterns before they impact budgets, supporting rapid response to operational changes.

Learn more: Anomaly management

Accurate financial forecasting and budget planning

FinOps Framework alignment
Domain: Quantify business value
Capabilities: ForecastingPlanning and estimating

Business context
Accurate financial forecasting supports budget planning processes and enables proactive capacity and cost management decisions.

Natural language query

Forecast total cloud cost for the next 90 days based on the last 12 months.

Query results and business impact

The forecasting algorithm analyzes historical spending patterns and applies trend analysis to project future costs, providing both daily estimates and aggregate totals for planning purposes.

DateForecasted cost
2025-06-04$2,401.61
2025-07-01$2,401.61
2025-08-01$2,401.61
2025-09-01$2,401.61
......

Total forecasted 90-day spend: $216,145.24

🎯 Key takeaway
Natural language forecasting queries provide accurate financial projections based on validated historical analysis, enabling confident budget planning without requiring data science expertise.

Learn more: Forecasting

Reporting and analytics capabilities

FinOps Framework alignment
Domain: Understand usage and cost
Capabilities: Reporting and analytics

Business context
Executive reporting requires consistent, reliable cost trend analysis to support strategic decision-making and budget performance tracking.

Natural language query

Show monthly billed and effective cost trends for the last 12 months.

Query results and business impact

MonthBilled costEffective cost
2024-06$46,066.39$46,773.85
2024-07$72,951.41$74,004.08
2024-08$73,300.31$74,401.81
2024-09$71,886.30$72,951.26
.........

Learn more: Reporting and analytics

Resource optimization analysis

FinOps Framework alignment
Domain: Optimize usage and cost
Capabilities: Workload optimizationReporting and analytics

Business context
Prioritizing optimization efforts requires understanding which resource types drive the most cost, enabling focused improvement initiatives with maximum business impact.

Natural language query

What are the top resource types by cost last month?

Query results and business impact

Resource typeEffective cost
Fabric Capacity$34,283.52
Virtual machine scale set$15,155.59
SQL database$2,582.99
Virtual machine$2,484.34
......

Learn more: Workload optimization

Implementation methodology

This section provides a systematic approach to implementing natural language FinOps analysis using the technical foundation established above.

Prerequisites and environment validation

Before proceeding with implementation, ensure you have:

✅ Azure subscription with appropriate FinOps hub deployment permissions
✅ Node.js runtime environment (required by Azure MCP Server)
✅ Visual Studio Code with GitHub Copilot extension
✅ Azure CLI, Azure PowerShell, or Azure Developer CLI authentication configured

Access validation methodology

Step 1: Verify FinOps hub deployment

Confirm hub deployment status and data ingestion through the FinOps hubs setup guide

Step 2: Validate database access

Test connectivity to the hub database using Azure Data Explorer web application or Azure portal

Step 3: Confirm schema availability

Verify core functions (Costs, Prices) and databases (Hub, Ingestion) are accessible with current data

Expected Database Structure

  • Hub database: Public-facing functions including Costs, Prices, and version-specific functions (e.g., Costs_v1_0)
  • Ingestion database: Raw data tables, configuration settings (HubSettings, HubScopes), and open data tables (PricingUnits)
  • FOCUS-aligned data: All datasets conform to FinOps Open Cost and Usage Specification standards

Learn more: FinOps hubs template details

Azure MCP server configuration

ℹ️ What is Azure MCP Server?
The Azure Model Context Protocol (MCP) server is a Microsoft-provided implementation that enables AI agents and clients to interact with Azure resources through natural language commands. It implements the open Model Context Protocol standard to provide secure, structured access to Azure services including Azure Data Explorer (FinOps hub databases).

Key capabilities and service support

The Azure MCP server provides comprehensive Azure service integration, particularly relevant for FinOps analysis:

🔍 FinOps-relevant services

  • Azure Data Explorer: Execute KQL queries against FinOps hub databases
  • Azure Monitor: Query logs and metrics for cost analysis
  • Resource groups: List and analyze organizational cost structures
  • Subscription management: Access subscription-level cost data

🔧 Additional Azure services

Installation methodology

The Azure MCP Server is available as an NPM package and VS Code extension. For FinOps scenarios, we recommend the VS Code extension approach for seamless integration with GitHub Copilot.

Option 1: VS Code extension (recommended)

  1. Install the Azure MCP server extension from VS Code Marketplace
  2. The extension automatically configures the server in your VS Code settings
  3. Open GitHub Copilot and activate Agent Mode to access Azure tools

Option 2: Manual configuration

Add the following to your MCP client configuration:

{
  "servers": {
    "Azure MCP Server": {
      "command": "npx",
      "args": ["-y", "@azure/mcp@latest", "server", "start"]
    }
  }
}

Authentication requirements

Azure MCP Server uses Entra ID through the Azure Identity library, following Azure authentication best practices. It supports:

  • Azure CLI: az login (recommended for development)
  • Azure PowerShell: Connect-AzAccount
  • Azure Developer CLI: azd auth login
  • Managed identity: For production deployments

The server uses DefaultAzureCredential and automatically discovers the best available authentication method for your environment.

Technical validation steps

Step 1: Authentication verification

Confirm successful login to supported Azure tools

Step 2: Resource discovery

Validate MCP Server can access your Azure subscription and FinOps hub resources

Step 3: Database connectivity

Test query execution against FinOps hub databases

Integration with development environment

VS Code configuration requirements:

The FinOps Hub Copilot v0.11 release provides pre-configured GitHub Copilot instructions specifically tuned for FinOps analysis. This release includes:

  • AI agent instructions optimized for FinOps Framework capabilities
  • GitHub Copilot configuration files for VS Code Agent Mode
  • Validated query patterns mapped to common FinOps scenarios
  • Azure MCP Server integration guides for connecting to FinOps hub data

Verification methodology:

  1. Open Copilot Chat interface (Ctrl+Shift+I / Cmd+Shift+I)
  2. Activate Agent Mode and select tools icon to verify Azure MCP Server availability
  3. Execute connectivity test: "What Azure resources do I have access to?"

Expected response validation:

  • Successful authentication confirmation
  • Azure subscription and resource enumeration
  • FinOps hub database connectivity status

Progressive query validation

Foundational test queries:

Complexity levelValidation queryExpected behavior
Basic"Show me total cost for last month"Single aggregate value with currency formatting
Intermediate"What are my top 10 resource groups by cost?"Tabular results with proper ranking
Advanced"Find any costs over $1000 in the last week"Filtered results with anomaly identification

Query execution validation:

  • KQL translation accuracy against FinOps hub schema
  • Result set formatting and data type handling
  • Error handling and user feedback mechanisms

Operational best practices for enterprise implementation

Query optimization and performance considerations

Data volume management:

  • Implement temporal filtering to prevent timeout scenarios (Azure Data Explorer 64MB result limit)
  • Use summarization functions for large datasets rather than detailed row-level analysis
  • Apply resource-level filters when analyzing specific environments or subscriptions

Schema consistency validation:

  • Reference the FinOps hub database guide for authoritative column definitions
  • Verify data freshness through ingestion timestamp validation
  • Validate currency normalization across multi-subscription environments

Query pattern optimization:

  • Leverage the FinOps hub query catalog for validated analytical patterns
  • Customize costs-enriched-base query foundation for organization-specific requirements
  • Implement proper time zone handling for global operational environments

Security and access management

Authentication patterns:

  • Utilize Azure CLI integrated authentication for development environments
  • Implement service principal authentication for production automation scenarios
  • Maintain principle of least privilege for database access permissions

Data governance considerations:

  • Ensure compliance with organizational data classification policies
  • Implement appropriate logging for cost analysis queries and results
  • Validate that natural language prompts don't inadvertently expose sensitive financial data

Comprehensive query patterns by analytical domain

The following reference provides validated natural language prompts mapped to specific FinOps Framework capabilities and proven KQL implementations.

Technical note: Each pattern references validated queries from the FinOps hub query catalog. Verify schema compatibility using the FinOps hub database guide before implementation.

Cost visibility and allocation patterns

Analytical requirementFinOps Framework alignmentValidated natural language query
Executive cost trend reportingReporting and analytics"Show monthly billed and effective cost trends for the last 12 months."
Resource group cost rankingAllocation"What are the top resource groups by cost last month?"
Quarterly financial reportingAllocation / Reporting and analytics"Show quarterly cost by resource group for the last 3 quarters."
Service-level cost analysisReporting and analytics"Which Azure services drove the most cost last month?"
Organizational cost allocationAllocation / Reporting and analytics"Show cost allocation by team and product for last quarter."

Optimization and efficiency patterns

Analytical requirementFinOps Framework alignmentValidated natural language query
Resource optimization prioritizationWorkload optimization"What are the top resource types by cost last month?"
Commitment discount analysisRate optimization"Show reservation recommendations and break-even analysis for our environment."
Underutilized resource identificationWorkload optimization"Find resources with low utilization that could be optimized or decommissioned."
Savings plan effectivenessRate optimization"How much did we save with savings plans compared to pay-as-you-go pricing?"
Tag compliance monitoringData ingestion"Show me resources without required cost center tags."

Anomaly detection and monitoring patterns

Analytical requirementFinOps Framework alignmentValidated natural language query
Cost spike identificationAnomaly management"Find any unusual cost spikes or anomalies in the last 30 days."
Budget variance analysisBudgeting"Show actual vs. budgeted costs by resource group this quarter."
Trending analysisReporting and analytics"Identify resources with consistently increasing costs over the last 6 months."
Threshold monitoringAnomaly management"Alert me to any single resources costing more than $5,000 monthly."

Governance and compliance patterns

Analytical RequirementFinOps Framework AlignmentValidated Natural Language Query
Policy compliance validationPolicy and governance"Show resources that don't comply with our tagging policies."
Approved service usagePolicy and governance"List any non-approved services being used across our subscriptions."
Regional compliance monitoringPolicy and governance"Verify all resources are deployed in approved regions only."
Cost center accountabilityInvoicing and chargeback"Generate chargeback reports by cost center for last quarter."

Key takeaway: These validated query patterns provide a comprehensive foundation for FinOps analysis across all Framework capabilities. Use them as templates and customize for your organization's specific requirements.

Troubleshooting and optimization guidance

Common query performance issues

⚠️ Warning: Performance considerations
Azure Data Explorer has a 64MB result limit by default. Proper query optimization avoids timeouts and ensures reliable performance. If using Power BI, use DirectQuery to connect to your data.

Large dataset timeouts

Symptom: Queries failing with timeout errors on large datasets

Solution: Add temporal filters

✅ Recommended: "Show costs for last 30 days" ❌ Avoid: "Show all costs"

Framework alignment: Data ingestion

Memory limit exceptions

Symptom: Exceeding Azure Data Explorer 64MB result limit

Solution: Use aggregation functions

✅ Recommended: "Summarize costs by month" ❌ Avoid: Daily granular data for large time periods

Best practice: Implement progressive drill-down from summary to detail

Schema validation errors

Symptom: Queries returning empty results or unexpected columns

Solution: Verify hub schema version compatibility using the database guide

Validation: Test with known queries from the query catalog

Query optimization best practices

Temporal filtering

✅ Recommended: "Show monthly costs for Q1 2025" ❌ Avoid: "Show all historical costs by day"

Aggregation-first approach

✅ Recommended: "Top 10 resource groups by cost" ❌ Avoid: "All resources with individual costs"

Multi-subscription handling

✅ Recommended: "Costs by subscription for production environment" ❌ Avoid: "All costs across all subscriptions without filtering"

Conclusion

The integration of FinOps hubs with natural language querying through GitHub Copilot and Azure MCP Server represents a transformative advancement in cloud financial management accessibility. By eliminating technical barriers traditionally associated with cost analysis, this approach enables broader organizational adoption of FinOps practices while maintaining analytical rigor and data accuracy.

Key takeaways for implementation success

Foundation building

Start with the basics:

  • Ensure robust FinOps hub deployment with clean, consistent data ingestion
  • Validate authentication and connectivity before advancing to complex scenarios
  • Begin with basic queries and progressively increase complexity as team familiarity grows

Business value focus

Align with organizational needs:

  • Align query patterns with organizational FinOps maturity and immediate business needs
  • Prioritize use cases that demonstrate clear ROI and operational efficiency gains
  • Establish feedback loops with finance and business stakeholders to refine analytical approaches

Scale and governance planning

Design for enterprise success:

  • Implement appropriate access controls and data governance from the beginning
  • Design query patterns that perform well at organizational scale
  • Establish monitoring and alerting for cost anomalies and policy compliance

Future considerations

As natural language interfaces continue to evolve, organizations should prepare for enhanced capabilities including:

🔮 Advanced analytics

  • Multi-modal analysis: Integration of cost data with performance metrics, compliance reports, and business KPIs
  • Predictive analytics: Advanced forecasting and scenario modeling through conversational interfaces

🤖 Automated intelligence

  • Automated optimization: Natural language-driven resource rightsizing and commitment recommendations
  • Cross-platform intelligence: Unified analysis across cloud providers, SaaS platforms, and on-premises infrastructure

 

The democratization of FinOps analytics through natural language interfaces positions organizations to make faster, more informed decisions about cloud investments while fostering a culture of cost consciousness across all teams. Success with this integration requires both technical implementation excellence and organizational change management to maximize adoption and business impact.

Learn more about the FinOps toolkit and stay updated on new capabilities at the FinOps toolkit website.

Updated Jun 09, 2025
Version 1.0
No CommentsBe the first to comment