Proxuma Power BI技能
AI提示文件和MCP服务器,用于从Power BI数据生成报告和仪表板。适用于Claude Code、GitHub Copilot、Cursor和任何兼容MCP的AI工具。
你问了一个商业问题。AI会查询您的数据模型,对其进行匿名处理,并生成一份完整的HTML报告或带有真实数字的仪表板生成器。你的数据永远不会以可读的形式到达人工智能。
包含什么
| 组件 | 描述 |
|---|---|
| MCP 服务器 | 将AI工具连接到Power BI和Fabric API的Python服务器 |
| 报告提示 | 生成包含KPI、表格、分析和结果的独立HTML报告 |
| QBR提示 | 生成季度业务回顾报告 |
| 项目报告提示 | 生成项目状态报告 |
| 数据匿名化 | 双通道匿名化:确定性别名+NLP安全网 |
| 安装向导 | 自动发现工作区、数据集和敏感列 |
快速开始
git clone https://github.com/Proxuma/powerbi-claude-skills.git
cd powerbi-claude-skills
pip install -r requirements.txt
python -m server.wizard该向导将引导您完成Microsoft登录,选择您的工作区和数据集,检测敏感列,并写入配置。没有可搜索的GUID。
然后将MCP服务器添加到您的AI工具中:
克劳德代码:
claude mcp add powerbi -- python -m server.serverVS代码(GitHub副本/游标): 增添 .vscode/mcp.json:
{
"servers": {
"powerbi": {
"command": "python",
"args": ["-m", "server.server"],
"cwd": "/path/to/powerbi-claude-skills"
}
}
}克劳德桌面: 增添 claude_desktop_config.json:
{
"mcpServers": {
"powerbi": {
"command": "python",
"args": ["-m", "server.server"],
"cwd": "/path/to/powerbi-claude-skills"
}
}
}提示
将这些作为斜线命令导入,或将其作为系统提示粘贴。
| 文件 | 使用 |
|---|---|
prompts/powerbireport.md | #powerbireport what is my monthly revenue trend? |
prompts/powerbireportQBR.md | #powerbireportQBR Q1 2026 |
prompts/projectreport.md | #projectreport Project Alpha |
prompts/powerbi.md | 通用Power BI数据问题 |
数据匿名化
所有数据在到达AI之前都会自动匿名。AI只看到Client_A、Resource_1、Contact_3等别名。
运作原理
- 首次查询时,服务器通过DAX从配置的敏感列加载唯一值
- 每一个回应 穿过两层:
- 通过1 --确定性查找:已知实体获得一致的别名(快速、可审计) - 通行证2 --Presidio NLP:在自由文本字段中捕获意外的PII(可选安全网)
- 生成报告后,在本地还原真实姓名
恢复真实姓名
选项A——拖放: 在浏览器中打开生成的报告。拖拽 ~/.powerbi-mcp/sessions/latest/mapping.json 点击页面顶部的还原按钮。
选项B--CLI:
python -m server report.html -o report-real.html配置
向导(选项4)会自动检测敏感列。或编辑 ~/.powerbi-mcp/config.json 手动:
{
"anonymization": {
"enabled": true,
"sensitive_columns": {
"client": ["'Company'[CompanyName]"],
"resource": ["'Resource'[FullName]"],
"contact": ["'Contact'[ContactName]"]
},
"presidio_enabled": true
}
}审计跟踪
每个会话都将其映射存储在 ~/.powerbi-mcp/sessions//mapping.json。这个文件永远不会离开你的机器。使用它来验证匿名内容并提供合规文档。
MCP工具
服务器运行后,您的AI助手可以访问:
| 工具 | 说明 |
|---|---|
list_workspaces | 列出所有Power BI工作区 |
list_datasets | 列出工作区中的数据集 |
execute_dax | 运行DAX查询并获得匿名结果 |
search_schema | 搜索度量值、列或表 |
list_measures | 列出所有度量值名称 |
list_fabric_items | 列出Fabric工作区中的项目 |
get_schema | 完整架构(注意:可能大于10MB) |
anonymization_status | 显示匿名状态和实体计数 |
需求
- Python 3.10+
- Power BI Pro或高级每用户许可证(用于API访问)
- MCP兼容的人工智能工具(Claude Code、GitHub Copilot、Cursor、Claude Desktop)
不需要Azure应用程序注册。服务器使用与Power BI Desktop相同的公共客户端流。
认证
- 该向导将打开Microsoft登录的浏览器
- 您使用Power BI帐户登录
- 令牌在本地缓存在
~/.powerbi-mcp/ - 后续运行会自动刷新,无需重新登录
代币仅存储在您的机器上。MCP服务器从不向任何第三方发送凭据。
项目结构
powerbi-claude-skills/
├── server/
│ ├── server.py # MCP server
│ ├── auth.py # Azure AD authentication
│ ├── wizard.py # Setup wizard
│ ├── entity_registry.py # Deterministic entity anonymization
│ ├── anonymizer.py # Two-pass anonymizer (registry + Presidio)
│ ├── mapping.py # Session mapping persistence
│ ├── deanonymizer.py # Restore real names (XSS-safe)
│ ├── __main__.py # CLI deanonymize entry point
│ └── config.example.json # Example configuration
├── prompts/
│ ├── powerbireport.md # Report generator
│ ├── powerbireportQBR.md # QBR report generator
│ ├── projectreport.md # Project report generator
│ └── powerbi.md # General Power BI queries
├── templates/
│ └── report-shell.html # Report HTML template (with restore UI)
├── tests/ # Test suite
├── requirements.txt
├── LICENSE
└── README.md运行测试
pip install pytest
python -m pytest tests/ -v兼容性
| AI工具 | 状态 |
|---|---|
| 克劳德代码(CLI) | 支持 |
| GitHub Copilot(VS代码,代理模式) | 支持 |
| 克劳德桌面 | 支持 |
| 光标 | 支持 |
| ChatGPT(通过MCP插件) | 实验 |
许可证
麻省理工学院
