Token导航 LogoToken导航TokenDH.com
Azure Purview MCP logo
运维云端未说明官方级别未说明来源级核验

Azure Purview MCP

MCP Server

Azure Purview MCP Server是一个用于管理和更新Azure Purview数据目录元数据的工具,支持搜索、读取和更新表及列描述等功能。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
数据管理批量操作TypeScriptClaude元数据管理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

prajwalgajakesari

提供方

prajwalgajakesari

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Azure权限MCP服务器

Azure权限的模型上下文协议(MCP)服务器-使用AI轻松管理您的数据目录

将您的AI助手连接到Azure权限,以搜索、读取和更新数据目录元数据,包括表和列描述。

⚠️ 重要通知

仅供开发使用:此MCP服务器仅供您组织内的开发人员使用。请勿将这些工具用于批准的开发环境之外的外部应用程序或场景。

需要用户同意:所有访问或修改数据的工具都需要明确的用户授权和同意。在批准之前,用户必须了解正在访问哪些数据以及正在采取哪些行动。

生产注意事项:对于生产部署,请根据组织的安全策略实施额外的安全控制、审核日志记录和适当的访问限制。

快速开始

# 1. Login to Azure
az login

# 2. Install and build
npm install && npm run build

# 3. Create .env file
cat > .env << EOF
PURVIEW_ENDPOINT=https://your-purview-account.purview.azure.com
AUTH_METHOD=cli
EOF

# 4. Add to Claude Desktop config
# Edit: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "purview": {
      "command": "node",
      "args": ["/absolute/path/to/purview-mcp-server/dist/index.js"],
      "env": {
        "PURVIEW_ENDPOINT": "https://your-purview-account.purview.azure.com",
        "AUTH_METHOD": "cli"
      }
    }
  }
}

就是这样!重新启动Claude Desktop并开始使用权限。

QUICKSTART.md 了解详细的分步说明。

特性

搜索与发现 -在权限目录中查找表、列和资源 ✅ 读取元数据 -通过GUID或限定名获取详细信息 ✅ 更新说明 -修改表和列描述(userDescription字段) ✅ 批量操作 -从CSV或JSON文件上传描述 ✅ 智能重试逻辑 -失败请求的自动指数回退 ✅ 灵活的身份验证 -Azure CLI(最简单)、交互式浏览器或服务主体

先决条件

  • Node.js 18岁或以上
  • Azure命令行界面 已安装(安装指南)
  • Azure权限 具有访问权限的帐户
  • 权限权限 -您的帐户需要“数据管理员”角色

认证

选项1:Azure CLI(推荐)🎯

最简单的方法-使用您现有的Azure登录!

az login

配置:

PURVIEW_ENDPOINT=https://your-account.purview.azure.com
AUTH_METHOD=cli

✅ 无需服务负责人 ✅ 没有秘密需要管理 ✅ 使用您的Azure帐户

选项2:交互式浏览器

首次使用时打开浏览器进行身份验证。

配置:

PURVIEW_ENDPOINT=https://your-account.purview.azure.com
AUTH_METHOD=interactive
AZURE_TENANT_ID=your-tenant-id  # Optional

选项3:服务负责人

用于生产部署和自动化。

# Create service principal
az ad sp create-for-rbac --name "purview-mcp-sp" --role Contributor

配置:

PURVIEW_ENDPOINT=https://your-account.purview.azure.com
AUTH_METHOD=service-principal
AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret

重要提示: 在权限中为服务主体分配“数据管理员”角色:

  1. Azure 门户→ 权限帐户→ 数据平面访问
  2. 添加角色分配→ 数据管理员→ 选择您的服务负责人

安装

# Clone or download this repository
cd purview-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

# Test it (optional)
npm run dev

配置

创建.env文件

cp .env.example .env

使用您的设置编辑.env

最低配置(Azure CLI):

PURVIEW_ENDPOINT=https://your-purview-account.purview.azure.com
AUTH_METHOD=cli

所有选项:

# Required
PURVIEW_ENDPOINT=https://your-purview-account.purview.azure.com

# Authentication (choose one)
AUTH_METHOD=cli                    # Default: Azure CLI
# AUTH_METHOD=interactive          # Browser login
# AUTH_METHOD=service-principal    # Service Principal

# Only for service-principal auth
# AZURE_TENANT_ID=your-tenant-id
# AZURE_CLIENT_ID=your-client-id
# AZURE_CLIENT_SECRET=your-client-secret

# Optional
LOG_LEVEL=info

MCP客户端设置

克劳德桌面

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "purview": {
      "command": "node",
      "args": ["/absolute/path/to/purview-mcp-server/dist/index.js"],
      "env": {
        "PURVIEW_ENDPOINT": "https://your-account.purview.azure.com",
        "AUTH_METHOD": "cli"
      }
    }
  }
}

⚠️ 重要提示:

  • 使用 绝对路径 给你的 dist/index.js 文件
  • az login 启动Claude Desktop之前
  • 配置更改后重新启动Claude Desktop

可用工具

🔍 搜索实体

在权限目录中搜索资产。

参数:

  • keywords (必填)-搜索词
  • entityType (可选)-按类型筛选(例如,“azure_sql_table”、“azure_sql_column”)
  • limit (可选)-最大结果(默认值:50)

Claude中的示例用法:

Search for all tables containing "customer" in Purview

📄 通过guid获取实体

通过GUID获取实体的详细元数据。

参数:

  • guid (必需)-实体GUID

例子:

Get metadata for Purview entity with GUID: abc123...

📄 按限定名获取实体

按限定名获取详细的元数据。

参数:

  • qualifiedName (必填)-限定名称(例如,“mssql://server/db/schema/table")
  • typeName (可选)-用于精确搜索的实体类型

例子:

Get metadata for table: mssql://myserver.database.windows.net/mydb/dbo/customers

✏️ 更新描述

更新表或列的userDescription字段。

参数:

  • guid (必需)-实体GUID
  • description (必填)-新的描述文本(支持HTML)

例子:

Update the description for entity abc123 to "Customer master data table"

📦 从csv批量更新

从CSV内容批量更新描述。

参数:

  • csvContent (必填)-CSV,带列:限定名称、名称、描述、类型名称、guid
  • dryRun (可选)-默认值:true(无需更改即可验证)

CSV格式:

qualifiedName,name,description,typeName,guid
mssql://server/db/schema/table,Table,Table description,azure_sql_table,
mssql://server/db/schema/table#col1,Col1,Column description,azure_sql_column,

例子:

Bulk update descriptions from this CSV:
[paste CSV content]
Set dryRun to false to apply changes.

📦 从json批量更新

从JSON数组批量更新描述。

参数:

  • jsonContent (必填)-JSON实体更新数组
  • dryRun (可选)-默认值:true

JSON格式:

[
  {
    "qualifiedName": "mssql://server/db/schema/table",
    "typeName": "azure_sql_table",
    "description": "Customer data table"
  }
]

用法示例

搜索和更新工作流

You: Search for tables with "sales" in the name

Claude: [Uses search-entities tool]
Found 5 tables with "sales":
1. SalesOrders (GUID: abc123...)
2. SalesCustomers (GUID: def456...)
...

You: Update the description for SalesOrders to "Main sales transaction table"

Claude: [Uses update-description tool with GUID abc123]
Successfully updated description!

批量更新工作流

You: I have a CSV file with 100 table descriptions. Can you update them?

Claude: Please paste the CSV content.

You: [pastes CSV]
qualifiedName,name,description,typeName
mssql://server/db/dbo/Customers,Customers,Customer master data,azure_sql_table
...

Claude: [Uses bulk-update-from-csv with dryRun=true]
Validation results: Would update 100 entities. Ready to apply?

You: Yes, apply the changes

Claude: [Uses bulk-update-from-csv with dryRun=false]
Processed 100 entities: 98 successful, 2 failed

关键概念

限定名称

权限实体的唯一标识符:

  • Azure SQL表: mssql://server.database.windows.net/database/schema/table
  • Azure SQL列: mssql://server.database.windows.net/database/schema/table#columnName
  • 蜂巢表: default.table_name@cluster

实体类型

权限中的常见类型:

  • azure_sql_table -Azure SQL表
  • azure_sql_column -Azure SQL列
  • azure_data_explorer_table -ADX桌子
  • azure_data_explorer_column -ADX柱
  • hive_table -Hive表
  • hive_column -Hive列

描述字段

  • 描述 -扫描生成的系统(只读)
  • 用户描述 -用户提供的描述(这是更新的内容)

高级功能

重试逻辑

  • 指数退避自动重试
  • 检索网络错误、速率限制和服务器错误
  • 最多3次重试尝试,延迟逐渐增加

批处理

  • 批量操作每批处理50个实体
  • 进度记录到控制台
  • 单个故障不会停止批次

错误处理

  • 详细的错误消息
  • 收集和报告的更新失败
  • 更改前的验证

故障排除

身份验证问题

Azure CLI身份验证:

# Check if logged in
az account show

# Re-login
az login

# Clear cache if needed
az account clear && az login

验证权限权限:

  1. 转到Azure门户
  2. 导航到您的权限帐户
  3. 检查“数据平面访问”
  4. 确保你有“数据管理员”的角色

常见错误

“缺少必需的环境变量:PURVIEW_ENDPOINT”

  • 创建 .env 使用您的权限端点创建文件

“找不到实体”

  • 首先使用搜索实体查找正确的限定名
  • 验证实体是否存在于权限目录中

“身份验证失败”

  • 对于CLI:运行 az login
  • 对于交互式:检查租户ID是否正确
  • 对于服务主体:验证凭据和角色

服务器未出现在Claude中

  • 在配置中使用绝对路径(不是相对路径)
  • 检查Claude日志是否有错误
  • 完全重新启动克劳德桌面

速率限制

如果达到速率限制:

  • 减少批量操作中的批量大小
  • 服务器自动重试并回退
  • 增加大型操作之间的延迟

发展

# Run in development mode
npm run dev

# Build
npm run build

# Run built version
npm start

# Watch mode (auto-rebuild)
npm run watch

项目结构

purview-mcp-server/
├── src/
│   ├── index.ts              # MCP server entry point
│   ├── config.ts             # Configuration & auth settings
│   ├── purview/
│   │   ├── client.ts        # Purview client with auth
│   │   ├── entities.ts      # Entity CRUD operations
│   │   ├── search.ts        # Search operations
│   │   └── bulk.ts          # Bulk operations
│   ├── tools/
│   │   └── index.ts         # MCP tool handlers
│   ├── utils/
│   │   ├── errors.ts        # Error handling
│   │   ├── retry.ts         # Retry logic
│   │   └── csv.ts           # CSV parsing
│   └── types/
│       └── index.ts         # TypeScript types
├── examples/
│   ├── sample-descriptions.csv
│   └── sample-descriptions.json
├── dist/                     # Built JavaScript
├── .env                      # Your config (not in git)
├── .env.example             # Template
├── package.json
├── tsconfig.json
├── README.md                # This file
└── QUICKSTART.md            # Quick start guide

安全说明

  • 永不承诺 .env 文件到版本控制
  • 使用Azure CLI身份验证进行开发
  • 使用服务负责人进行生产,并进行适当的秘密管理
  • 定期轮换服务主体机密
  • 授予所需的最低权限(仅限数据管理员角色)

资源

重要文件

许可证

麻省理工学院

贡献

欢迎投稿!请打开问题或PR。

支持

对于问题或疑问:

  1. 检查 故障排除 章节
  2. 审查 QUICKSTART.md
  3. 在GitHub上打开一个问题:

- 错误消息 - 您的配置(编辑机密!) - 重现步骤

______________________________________________________________________

由以下材料制成❤️ 适用于Azure权限用户

目录标签

目录标签

数据管理批量操作TypeScriptClaude元数据管理本地部署AI集成Azure服务

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP