Skip to main content
Glama
yingkiat
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.

Related MCP server: SQL Server Express MCP Server

๐Ÿ”ท 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"}}'

4. ๐Ÿ†• Test Multi-Stage Intelligence (Recommended)

# 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:

Variable

Description

FABRIC_SQL_SERVER

Fully qualified Fabric Data Warehouse server hostname

FABRIC_SQL_DATABASE

Target database name in Fabric

AZURE_CLIENT_ID

Azure Service Principal client ID (for AAD authentication)

AZURE_CLIENT_SECRET

Azure Service Principal secret

AZURE_TENANT_ID

Azure tenant (directory) ID

AZURE_OPENAI_KEY

API key for your Azure OpenAI deployment

AZURE_OPENAI_ENDPOINT

Endpoint URL for Azure OpenAI (e.g., https://xxxx.openai.azure.com)

AZURE_OPENAI_DEPLOYMENT

Deployment 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

Stage

Duration

Operations

Optimization Target

Intent Classification

3.4s (8.3%)

LLM routing

Caching patterns

Stage 1: Discovery

14.4s (35.4%)

SQL generation + execution

50%+ reduction

Stage 2: Analysis

15.7s (38.5%)

SQL generation + execution

50%+ reduction

Stage 3: Evaluation

7.1s (17.4%)

Pure LLM analysis

Prompt 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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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

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