Skip to main content
Glama

Fabric MCP Agent

by yingkiat

fabric-mcp-agent

🆕 Enhanced MVP with Multi-Stage Intelligence - A complete two-layer system combining an MCP-compliant server with advanced multi-stage agentic AI reasoning for Microsoft Fabric Data Warehouse access.

🎯 MVP Status: ENHANCED

🆕 Major Update: Now features intelligent multi-stage execution with discovery → analysis → evaluation workflows for complex business intelligence queries.

🔷 Architecture Overview

Layer 1: Fabric DW MCP Server

Standards-compliant MCP server with 4 complete tools providing clean abstractions over Fabric Data Warehouse operations with full Azure AD authentication.

Layer 2: 🆕 Multi-Stage Agentic Reasoning Engine

Advanced intelligent system with 3 execution strategies:

  • Single-Stage: Simple queries → Standard tool chain
  • 🆕 Multi-Stage: Complex queries → Discovery → Analysis → Evaluation
  • 🆕 Iterative: Advanced queries → Refinement loops (future)

🆕 Separation of Concerns Architecture:

  • Intent Templates: Domain-agnostic execution patterns (agentic_layer/prompts/intent/)
  • Persona Modules: Business domain expertise (agentic_layer/prompts/personas/)
  • Runtime Integration: Dynamic combination for context-aware execution

🚀 Production Features

✅ Complete MCP Tools

  • run_sql_query: Execute SQL from natural language questions or direct SQL with full error handling
  • get_metadata: Retrieve comprehensive table schemas, sample data, and relationships
  • summarize_results: Generate business-friendly summaries with actionable insights
  • generate_visualization: Create formatted data tables and chart configurations

🆕 Advanced Multi-Stage Intelligence

  • Intelligent Execution Strategy: Automatic selection between single-stage and multi-stage workflows
  • 🆕 3-Stage Discovery Process: Discovery → Analysis → Evaluation with AI-driven transitions
  • 🆕 Domain-Agnostic Templates: Reusable execution patterns that work across all business domains
  • 🆕 Persona-Driven Context: Business expertise modules for domain-specific knowledge
  • 🆕 Pure Business Analysis: Stage 3 provides structured insights without SQL execution
  • Enhanced JSON Parsing: Robust handling of complex business responses with intelligent fallbacks
  • Azure OpenAI Caching: Automatic response optimization for repeated queries

✅ Enterprise Features

  • 🆕 Token Usage Optimization: Data compression reducing token usage by 50-80%
  • 🆕 Session-Based Logging: Complete session traces in logs/sessions/ for easy debugging
  • Performance Monitoring: Real-time cost tracking and compression statistics
  • Error Tracking: Full error context with automated recovery mechanisms
  • Security: Azure AD authentication with read-only database access

🔄 🆕 Multi-Stage Execution Flow

Enhanced intelligent query processing with adaptive execution strategies:

Single-Stage Flow (Simple Queries)

User: "Show me specifications for MRH-011C" ↓ Intent Classification → Single-Stage Strategy ↓ Load Persona: product_planning.md ↓ SQL Generation + Execution → Results

🆕 Multi-Stage Flow (Complex Queries)

User: "Replace BD Luer-Lock Syringe 2.5mL with equivalent domestic product and pricing" ↓ Intent Classification → Multi-Stage Strategy + spt_sales_rep persona ↓ Stage 1: Discovery Template: stage1_discovery.md + Persona Context → Find candidate products matching criteria ↓ AI Intermediate Processing → Analyze Stage 1 results → Select best matches ↓ Stage 2: Analysis Template: stage2_analysis.md + Selected Candidates → Get detailed pricing and specifications ↓ Stage 3: Evaluation Template: stage3_evaluation.md + All Previous Data → Pure business analysis (NO SQL) → Structured insights

🆕 Key Innovation: Domain-agnostic templates + business personas = context-aware execution

📋 API Endpoints

MCP Standard Endpoints

  • GET /list_tools - Returns all available MCP tools with schemas
  • POST /call_tool - Execute specific MCP tool with arguments

Agentic Intelligence Endpoint

  • POST /mcp - Full agentic reasoning with intent classification and tool chaining

🧪 Quick Start & Testing

1. Start the Server

python main.py

(Ensure .env is configured with Azure credentials)

2. Test MCP Tools Discovery

curl http://localhost:8000/list_tools

3. Test Individual MCP Tools

# Get table metadata curl -X POST http://localhost:8000/call_tool -H "Content-Type: application/json" \ -d '{"tool": "get_metadata", "args": {"table_name": "JPNPROdb_ps_mstr"}}' # Execute SQL query curl -X POST http://localhost:8000/call_tool -H "Content-Type: application/json" \ -d '{"tool": "run_sql_query", "args": {"question": "Show me active products"}}'
# Simple query (single-stage execution) curl -X POST http://localhost:8000/mcp -H "Content-Type: application/json" \ -d '{"question": "tell me the components in MRH-011C"}' # 🆕 Complex query (multi-stage execution) curl -X POST http://localhost:8000/mcp -H "Content-Type: application/json" \ -d '{"question": "Replace BD Luer-Lock Syringe 2.5mL with equivalent domestic product and pricing"}' # 🆕 Multi-stage product analysis curl -X POST http://localhost:8000/mcp -H "Content-Type: application/json" \ -d '{"question": "Analyze components and pricing for MRH-011C and recommend optimization opportunities"}'

5. 🆕 Session Debugging & Monitoring

# View recent session logs with optimization stats python view_session.py # View detailed session trace (compression, tokens, cost) python view_session.py 1 # List all session files ls logs/sessions/

6. Access the Web UI

# Open your browser and visit: http://localhost:8000

🎯 🆕 Enhanced Response Examples

Single-Stage Response (Simple Query)

{ "classification": { "intent": "product_specification_lookup", "persona": "product_planning", "execution_strategy": "single_stage", "confidence": 0.95 }, "tool_chain_results": { "run_sql_query": {"results": [...]}, "summarize_results": {...} }, "final_response": "**Product MRH-011C specifications:**..." }

🆕 Multi-Stage Response (Complex Query)

{ "classification": { "intent": "competitive_replacement_analysis", "persona": "spt_sales_rep", "execution_strategy": "multi_stage", "confidence": 0.92 }, "tool_chain_results": { "stage1_query": {"results": [...]}, "intermediate_analysis": {"selected_items": ["08-139-NPR"]}, "stage2_query": {"results": [...]}, "stage3_evaluation": { "business_answer": "Equivalent product identified: 08-139-NPR...", "key_findings": ["22-37% cost savings", "Multiple kit options"], "recommended_action": "Recommend 08-139-NPR as primary replacement...", "confidence": "high" } }, "final_response": "**Equivalent products identified with 22-37% cost savings...**" }

🌐 🆕 Enhanced Production Web UI

  • 🆕 Multi-Stage Result Rendering: Structured business analysis display with confidence indicators
  • 🆕 Business Analysis Section: Clear presentation of Stage 3 evaluation with findings and recommendations
  • 🆕 Progressive Disclosure: Primary insights first, detailed data on demand
  • 🆕 Smart Result Detection: Automatic detection of single-stage vs multi-stage responses
  • Enhanced Data Tables: Interactive SQL results with sortable columns and hover effects
  • Prompt Management: Live editing of persona modules with automatic backup
  • Real-time Testing: All execution strategies accessible through responsive interface
  • Quick Test Buttons: Pre-built queries for both simple and complex business scenarios

Configuration

The server requires the following environment variables in a .env file located in the project root:

VariableDescription
FABRIC_SQL_SERVERFully qualified Fabric Data Warehouse server hostname
FABRIC_SQL_DATABASETarget database name in Fabric
AZURE_CLIENT_IDAzure Service Principal client ID (for AAD authentication)
AZURE_CLIENT_SECRETAzure Service Principal secret
AZURE_TENANT_IDAzure tenant (directory) ID
AZURE_OPENAI_KEYAPI key for your Azure OpenAI deployment
AZURE_OPENAI_ENDPOINTEndpoint URL for Azure OpenAI (e.g., https://xxxx.openai.azure.com)
AZURE_OPENAI_DEPLOYMENTDeployment name (e.g., "gpt-4o")

Sample .env

FABRIC_SQL_SERVER=jzd3bvvlcs5udln5rq47r4qvqi-qdrgdhglbgcezlr5igxskwv6ki.datawarehouse.fabric.microsoft.com FABRIC_SQL_DATABASE=unified_data_warehouse AZURE_CLIENT_ID=<your-azure-service-principal-client-id> AZURE_CLIENT_SECRET=<your-azure-service-principal-secret> AZURE_TENANT_ID=<your-azure-tenant-id> AZURE_OPENAI_KEY=<your-azure-openai-key> AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com AZURE_OPENAI_DEPLOYMENT=gpt-4o

📊 🆕 Enhanced Performance Monitoring

🆕 Multi-Stage Performance Analysis

Current Baseline: 40.7s total execution time

StageDurationOperationsOptimization Target
Intent Classification3.4s (8.3%)LLM routingCaching patterns
Stage 1: Discovery14.4s (35.4%)SQL generation + execution50%+ reduction
Stage 2: Analysis15.7s (38.5%)SQL generation + execution50%+ reduction
Stage 3: Evaluation7.1s (17.4%)Pure LLM analysisPrompt optimization

Real-time Dashboard

python performance_dashboard.py

🆕 Enhanced Metrics Output

MCP AGENT PERFORMANCE DASHBOARD - MULTI-STAGE ANALYTICS ================================================================================ EXECUTION STRATEGY BREAKDOWN Single-Stage Queries: 60% (avg 12.8s) Multi-Stage Queries: 40% (avg 40.7s) STAGE-LEVEL PERFORMANCE Stage 1 Discovery: 14.4s avg Stage 2 Analysis: 15.7s avg Stage 3 Evaluation: 7.1s avg SQL Operations: 74% of total time OPTIMIZATION OPPORTUNITIES High Impact: SQL generation caching (60-70% reduction potential) Medium Impact: Parallel processing (20-30% reduction)

🚀 🆕 Enhanced Production Deployment

This enhanced MVP is ready for production deployment with:

  • 🆕 Multi-stage intelligent execution with adaptive strategy selection
  • 🆕 Structured business analysis with confidence indicators and recommendations
  • 🆕 Domain-agnostic architecture for rapid business domain expansion
  • 🆕 Enhanced UI rendering with progressive disclosure and business insights
  • ✅ Full error handling and recovery with intelligent JSON parsing fallbacks
  • ✅ Comprehensive logging and monitoring with stage-level performance analytics
  • ✅ Performance optimization with AI caching and clear optimization roadmap
  • ✅ Security best practices implemented
  • ✅ Scalable architecture for extension

📚 🆕 Comprehensive Documentation

🎯 Ready for Enterprise: Complete documentation, performance analysis, and optimization roadmap for production scaling.

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Enables natural language querying of Microsoft Fabric Data Warehouses with intelligent SQL generation, metadata exploration, and business-friendly result summarization. Features two-layer architecture with MCP-compliant server and agentic AI reasoning for production-ready enterprise data access.

  1. 🎯 MVP Status: ENHANCED ✅
    1. 🔷 Architecture Overview
      1. Layer 1: Fabric DW MCP Server
      2. Layer 2: 🆕 Multi-Stage Agentic Reasoning Engine
    2. 🚀 Production Features
      1. ✅ Complete MCP Tools
      2. ✅ 🆕 Advanced Multi-Stage Intelligence
      3. ✅ Enterprise Features
    3. 🔄 🆕 Multi-Stage Execution Flow
      1. Single-Stage Flow (Simple Queries)
      2. 🆕 Multi-Stage Flow (Complex Queries)
    4. 📋 API Endpoints
      1. MCP Standard Endpoints
      2. Agentic Intelligence Endpoint
    5. 🧪 Quick Start & Testing
      1. 1. Start the Server
      2. 2. Test MCP Tools Discovery
      3. 3. Test Individual MCP Tools
      4. 4. 🆕 Test Multi-Stage Intelligence (Recommended)
      5. 5. 🆕 Session Debugging & Monitoring
      6. 6. Access the Web UI
    6. 🎯 🆕 Enhanced Response Examples
      1. Single-Stage Response (Simple Query)
      2. 🆕 Multi-Stage Response (Complex Query)
    7. 🌐 🆕 Enhanced Production Web UI
      1. Configuration
        1. Sample .env
      2. 📊 🆕 Enhanced Performance Monitoring
        1. 🆕 Multi-Stage Performance Analysis
        2. Real-time Dashboard
        3. 🆕 Enhanced Metrics Output
      3. 🚀 🆕 Enhanced Production Deployment
        1. 📚 🆕 Comprehensive Documentation

          Related MCP Servers

          • A
            security
            F
            license
            A
            quality
            Enables interaction with the Metal Framework by providing documentation search and code generation capabilities using natural language queries.
            Last updated -
            2
            2
          • -
            security
            A
            license
            -
            quality
            Facilitates interaction with Microsoft SQL Server Express, supporting database operations such as querying, table management, and schema inspection via natural language MCP commands.
            Last updated -
            4
            MIT License
          • -
            security
            F
            license
            -
            quality
            A FastMCP server that provides natural language interaction with MS SQL databases, enabling users to query data, list tables, describe structures, and execute database operations through a conversational AI interface.
            Last updated -
          • -
            security
            F
            license
            -
            quality
            A Python-based MCP server that enables interaction with Microsoft Fabric APIs for managing workspaces, lakehouses, warehouses, and tables through natural language.
            Last updated -
            11
            • Linux
            • Apple

          View all related MCP servers

          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/yingkiat/mcp_fabric_server'

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