mcpField
I
icedq-tools

icedq-tools

本地服务
github.com/icedq-tools数据与分析16 周前更新

关于 icedq-tools

icedq-tools 将 AI 客户端连接到 iceDQ Data Reliability Platform,以对话方式处理数据质量工作。工具覆盖数据库、文件和 API 的发现、分析、规则编写、执行、监控与调度。

主要功能

  1. 01浏览工作区、连接和数据
  2. 02分析样本并建议质量检查
  3. 03创建验证规则和重复项规则
  4. 04比较数据源并协调记录
  5. 05运行工作流并安排规则执行
  6. 06监控结果并查看异常

适用场景

  1. 01分析数据表并建议质量检查
  2. 02为数据创建并运行验证规则
  3. 03比较两个连接中的行数
  4. 04查看失败规则和执行历史

MCP 相关

该 MCP 服务向受支持的 MCP 客户端提供 iceDQ 数据探索及数据质量全流程操作,包括规则创建、执行和监控。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"icedq-tools": {
"command": "npx",
"args": [
"-y",
"@icedq/mcp-server"
],
"env": {
"ICEDQ_BASE_URL": "<ICEDQ_BASE_URL>",
"ICEDQ_REALM": "<ICEDQ_REALM>",
"ICEDQ_CLIENT_ID": "<ICEDQ_CLIENT_ID>",
"AUTH_TYPE": "<AUTH_TYPE>",
"ICEDQ_CLIENT_SECRET": "<ICEDQ_CLIENT_SECRET>",
"ICEDQ_USERNAME": "<ICEDQ_USERNAME>",
"ICEDQ_PASSWORD": "<ICEDQ_PASSWORD>",
"TOKENS_PATH": "<TOKENS_PATH>",
"ICEDQ_ORG_ID": "<ICEDQ_ORG_ID>",
"VERIFY_SSL": "<VERIFY_SSL>",
"REQUEST_TIMEOUT": "<REQUEST_TIMEOUT>"
}
}
}
}
启动命令npx -y @icedq/mcp-server
需要配置的环境变量
ICEDQ_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 authentication
AUTH_TYPE密钥How to authenticate: 'username_password' uses credentials below, 'access_token' uses a token file instead
ICEDQ_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@icedq/mcp-server2.0.3

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

iceDQ 标志

iceDQ MCP 服务

将您的 AI 助手连接到 iceDQ 数据可靠性平台

网站  •  文档  •  支持  •  隐私政策

版本 许可证 Node


工作原理?

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.js20.0.0+ (基于 npx 的安装方式需要;Claude Desktop 扩展包含自己的运行时)
iceDQv7.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_passwordOAuth 客户端密钥
ICEDQ_USERNAME用于 username_passwordiceDQ 用户名
ICEDQ_PASSWORD用于 username_passwordiceDQ 密码
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 DesktopClaude Desktop 安装指南
VS Code + Copilot ChatVS Code 配置
VS Code + Claude CodeClaude Code 配置
CursorCursor 配置

有关身份验证配置,请参阅 身份验证指南。


使用示例

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

建议的检查项:

  1. Email - 非空(检测到 33% 为空)
  2. Email - 格式:电子邮件格式
  3. FirstName - 非空(发现空值)
  4. Status - 有效值:Active、Inactive
  5. 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 服务不会保留任何数据。令牌文件(如果使用)会留在你的本地计算机上,由你完全掌控,且可随时删除。

联系: [email protected]

完整详情请参阅:https://icedq.com/privacy-policy


支持

需要帮助?我们随时为你提供支持。

渠道联系方式
电子邮件[email protected]
文档docs.icedq.com
网站icedq.com

iceDQ 数据质量平台
由 AI 驱动的端到端数据可靠性

icedq.com

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。