关于 icedq-tools
icedq-tools 将 AI 客户端连接到 iceDQ Data Reliability Platform,以对话方式处理数据质量工作。工具覆盖数据库、文件和 API 的发现、分析、规则编写、执行、监控与调度。
主要功能
- 01浏览工作区、连接和数据
- 02分析样本并建议质量检查
- 03创建验证规则和重复项规则
- 04比较数据源并协调记录
- 05运行工作流并安排规则执行
- 06监控结果并查看异常
适用场景
- 01分析数据表并建议质量检查
- 02为数据创建并运行验证规则
- 03比较两个连接中的行数
- 04查看失败规则和执行历史
MCP 相关
该 MCP 服务向受支持的 MCP 客户端提供 iceDQ 数据探索及数据质量全流程操作,包括规则创建、执行和监控。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @icedq/mcp-serverICEDQ_BASE_URLThe base URL of your iceDQ instance (e.g., https://app.icedq.net)ICEDQ_REALMThe authentication realm name (e.g., icedq or iam.icedq)ICEDQ_CLIENT_IDOAuth client ID for API authenticationAUTH_TYPE密钥How to authenticate: 'username_password' uses credentials below, 'access_token' uses a token file insteadICEDQ_CLIENT_SECRET密钥OAuth client secret. Required when AUTH_TYPE is 'username_password'.ICEDQ_USERNAMEYour iceDQ username. Required when AUTH_TYPE is 'username_password'.ICEDQ_PASSWORD密钥Your iceDQ password. Required when AUTH_TYPE is 'username_password'.TOKENS_PATH密钥Path to JSON file containing access_token and refresh_token. Required when AUTH_TYPE is 'access_token'.ICEDQ_ORG_IDYour iceDQ organization ID (e.g., org-icedq or org-iam.icedq)VERIFY_SSLEnable SSL certificate verification. Set to false only for self-signed certs in testing.REQUEST_TIMEOUTTimeout for API requests, in seconds本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
iceDQ MCP 服务
将您的 AI 助手连接到 iceDQ 数据可靠性平台
工作原理?
iceDQ MCP 服务可将 Claude Desktop、VS Code、Cursor 和 Claude Code 连接到您的 iceDQ 数据可靠性平台实例,让您能够使用自然语言管理数据质量。 您可以让 AI 助手探索数据库、文件或 REST API;分析数据;并创建 验证、重复项、校验和、下推和对账规则(包括 API 验证和 API 对账),然后通过对话执行、监控和分析结果。
通过 MCP 工具创建的规则会立即发布并可供执行。服务还包含八项 Agent 技能(skills/),用于指导规则编写、比较、API 测试、运行和计划任务。
参数名称和架构请参阅 TOOLS.md。
涵盖完整数据质量生命周期的 49 个工具:
| 能力 | 可执行操作 |
|---|---|
| 数据探索 | 浏览工作区、连接、数据库、架构、表、列、文件和 REST API |
| 数据分析 | 获取真实样本数据并分析质量指标(空值、模式、类型) |
| AI 建议 | 根据数据概况获取智能检查建议 |
| 验证规则 | 对数据库、文件或 API 执行行级 NotNull、Format、ValidValues、Length、Date 和 Custom Groovy 检查 |
| 重复项检测 | 根据业务键、复合键或条件标准识别重复项 |
| 下推规则 | 通过 SQL 驱动的聚合验证(GROUP BY、JOIN、参照完整性) |
| 校验和规则 | 比较两个不同连接之间的数据(行数、总和) |
| 对账 | 在数据库、文件和 API 之间进行行级匹配,并通过 AI 映射连接键 |
| 工作流 | 将多个规则串联成顺序执行工作流 |
| 计划任务 | 通过一次性、每日或每周计划自动执行规则 |
| 自定义函数 | 创建和更新 Java/Groovy UDF(Evaluator 或 Processor 类型) |
| 数据仓库查询 | 针对 iceDQ 的执行历史数据集运行结构化且经过架构验证的查询 |
| 执行与监控 | 按需运行规则、跟踪状态并查看异常报告 |
| 组织管理 | 管理文件夹、批量移动规则、创建可复用参数 |
系统要求
| 要求 | 详情 |
|---|---|
| 操作系统 | Windows 10+、macOS 10.15+ 或 Linux (见下方说明) |
| AI 客户端 | 以下之一:Claude Desktop、VS Code 或 Cursor(最新版本) |
| Node.js | 20.0.0+ (基于 npx 的安装方式需要;Claude Desktop 扩展包含自己的运行时) |
| iceDQ | v7.5.0+,以及有效的用户账号 |
Linux 用户: 请使用 npx 方式安装(适用于 VS Code 和 Cursor)。打包的 Claude Desktop 扩展(
.mcpb)目前仅支持 macOS 和 Windows,因为 Claude Desktop 本身未提供 Linux 版本。
快速开始
步骤 1 — 获取 iceDQ 凭据
在配置 MCP 服务前,你需要从 iceDQ 实例获取以下六项信息:
- iceDQ 基础 URL
- Realm(默认值为
iam.icedq) - Client ID 和 Client Secret(在 iceDQ → Administration → Security → Client Credentials 中创建)
- 你的 iceDQ 用户名和密码
- Organization ID(从任意规则的元数据中读取)
如需查看附带截图的分步说明,请参阅凭据指南。
步骤 2 — 通过 npm 安装
iceDQ MCP Server 已发布到 npm,名称为 @icedq/mcp-server。大多数 AI 客户端都可以通过 npx 自动启动它,无需手动下载或构建。
将以下内容添加到 AI 客户端的 MCP 配置中:
{
"mcpServers": {
"icedq": {
"command": "npx",
"args": ["-y", "@icedq/mcp-server"],
"env": {
"ICEDQ_BASE_URL": "https://app.icedq.net",
"ICEDQ_REALM": "iam.icedq",
"ICEDQ_CLIENT_ID": "<your-client-id>",
"ICEDQ_CLIENT_SECRET": "<your-client-secret>",
"AUTH_TYPE": "username_password",
"ICEDQ_USERNAME": "<your-username>",
"ICEDQ_PASSWORD": "<your-password>",
"ICEDQ_ORG_ID": "<your-org-id>",
"NODE_OPTIONS": "--use-system-ca"
}
}
}
}
配置参考
| 变量 | 必填 | 描述 |
|---|---|---|
ICEDQ_BASE_URL | 是 | iceDQ 实例的基础 URL(例如 https://app.icedq.net) |
ICEDQ_REALM | 是 | 身份验证领域(默认值为 iam.icedq) |
ICEDQ_CLIENT_ID | 是 | 用于 API 身份验证的 OAuth 客户端 ID |
AUTH_TYPE | 是 | username_password、access_token 或 device_flow |
ICEDQ_ORG_ID | 是 | iceDQ 组织 ID |
ICEDQ_CLIENT_SECRET | 用于 username_password | OAuth 客户端密钥 |
ICEDQ_USERNAME | 用于 username_password | iceDQ 用户名 |
ICEDQ_PASSWORD | 用于 username_password | iceDQ 密码 |
TOKENS_PATH | 用于 access_token | 包含 accessToken 和 refreshToken 的令牌 JSON 文件路径 |
REMEMBER_ME | 可选,用于 device_flow | 默认会记住缓存的会话。设为 false 可清除已存储的令牌,并强制通过浏览器重新登录 |
VERIFY_SSL | 可选 | 默认值为 true。仅在使用自签名证书时设为 false |
REQUEST_TIMEOUT | 可选 | API 请求超时时间,单位为秒(默认值为 30) |
DEBUG | 可选 | 设为 true 可启用详细日志 |
LOG_LEVEL | 可选 | error、warn、info 或 debug(默认值为 info) |
NODE_OPTIONS | 可选 | 设为 --use-system-ca,使 Node 信任操作系统证书存储区(如果 iceDQ 实例使用企业或自签名 CA,则需要此设置) |
Claude Desktop 用户可以安装打包好的扩展,而无需编辑 JSON——请参阅下方的设置指南。
替代方案:设备流身份验证(无需密码)
无需提供用户名和密码,你可以通过 设备流(RFC 8628)进行身份验证——服务会为你打开浏览器登录页面,并将令牌安全地缓存到操作系统密钥链(Windows Credential Manager、macOS Keychain 或 Linux libsecret)中,因此只需登录一次。对于启用了 SSO/MFA 的账户,或不希望在 MCP 配置中存储凭据的共享计算机,建议使用此选项。
{
"mcpServers": {
"icedq": {
"command": "npx",
"args": ["-y", "@icedq/mcp-server"],
"env": {
"ICEDQ_BASE_URL": "https://app.icedq.net",
"ICEDQ_REALM": "iam.icedq",
"ICEDQ_CLIENT_ID": "<your-client-id>",
"AUTH_TYPE": "device_flow",
"ICEDQ_ORG_ID": "<your-org-id>",
"NODE_OPTIONS": "--use-system-ca"
}
}
}
}
首次运行时,服务会在控制台打印验证 URL 和代码,并自动打开浏览器。登录后,令牌会被缓存(优先存入操作系统密钥链,否则存入令牌文件),并在后续运行中自动静默刷新,无需重新进行身份验证。设置 REMEMBER_ME=false 可跳过缓存,每次都强制重新登录。详情请参阅设备流内部机制指南。
备选方案:访问令牌身份验证(预先签发的令牌)
如果你已经有一对 OAuth 访问令牌/刷新令牌(例如由你自己的自动化流程或之前的登录签发),可以让服务读取令牌 JSON 文件,而不是直接提供凭据:
{
"mcpServers": {
"icedq": {
"command": "npx",
"args": ["-y", "@icedq/mcp-server"],
"env": {
"ICEDQ_BASE_URL": "https://app.icedq.net",
"ICEDQ_REALM": "iam.icedq",
"ICEDQ_CLIENT_ID": "<your-client-id>",
"AUTH_TYPE": "access_token",
"TOKENS_PATH": "/path/to/tokens.json",
"ICEDQ_ORG_ID": "<your-org-id>",
"NODE_OPTIONS": "--use-system-ca"
}
}
}
}
TOKENS_PATH 必须指向一个结构如下的 JSON 文件:
{
"accessToken": "<JWT access token>",
"refreshToken": "<JWT refresh token>"
}
服务启动时会读取此文件,在访问令牌过期前使用它,并通过刷新令牌自动刷新令牌(同时重写文件),无需浏览器或密码提示。这是无头自动化、CI 或无法进行交互式登录的服务间集成的推荐选项。
配置指南
选择你的 AI 客户端,查看分步操作说明:
| 客户端 | 指南 |
|---|---|
| Claude Desktop | Claude Desktop 安装指南 |
| VS Code + Copilot Chat | VS Code 配置 |
| VS Code + Claude Code | Claude Code 配置 |
| Cursor | Cursor 配置 |
有关身份验证配置,请参阅 身份验证指南。
使用示例
1. 浏览数据
提示词: 列出我的 iceDQ 工作区并显示连接
响应:
找到 2 个工作区:
- Production_DQ(活动)
- Development_DQ(活动)
Production_DQ 有 3 个连接:
- SQL_Server_Production (SqlServer) - 活动
- Snowflake_Warehouse (Snowflake) - 活动
- Azure_DataLake (AzureBlob) - 活动
2. 分析数据质量
提示词: 从 Customers 表获取示例数据,并建议质量检查项
响应:
已从 dbo.Customers 获取 10 行数据。分析结果:
Email:33% 为空,60% 的值符合有效电子邮件格式 FirstName:检测到 1 个空值 Status:2 个不同的值:Active、Inactive CreatedDate:检测到日期格式 yyyy-MM-dd
建议的检查项:
- Email - 非空(检测到 33% 为空)
- Email - 格式:电子邮件格式
- FirstName - 非空(发现空值)
- Status - 有效值:Active、Inactive
- CreatedDate - 日期格式:yyyy-MM-dd
3. 创建验证规则
提示词: 使用这些建议的检查项创建名为 Customer_Quality_Checks 的验证规则
响应:
规则创建成功! 规则 ID:rule-12345678-abcd-ef01-2345-678901234567 名称:Customer_Quality_Checks 检查项:已配置 5 项检查 状态:已发布(可执行)
4. 检测重复项
提示词: 检查 Customers 表中的重复电子邮件
响应:
已创建重复项检测规则! 规则 ID:rule-aabbccdd-1122-3344-5566-778899001122 名称:Customer_Email_Duplicates 列:Email 状态:已发布(可执行)
5. 比较不同来源的数据
提示词: 比较 SQL Server Orders 表和 Snowflake FACT_ORDERS 的行数
响应:
已创建校验和规则! 规则 ID:rule-eeff0011-2233-4455-6677-889900aabbcc 名称:Orders_vs_FACT_ORDERS_Checksum 来源:SQL_Server_Production / dbo.Orders 目标:Snowflake_Warehouse / DATAOPS_DW.FACT_ORDERS 检查:SOURCE_COUNT - TARGET_COUNT == 0
6. 执行和监控
提示词: 执行 Customer_Quality_Checks 规则并显示结果
响应:
执行完成! 状态:成功 源行数:1,000 异常:5 行未通过验证 退出代码:5
明细:
- Email_NotNull:3 个失败项
- Email_Format:1 个失败项
- FirstName_NotNull:1 个失败项
7. 分析规则执行历史
提示词: 分析上个月执行的所有规则,并汇总通过、失败和出错的规则
响应:
执行摘要 — 过去 30 天
执行的规则总数:24
通过:17 条规则
- Customer_Quality_Checks — 0 个异常
- Orders_NotNull_Check — 0 个异常
- Product_Format_Validation — 0 个异常
- ……另外 14 条
失败:5 条规则(发现异常)
- Email_Duplicate_Check — 312 个异常
- Orders_vs_FACT_ORDERS_Checksum — 检测到计数不匹配
- Address_Format_Check — 87 个异常
- ……另外 2 条
出错:2 条规则(执行未完成)
- Inventory_Recon_Rule — 连接超时
- Sales_Pushdown_Check — 查询语法错误
Agent 技能
该服务提供了八项技能,位于 skills/ 下(也打包在 Claude 插件中)。每项技能都是
独立的;共享参考资料在 skills/_shared/ 中编辑,并通过 sync.sh 复制。
| 技能 | 适用情况 |
|---|---|
icedq-suggest-checks | 需要建议、覆盖率分析或测试计划时 |
icedq-author-rules | 已知要执行哪些检查(或其他技能已提供规则规范)时 |
icedq-compare-datasets | 需要对迁移进行认证,或持续协调两个数据集时 |
icedq-mapping-doc-rules | 需要根据映射文档生成检查时 |
icedq-etl-code-rules | 需要根据 ETL/SQL/dbt 代码生成检查时 |
icedq-api-testing | 数据源是一个已命名的 REST API(用于验证或与后端进行协调)时 |
icedq-run-and-report | 执行现有规则/工作流并查看异常报告时 |
icedq-schedule-and-monitor | 自动执行现有规则并检查计划历史时 |
有关技能与服务版本策略,请参阅 skills/COMPATIBILITY.md;有关评估套件,请参阅 evals/README.md。
工具完整参考
完整名称、参数和类别数量见 工具参考(49 个工具)。摘要如下:
发现与探索(11 个工具)
| 工具 | 描述 |
|---|---|
| 列出工作区 | 列出 iceDQ 实例中的所有工作区 |
| 列出连接 | 列出工作区中的数据源连接 |
| 测试连接 | 测试数据源连接的连通性 |
| 列出文件夹 | 列出用于整理规则、工作流、计划和参数的文件夹 |
| 列出规则 | 按文件夹、名称、状态或类型搜索和筛选规则 |
| 列出工作流 | 列出工作区中的所有工作流 |
| 列出计划 | 列出工作区中的所有计划 |
| 获取数据库元数据 | 获取连接详情和数据库功能 |
| 列出连接元数据 | 浏览连接对应的数据库、架构、表或列 |
| 获取规则 | 获取完整的规则配置、检查项和元数据 |
| 获取指导 | 开始多步骤任务前获取分步工作流指导 |
数据分析与分析(6 个工具)
| 工具 | 描述 |
|---|---|
| 获取样本数据 | 从数据库表或自定义 SQL 查询中获取实际行 |
| 列出文件 | 列出平面文件连接中可用的文件(Azure Blob、S3、本地) |
| 获取文件样本数据 | 从文件(CSV、Parquet、Excel、JSON、XML)获取样本数据并注册其架构 |
| 获取 API 样本数据 | 从 REST API 端点获取样本数据并注册其架构 |
| 分析数据 | 分析样本数据中的空值、模式、类型和唯一性 |
| 建议质量检查 | 根据分析后的数据提供 AI 驱动的检查建议 |
规则创建(6 个工具)
| 工具 | 描述 |
|---|---|
| 创建验证规则 | 执行行级验证,支持 NotNull、Format、ValidValues、Length、Date 和 Custom 检查 |
| 创建重复项规则 | 在单列或复合列上检测重复项 |
| 创建下推规则 | 执行由 SQL 驱动的聚合和跨表验证 |
| 创建校验和规则 | 执行跨源数值比较(COUNT、SUM、AVG) |
| 分析对账映射 | 提供 AI 驱动的联接键和列映射建议 |
| 创建对账规则 | 执行行级跨源对账 |
规则管理(3 个工具)
| 工具 | 描述 |
|---|---|
| 更新规则 | 添加/移除检查、更改源表或 SQL |
| 移动规则或工作流 | 在文件夹间移动规则或工作流(支持批量、异步) |
| 检查任务状态 | 监控移动等异步操作 |
自定义函数(3 个工具)
| 工具 | 描述 |
|---|---|
| 管理自定义函数 | 创建或更新 Java/Groovy UDF(Evaluator 或 Processor 类型) |
| 列出自定义函数 | 列出工作区中的所有 UDF |
| 获取自定义函数 | 获取 UDF 的完整源代码和元数据 |
工作流(2 个工具)
| 工具 | 描述 |
|---|---|
| 创建工作流 | 将多个规则串联为顺序工作流 |
| 更新工作流规则 | 添加或移除现有工作流中的规则 |
计划任务(3 个工具)
| 工具 | 描述 |
|---|---|
| 创建计划任务 | 计划自动执行规则/工作流 |
| 修改计划任务 | 更新计划任务的时间、重复周期或配置 |
| 将规则/工作流添加到计划任务 | 向现有计划任务添加其他规则/工作流 |
参数(4 个工具)
| 工具 | 描述 |
|---|---|
| List Parameters | 列出并搜索工作区中的参数 |
| Get Parameter | 获取参数的完整详细信息,包括键值对 |
| Create or Update Parameter | 创建新参数或更新现有参数 |
| Parse CSV and Create Parameter | 从 CSV 文件导入参数的键值对 |
数据仓库查询(3 个工具)
| 工具 | 描述 |
|---|---|
| Datawarehouse Query Schema | 发现可用于查询的数据集、列、指标和联接 |
| Datawarehouse Query Executor | 执行结构化且经过架构验证的数据仓库查询 |
| Validate and Explain Structured Query | 试运行查询,并在执行前预览生成的 SQL |
执行与监控(7 个工具)
| 工具 | 描述 |
|---|---|
| Execute Rules or Workflows | 按需执行一个或多个规则或工作流 |
| Execute Schedule | 按需触发计划 |
| Get Rule/Workflow Run History | 查看规则或工作流的执行历史 |
| Get Workflow Run Status or Result | 跟踪执行进度,或获取每项活动的详细结果 |
| Get Scheduler Runs History | 查看计划的执行历史 |
| Get Checks Exception Report | 查看规则运行的行级失败详情 |
| Get Exception Report URL | 获取 iceDQ UI URL,以查看规则或工作流实例的完整异常报告 |
组织(1 个工具)
| 工具 | 描述 |
|---|---|
| Create Folder | 创建文件夹,用于整理规则、工作流、计划和参数 |
故障排除
| 问题 | 解决方案 |
|---|---|
| 需要组织 ID | 在配置中添加组织 ID(例如 org-icedq) |
| SSL 证书验证失败 | Claude Desktop:取消勾选 Verify SSL。npx:将 VERIFY_SSL 设为 false(仅适用于自签名证书)。对于企业 CA,建议使用 NODE_OPTIONS: --use-system-ca |
| 未返回任何工作区 | 验证凭据,检查基础 URL,并确保用户有权访问工作区 |
| 未返回示例数据 | 检查连接是否为 ACTIVE,验证表名(区分大小写),并检查权限 |
| 身份验证失败 | 验证客户端 ID、客户端密钥、用户名和密码是否正确 |
启用调试模式
如需详细排查问题,请启用详细日志记录:
- Claude Desktop(扩展): Settings → Extensions → iceDQ → Configure → Debug Mode: ON
- npx / 手动配置: 在 MCP 配置的
env块中添加"DEBUG": "true"
Claude Desktop 扩展日志位置:
- Windows:
%APPDATA%\Claude\Logs\extensions\ - macOS:
~/Library/Logs/Claude/extensions/
安全与隐私
数据保护方式
- 凭据通过 AI 客户端的配置提供,仅发送到你的 iceDQ 实例 — Claude Desktop 扩展会将其存储在操作系统密钥链中
- 所有通信均使用 HTTPS 和 OAuth 2.0 身份验证
- 数据直接流动于 AI 客户端和 iceDQ 实例之间——没有第三方参与
- 不进行任何遥测或跟踪
- MCP 服务不会在当前会话之外持久保存数据,但你选择启用的令牌除外(
device_flow使用操作系统密钥链 /access_token使用TOKENS_PATH) - SSL 验证默认启用
隐私政策
数据收集: 无。MCP 服务不会收集使用数据、遥测数据或分析数据。
使用与存储: 所有数据都直接流动于 AI 客户端和 iceDQ 实例之间。MCP 服务会在当前会话期间将凭据和 API 令牌保存在内存中。在 device_flow 模式下,令牌会缓存在操作系统密钥链中(并提供本地文件回退方案)。在 access_token 模式下,令牌会保存到你指定的 TOKENS_PATH 文件中。其他任何位置都不会写入数据。
与第三方共享: 无。除你自己的 iceDQ 实例外,不会向 Anthropic、iceDQ 或任何第三方传输数据。
数据保留: 会话结束后,MCP 服务不会保留任何数据。令牌文件(如果使用)会留在你的本地计算机上,由你完全掌控,且可随时删除。
完整详情请参阅:https://icedq.com/privacy-policy
支持
需要帮助?我们随时为你提供支持。
| 渠道 | 联系方式 |
|---|---|
| 电子邮件 | [email protected] |
| 文档 | docs.icedq.com |
| 网站 | icedq.com |
iceDQ 数据质量平台
由 AI 驱动的端到端数据可靠性
icedq.com
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。