fabric-analytics-mcp


Namefabric-analytics-mcp JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/santhoshravindran7/Fabric-Analytics-MCP
SummaryMicrosoft Fabric Analytics MCP Server - Enable AI assistants to access and analyze Microsoft Fabric data
upload_time2025-08-11 18:49:18
maintainerNone
docs_urlNone
authorSanthosh Ravindran
requires_python>=3.8
licenseNone
keywords mcp model-context-protocol microsoft-fabric analytics data-analysis llm ai claude copilot spark livy authentication azure powerbi data-science
VCS
bugtrack_url
requirements requests msal jupyter pandas numpy pytest black flake8 mypy python-dotenv pyyaml tabulate colorama rich
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Microsoft Fabric Analytics MCP Server - Python Package

[![PyPI version](https://badge.fury.io/py/fabric-analytics-mcp.svg)](https://badge.fury.io/py/fabric-analytics-mcp)
[![Python Support](https://img.shields.io/pypi/pyversions/fabric-analytics-mcp.svg)](https://pypi.org/project/fabric-analytics-mcp/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**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

```bash
# 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 install` command
- **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)

```bash
pip install fabric-analytics-mcp
```

### Option 2: Development Installation

```bash
git clone https://github.com/santhoshravindran7/Fabric-Analytics-MCP
cd Fabric-Analytics-MCP/python-wrapper
pip install -e .
```

## ⚙️ Configuration

### Environment Variables

```bash
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`:

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

```json
{
  "github.copilot.mcp.servers": {
    "fabric-analytics": {
      "command": "fabric-analytics-mcp",
      "args": ["start"],
      "env": {
        "FABRIC_AUTH_METHOD": "bearer_token"
      }
    }
  }
}
```

## 🛠️ Usage

### Command Line Interface

```bash
# 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

```python
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 workspaces
- `fabric_find_workspace` - Find workspace by name
- `fabric_create_workspace` - Create new workspace

### Item Management  
- `list-fabric-items` - List workspace items
- `create-fabric-item` - Create new items
- `update-fabric-item` - Update existing items
- `delete-fabric-item` - Delete items

### Notebook Operations
- `create-fabric-notebook` - Create notebooks
- `execute-fabric-notebook` - Run notebooks
- `get-fabric-notebook-definition` - Get notebook content

### Spark Integration
- `submit-spark-job` - Submit Spark jobs
- `get-job-status` - Monitor job status
- `create-livy-session` - Create interactive sessions
- `execute-livy-statement` - Run Spark code

### Monitoring & Analytics
- `get-spark-monitoring-dashboard` - Performance insights
- `analyze-livy-session-logs` - Log analysis
- `get-workspace-spark-applications` - Application monitoring

[View complete tool list →](https://github.com/santhoshravindran7/Fabric-Analytics-MCP#-available-tools)

## 🔐 Authentication

### Bearer Token (Recommended for Development)
```bash
export FABRIC_AUTH_METHOD=bearer_token
# Get token from Fabric portal
```

### Service Principal (Recommended for Production)
```bash
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
```bash
export FABRIC_AUTH_METHOD=interactive
# Opens browser for authentication
```

## 🔍 Validation

Ensure everything is working correctly:

```bash
# 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

- **[Full Documentation](https://github.com/santhoshravindran7/Fabric-Analytics-MCP)**
- **[API Reference](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/docs/)**
- **[Examples](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/EXAMPLES.md)**
- **[Troubleshooting](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/TROUBLESHOOTING.md)**

## 🤝 Support

- **Issues**: [GitHub Issues](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/issues)
- **Discussions**: [GitHub Discussions](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/discussions)
- **Email**: santhoshravindran7@gmail.com

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/LICENSE) file for details.

## 🙏 Contributing

Contributions are welcome! Please read our [Contributing Guide](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/CONTRIBUTING.md) for details.

---

**Developed by [Santhosh Ravindran](https://github.com/santhoshravindran7)** ✨

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/santhoshravindran7/Fabric-Analytics-MCP",
    "name": "fabric-analytics-mcp",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "mcp, model-context-protocol, microsoft-fabric, analytics, data-analysis, llm, ai, claude, copilot, spark, livy, authentication, azure, powerbi, data-science",
    "author": "Santhosh Ravindran",
    "author_email": "santhoshravindran7@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/bc/c5/d04298b13f32c82ada755f8e7413354c310efca40c33db4701daac7f6073/fabric_analytics_mcp-1.0.2.tar.gz",
    "platform": null,
    "description": "# Microsoft Fabric Analytics MCP Server - Python Package\r\n\r\n[![PyPI version](https://badge.fury.io/py/fabric-analytics-mcp.svg)](https://badge.fury.io/py/fabric-analytics-mcp)\r\n[![Python Support](https://img.shields.io/pypi/pyversions/fabric-analytics-mcp.svg)](https://pypi.org/project/fabric-analytics-mcp/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\n**Easy PyPI installation for Microsoft Fabric Analytics MCP Server**\r\n\r\nThis 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.\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n```bash\r\n# Install from PyPI\r\npip install fabric-analytics-mcp\r\n\r\n# Start the server\r\nfabric-analytics-mcp start\r\n\r\n# Validate installation\r\nfabric-analytics-mcp validate\r\n```\r\n\r\n## \u2728 Features\r\n\r\n- **41+ Microsoft Fabric Tools** - Complete analytics toolkit\r\n- **Easy Installation** - Simple `pip install` command\r\n- **Cross-Platform** - Windows, macOS, Linux support\r\n- **Multiple Auth Methods** - Bearer token, Service Principal, Interactive\r\n- **Workspace Management** - Easy discovery and management\r\n- **Spark Integration** - Job monitoring and session management\r\n- **Notebook Support** - Execution and management\r\n- **Production Ready** - Battle-tested and reliable\r\n\r\n## \ud83d\udccb Requirements\r\n\r\n- **Python 3.8+**\r\n- **Node.js 18+** (automatically validated)\r\n- **Microsoft Fabric Access** (with appropriate permissions)\r\n\r\n## \ud83d\udd27 Installation\r\n\r\n### Option 1: Direct PyPI Installation (Recommended)\r\n\r\n```bash\r\npip install fabric-analytics-mcp\r\n```\r\n\r\n### Option 2: Development Installation\r\n\r\n```bash\r\ngit clone https://github.com/santhoshravindran7/Fabric-Analytics-MCP\r\ncd Fabric-Analytics-MCP/python-wrapper\r\npip install -e .\r\n```\r\n\r\n## \u2699\ufe0f Configuration\r\n\r\n### Environment Variables\r\n\r\n```bash\r\nexport FABRIC_AUTH_METHOD=bearer_token\r\nexport FABRIC_CLIENT_ID=your-client-id\r\nexport FABRIC_CLIENT_SECRET=your-client-secret  \r\nexport FABRIC_TENANT_ID=your-tenant-id\r\nexport FABRIC_DEFAULT_WORKSPACE_ID=your-workspace-id\r\n```\r\n\r\n### Claude Desktop Configuration\r\n\r\nAdd to your `claude_desktop_config.json`:\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"fabric-analytics\": {\r\n      \"command\": \"fabric-analytics-mcp\",\r\n      \"args\": [\"start\"],\r\n      \"env\": {\r\n        \"FABRIC_AUTH_METHOD\": \"bearer_token\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### GitHub Copilot Configuration\r\n\r\nFor VS Code with GitHub Copilot:\r\n\r\n```json\r\n{\r\n  \"github.copilot.mcp.servers\": {\r\n    \"fabric-analytics\": {\r\n      \"command\": \"fabric-analytics-mcp\",\r\n      \"args\": [\"start\"],\r\n      \"env\": {\r\n        \"FABRIC_AUTH_METHOD\": \"bearer_token\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## \ud83d\udee0\ufe0f Usage\r\n\r\n### Command Line Interface\r\n\r\n```bash\r\n# Start the MCP server\r\nfabric-analytics-mcp start\r\n\r\n# Start with specific configuration\r\nfabric-analytics-mcp start --auth-method service_principal --workspace-id <id>\r\n\r\n# Validate installation\r\nfabric-analytics-mcp validate\r\n\r\n# Show configuration help\r\nfabric-analytics-mcp config\r\n\r\n# Get help\r\nfabric-analytics-mcp --help\r\n```\r\n\r\n### Python API\r\n\r\n```python\r\nfrom fabric_analytics_mcp import FabricMCPServer\r\n\r\n# Start server programmatically\r\nconfig = {\r\n    'FABRIC_AUTH_METHOD': 'bearer_token',\r\n    'FABRIC_DEFAULT_WORKSPACE_ID': 'your-workspace-id'\r\n}\r\n\r\nwith FabricMCPServer(config) as server:\r\n    # Server is running\r\n    tools = server.list_tools()\r\n    print(f\"Available tools: {len(tools['result']['tools'])}\")\r\n```\r\n\r\n## \ud83c\udfe2 Available Tools\r\n\r\nThe server provides 41+ tools for Microsoft Fabric analytics:\r\n\r\n### Workspace Management\r\n- `fabric_list_workspaces` - List all accessible workspaces\r\n- `fabric_find_workspace` - Find workspace by name\r\n- `fabric_create_workspace` - Create new workspace\r\n\r\n### Item Management  \r\n- `list-fabric-items` - List workspace items\r\n- `create-fabric-item` - Create new items\r\n- `update-fabric-item` - Update existing items\r\n- `delete-fabric-item` - Delete items\r\n\r\n### Notebook Operations\r\n- `create-fabric-notebook` - Create notebooks\r\n- `execute-fabric-notebook` - Run notebooks\r\n- `get-fabric-notebook-definition` - Get notebook content\r\n\r\n### Spark Integration\r\n- `submit-spark-job` - Submit Spark jobs\r\n- `get-job-status` - Monitor job status\r\n- `create-livy-session` - Create interactive sessions\r\n- `execute-livy-statement` - Run Spark code\r\n\r\n### Monitoring & Analytics\r\n- `get-spark-monitoring-dashboard` - Performance insights\r\n- `analyze-livy-session-logs` - Log analysis\r\n- `get-workspace-spark-applications` - Application monitoring\r\n\r\n[View complete tool list \u2192](https://github.com/santhoshravindran7/Fabric-Analytics-MCP#-available-tools)\r\n\r\n## \ud83d\udd10 Authentication\r\n\r\n### Bearer Token (Recommended for Development)\r\n```bash\r\nexport FABRIC_AUTH_METHOD=bearer_token\r\n# Get token from Fabric portal\r\n```\r\n\r\n### Service Principal (Recommended for Production)\r\n```bash\r\nexport FABRIC_AUTH_METHOD=service_principal\r\nexport FABRIC_CLIENT_ID=your-app-id\r\nexport FABRIC_CLIENT_SECRET=your-secret\r\nexport FABRIC_TENANT_ID=your-tenant-id\r\n```\r\n\r\n### Interactive Login\r\n```bash\r\nexport FABRIC_AUTH_METHOD=interactive\r\n# Opens browser for authentication\r\n```\r\n\r\n## \ud83d\udd0d Validation\r\n\r\nEnsure everything is working correctly:\r\n\r\n```bash\r\n# Validate installation\r\nfabric-analytics-mcp validate\r\n\r\n# Test server startup\r\nfabric-analytics-mcp start --validate\r\n\r\n# Check tool availability\r\necho '{\"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"tools/list\"}' | fabric-analytics-mcp start\r\n```\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n- **[Full Documentation](https://github.com/santhoshravindran7/Fabric-Analytics-MCP)**\r\n- **[API Reference](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/docs/)**\r\n- **[Examples](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/EXAMPLES.md)**\r\n- **[Troubleshooting](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/TROUBLESHOOTING.md)**\r\n\r\n## \ud83e\udd1d Support\r\n\r\n- **Issues**: [GitHub Issues](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/issues)\r\n- **Discussions**: [GitHub Discussions](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/discussions)\r\n- **Email**: santhoshravindran7@gmail.com\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/LICENSE) file for details.\r\n\r\n## \ud83d\ude4f Contributing\r\n\r\nContributions are welcome! Please read our [Contributing Guide](https://github.com/santhoshravindran7/Fabric-Analytics-MCP/blob/master/CONTRIBUTING.md) for details.\r\n\r\n---\r\n\r\n**Developed by [Santhosh Ravindran](https://github.com/santhoshravindran7)** \u2728\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Microsoft Fabric Analytics MCP Server - Enable AI assistants to access and analyze Microsoft Fabric data",
    "version": "1.0.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/santhoshravindran7/Fabric-Analytics-MCP/issues",
        "Documentation": "https://github.com/santhoshravindran7/Fabric-Analytics-MCP#readme",
        "Homepage": "https://github.com/santhoshravindran7/Fabric-Analytics-MCP",
        "Source Code": "https://github.com/santhoshravindran7/Fabric-Analytics-MCP"
    },
    "split_keywords": [
        "mcp",
        " model-context-protocol",
        " microsoft-fabric",
        " analytics",
        " data-analysis",
        " llm",
        " ai",
        " claude",
        " copilot",
        " spark",
        " livy",
        " authentication",
        " azure",
        " powerbi",
        " data-science"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5ea18b030679f2089e63b9fe8e117636ea946c5c8e113067120085d2ad56470a",
                "md5": "07b7b29dadba70a3e1efcb3ec167cb72",
                "sha256": "16ad6d417d934cf4de4193e0179a7fa1c2b2bf9bf8ac540fe56433151337648a"
            },
            "downloads": -1,
            "filename": "fabric_analytics_mcp-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "07b7b29dadba70a3e1efcb3ec167cb72",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9458,
            "upload_time": "2025-08-11T18:49:17",
            "upload_time_iso_8601": "2025-08-11T18:49:17.496141Z",
            "url": "https://files.pythonhosted.org/packages/5e/a1/8b030679f2089e63b9fe8e117636ea946c5c8e113067120085d2ad56470a/fabric_analytics_mcp-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bcc5d04298b13f32c82ada755f8e7413354c310efca40c33db4701daac7f6073",
                "md5": "b863792c4daff8d979caf854dc908676",
                "sha256": "f4d126054982efe22278f9f1a9d1a328b2da969b48b68e7fa9d83f7f3ad100b1"
            },
            "downloads": -1,
            "filename": "fabric_analytics_mcp-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "b863792c4daff8d979caf854dc908676",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 11536,
            "upload_time": "2025-08-11T18:49:18",
            "upload_time_iso_8601": "2025-08-11T18:49:18.837980Z",
            "url": "https://files.pythonhosted.org/packages/bc/c5/d04298b13f32c82ada755f8e7413354c310efca40c33db4701daac7f6073/fabric_analytics_mcp-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-11 18:49:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "santhoshravindran7",
    "github_project": "Fabric-Analytics-MCP",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "msal",
            "specs": [
                [
                    ">=",
                    "1.25.0"
                ]
            ]
        },
        {
            "name": "jupyter",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.24.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    ">=",
                    "7.4.0"
                ]
            ]
        },
        {
            "name": "black",
            "specs": [
                [
                    ">=",
                    "23.0.0"
                ]
            ]
        },
        {
            "name": "flake8",
            "specs": [
                [
                    ">=",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "mypy",
            "specs": [
                [
                    ">=",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    ">=",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "tabulate",
            "specs": [
                [
                    ">=",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    ">=",
                    "0.4.6"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    ">=",
                    "13.0.0"
                ]
            ]
        }
    ],
    "lcname": "fabric-analytics-mcp"
}
        
Elapsed time: 0.49356s