Microsoft Fabric Analytics MCP Server - Python Package
Easy PyPI installation for Microsoft Fabric Analytics MCP Server
This Python package provides a convenient wrapper around the Microsoft Fabric Analytics MCP Server, enabling seamless installation and integration with AI assistants like Claude, GitHub Copilot, and other MCP-compatible clients.
🚀 Quick Start
# Install from PyPI
pip install fabric-analytics-mcp
# Start the server
fabric-analytics-mcp start
# Validate installation
fabric-analytics-mcp validate
✨ Features
- 41+ Microsoft Fabric Tools - Complete analytics toolkit
- Easy Installation - Simple
pip installcommand - Cross-Platform - Windows, macOS, Linux support
- Multiple Auth Methods - Bearer token, Service Principal, Interactive
- Workspace Management - Easy discovery and management
- Spark Integration - Job monitoring and session management
- Notebook Support - Execution and management
- Production Ready - Battle-tested and reliable
📋 Requirements
- Python 3.8+
- Node.js 18+ (automatically validated)
- Microsoft Fabric Access (with appropriate permissions)
🔧 Installation
Option 1: Direct PyPI Installation (Recommended)
pip install fabric-analytics-mcp
Option 2: Development Installation
git clone https://github.com/santhoshravindran7/Fabric-Analytics-MCP
cd Fabric-Analytics-MCP/python-wrapper
pip install -e .
⚙️ Configuration
Environment Variables
export FABRIC_AUTH_METHOD=bearer_token
export FABRIC_CLIENT_ID=your-client-id
export FABRIC_CLIENT_SECRET=your-client-secret
export FABRIC_TENANT_ID=your-tenant-id
export FABRIC_DEFAULT_WORKSPACE_ID=your-workspace-id
Claude Desktop Configuration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"fabric-analytics": {
"command": "fabric-analytics-mcp",
"args": ["start"],
"env": {
"FABRIC_AUTH_METHOD": "bearer_token"
}
}
}
}
GitHub Copilot Configuration
For VS Code with GitHub Copilot:
{
"github.copilot.mcp.servers": {
"fabric-analytics": {
"command": "fabric-analytics-mcp",
"args": ["start"],
"env": {
"FABRIC_AUTH_METHOD": "bearer_token"
}
}
}
}
🛠️ Usage
Command Line Interface
# Start the MCP server
fabric-analytics-mcp start
# Start with specific configuration
fabric-analytics-mcp start --auth-method service_principal --workspace-id <id>
# Validate installation
fabric-analytics-mcp validate
# Show configuration help
fabric-analytics-mcp config
# Get help
fabric-analytics-mcp --help
Python API
from fabric_analytics_mcp import FabricMCPServer
# Start server programmatically
config = {
'FABRIC_AUTH_METHOD': 'bearer_token',
'FABRIC_DEFAULT_WORKSPACE_ID': 'your-workspace-id'
}
with FabricMCPServer(config) as server:
# Server is running
tools = server.list_tools()
print(f"Available tools: {len(tools['result']['tools'])}")
🏢 Available Tools
The server provides 41+ tools for Microsoft Fabric analytics:
Workspace Management
fabric_list_workspaces- List all accessible workspacesfabric_find_workspace- Find workspace by namefabric_create_workspace- Create new workspace
Item Management
list-fabric-items- List workspace itemscreate-fabric-item- Create new itemsupdate-fabric-item- Update existing itemsdelete-fabric-item- Delete items
Notebook Operations
create-fabric-notebook- Create notebooksexecute-fabric-notebook- Run notebooksget-fabric-notebook-definition- Get notebook content
Spark Integration
submit-spark-job- Submit Spark jobsget-job-status- Monitor job statuscreate-livy-session- Create interactive sessionsexecute-livy-statement- Run Spark code
Monitoring & Analytics
get-spark-monitoring-dashboard- Performance insightsanalyze-livy-session-logs- Log analysisget-workspace-spark-applications- Application monitoring
🔐 Authentication
Bearer Token (Recommended for Development)
export FABRIC_AUTH_METHOD=bearer_token
# Get token from Fabric portal
Service Principal (Recommended for Production)
export FABRIC_AUTH_METHOD=service_principal
export FABRIC_CLIENT_ID=your-app-id
export FABRIC_CLIENT_SECRET=your-secret
export FABRIC_TENANT_ID=your-tenant-id
Interactive Login
export FABRIC_AUTH_METHOD=interactive
# Opens browser for authentication
🔍 Validation
Ensure everything is working correctly:
# Validate installation
fabric-analytics-mcp validate
# Test server startup
fabric-analytics-mcp start --validate
# Check tool availability
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | fabric-analytics-mcp start
📚 Documentation
🤝 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: santhoshravindran7@gmail.com
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Contributing
Contributions are welcome! Please read our Contributing Guide for details.
Developed by Santhosh Ravindran ✨
Metadata
Release files for fabric-analytics-mcp 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fabric_analytics_mcp-1.0.2.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fabric_analytics_mcp-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.0 kB
Release files / fabric_analytics_mcp-1.0.2.tar.gz
| Download URL | fabric_analytics_mcp-1.0.2.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f4d126054982efe22278f9f1a9d1a328b2da969b48b68e7fa9d83f7f3ad100b1
|
|
BLAKE2b-256 checksum How to use checksums |
bcc5d04298b13f32c82ada755f8e7413354c310efca40c33db4701daac7f6073
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / fabric_analytics_mcp-1.0.2-py3-none-any.whl
| Download URL | fabric_analytics_mcp-1.0.2-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16ad6d417d934cf4de4193e0179a7fa1c2b2bf9bf8ac540fe56433151337648a
|
|
BLAKE2b-256 checksum How to use checksums |
5ea18b030679f2089e63b9fe8e117636ea946c5c8e113067120085d2ad56470a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|