Atlan
官方来自Atlan的官方MCP服务器,让您将元数据的力量带入AI工具
你可以用 Atlan MCP 做什么?
- 搜索资产 — 使用
search_assets按条件查找数据资产。 - 通过DSL检索资产 — 使用
get_assets_by_dsl通过领域特定语言查询获取资产。 - 探索数据血缘 — 使用
traverse_lineage追踪资产的上游和下游关系。 - 更新资产元数据 — 通过
update_assets修改资产的用户描述和证书状态。 - 管理业务术语表 — 使用
create_glossaries、create_glossary_categories和create_glossary_terms创建术语表、类别和术语。 - 治理数据质量规则 — 使用
create_dq_rules、update_dq_rules、schedule_dq_rules和delete_dq_rules创建、更新、调度和删除数据质量规则。
文档
Atlan MCP 服务器
[!WARNING] 此本地 MCP 服务器已弃用。 请改用托管在 mcp.atlan.com/mcp 的 Atlan MCP。
本地安装路径(Docker、uv 或
pip install atlan-mcp-server)仅处于维护模式——无新功能,不保证支持。托管端点是集成 Atlan 与 Claude Desktop、Cursor、Codex、Databricks UC 及其他 MCP 客户端的推荐方式。有关设置,请参阅 Atlan MCP 概述。
Atlan 模型上下文协议 服务器允许您的 AI 代理与 Atlan 服务进行交互。
快速开始
- 按照文档生成 Atlan API 密钥。
- 根据您的偏好选择以下方式之一:
- 通过 Docker 安装 - 使用 Docker 容器(推荐)
- 通过 uv 安装 - 使用 UV 包管理器
[!NOTE] 请确保在配置文件中分别将
<YOUR_API_KEY>、<YOUR_INSTANCE>和<YOUR_AGENT_ID>替换为您实际的 Atlan API 密钥、实例 URL 和代理 ID(可选)。
通过 Docker 安装
前提条件:
- 根据您的操作系统遵循官方 Docker 安装指南
- 验证 Docker 是否正在运行:
docker --version
添加到 Claude Desktop
前往 Claude > Settings > Developer > Edit Config > claude_desktop_config.json 并添加:
{
"mcpServers": {
"atlan": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ATLAN_API_KEY=<YOUR_API_KEY>",
"-e",
"ATLAN_BASE_URL=https://<YOUR_INSTANCE>.atlan.com",
"-e",
"ATLAN_AGENT_ID=<YOUR_AGENT_ID>",
"ghcr.io/atlanhq/atlan-mcp-server:latest"
]
}
}
}
添加到 Cursor
打开 Cursor > Settings > Tools & Integrations > New MCP Server 以包含以下内容:
{
"mcpServers": {
"atlan": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ATLAN_API_KEY=<YOUR_API_KEY>",
"-e",
"ATLAN_BASE_URL=https://<YOUR_INSTANCE>.atlan.com",
"-e",
"ATLAN_AGENT_ID=<YOUR_AGENT_ID>",
"ghcr.io/atlanhq/atlan-mcp-server:latest"
]
}
}
}
通过 uv 安装
前提条件:
- 安装 uv:
# macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (PowerShell) powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # Alternative: if you already have Python/pip pip install uv - 验证安装:
uv --version
[!NOTE] 使用 uv 时,
uvx会在每次运行时自动获取最新版本。如需更可预测的行为,请考虑使用 Docker 选项。
添加到 Claude Desktop
前往 Claude > Settings > Developer > Edit Config > claude_desktop_config.json 以包含以下内容:
{
"mcpServers": {
"atlan": {
"command": "uvx",
"args": ["atlan-mcp-server"],
"env": {
"ATLAN_API_KEY": "<YOUR_API_KEY>",
"ATLAN_BASE_URL": "https://<YOUR_INSTANCE>.atlan.com",
"ATLAN_AGENT_ID": "<YOUR_AGENT_ID>"
}
}
}
}
添加到 Cursor
打开 Cursor > Settings > Tools & Integrations > New MCP Server 以包含以下内容:
{
"mcpServers": {
"atlan": {
"command": "uvx",
"args": ["atlan-mcp-server"],
"env": {
"ATLAN_API_KEY": "<YOUR_API_KEY>",
"ATLAN_BASE_URL": "https://<YOUR_INSTANCE>.atlan.com",
"ATLAN_AGENT_ID": "<YOUR_AGENT_ID>"
}
}
}
}
可用工具
| 工具 | 描述 |
|---|---|
search_assets | 根据条件搜索资产 |
get_assets_by_dsl | 使用 DSL 查询检索资产 |
traverse_lineage | 检索资产的沿袭 |
update_assets | 更新资产属性(用户描述和证书状态) |
create_glossaries | 创建业务术语表 |
create_glossary_categories | 创建业务术语表类别 |
create_glossary_terms | 创建业务术语 |
create_dq_rules | 在表、视图、物化视图或 SnowflakeDynamicTable 资产上创建数据质量规则(列级、表级、自定义 SQL) |
update_dq_rules | 更新现有数据质量规则(阈值、优先级、条件等) |
schedule_dq_rules | 使用 cron 表达式为资产调度数据质量规则执行 |
delete_dq_rules | 按 GUID 删除一个或多个数据质量规则 |
query_asset | 对表/视图资产执行 SQL 查询 |
工具访问控制
Atlan MCP 服务器包含一个可配置的工具限制中间件,允许您控制用户可用的工具。这对于实现基于角色的访问控制或在特定环境中限制某些操作非常有用。
限制工具
您可以使用 RESTRICTED_TOOLS 环境变量限制对特定工具的访问。提供一个以逗号分隔的应被阻止的工具名称列表:
Docker 配置
{
"mcpServers": {
"atlan": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ATLAN_API_KEY=<YOUR_API_KEY>",
"-e",
"ATLAN_BASE_URL=https://<YOUR_INSTANCE>.atlan.com",
"-e",
"ATLAN_AGENT_ID=<YOUR_AGENT_ID>",
"-e",
"RESTRICTED_TOOLS=get_assets_by_dsl_tool,update_assets_tool",
"ghcr.io/atlanhq/atlan-mcp-server:latest"
]
}
}
}
uv 配置
{
"mcpServers": {
"atlan": {
"command": "uvx",
"args": ["atlan-mcp-server"],
"env": {
"ATLAN_API_KEY": "<YOUR_API_KEY>",
"ATLAN_BASE_URL": "https://<YOUR_INSTANCE>.atlan.com",
"ATLAN_AGENT_ID": "<YOUR_AGENT_ID>",
"RESTRICTED_TOOLS": "get_assets_by_dsl_tool,update_assets_tool"
}
}
}
}
可用于限制的工具名称
您可以限制以下任何工具:
search_assets_tool- 资产搜索功能get_assets_by_dsl_tool- DSL 查询执行traverse_lineage_tool- 沿袭遍历update_assets_tool- 资产更新(描述、证书)create_glossaries- 业务术语表创建create_glossary_categories- 类别创建create_glossary_terms- 术语创建create_dq_rules_tool- 数据质量规则创建update_dq_rules_tool- 数据质量规则更新schedule_dq_rules_tool- 数据质量规则调度delete_dq_rules_tool- 数据质量规则删除
常见用例
只读访问
限制所有写入操作:
RESTRICTED_TOOLS=update_assets_tool,create_glossaries,create_glossary_categories,create_glossary_terms,create_dq_rules_tool,update_dq_rules_tool,schedule_dq_rules_tool,delete_dq_rules_tool
禁用 DSL 查询
出于安全或性能原因:
RESTRICTED_TOOLS=get_assets_by_dsl_tool
最小访问权限
仅允许基本搜索:
RESTRICTED_TOOLS=get_assets_by_dsl_tool,update_assets_tool,traverse_lineage_tool,create_glossaries,create_glossary_categories,create_glossary_terms,create_dq_rules_tool,update_dq_rules_tool,schedule_dq_rules_tool,delete_dq_rules_tool
工作原理
当工具被限制时:
- 从列表中隐藏:受限工具不会在客户端请求可用工具时出现
- 执行被阻止:如果有人尝试执行受限工具,他们将收到明确的错误消息
- 已记录:所有访问决策都会被记录,以便监控和调试
无限制(默认)
如果您未设置 RESTRICTED_TOOLS 环境变量,默认情况下所有工具都可用。
传输模式
Atlan MCP 服务器支持三种传输模式,每种模式都针对不同的部署场景进行了优化。有关 MCP 传输模式的更多详细信息,请参阅官方 MCP 文档。
| 传输模式 | 用例 | 优势 | 何时使用 |
|---|---|---|---|
| stdio(默认) | 本地开发、IDE 集成 | 简单、直接通信 | Claude Desktop、Cursor IDE |
| SSE(服务器发送事件) | 远程部署、Web 浏览器 | 实时流式传输、Web 兼容 | 云部署、Web 客户端 |
| streamable-http | 基于 HTTP 的远程连接 | 标准 HTTP、负载均衡器友好 | Kubernetes、容器化部署 |
有关全面的部署说明、配置示例和生产环境最佳实践,请参阅我们的部署指南。
生产环境部署
- 在您选择的云/平台上托管 Atlan MCP 容器镜像
- 确保添加所有必需的环境变量
- 为您的部署场景选择合适的传输模式。生产环境推荐使用 SSE 传输(
-e MCP_TRANSPORT=sse) - 有关详细的部署场景和配置,请参阅部署指南
远程 MCP 配置
我们目前没有可供普遍使用的 Atlan 远程 MCP 服务器。
您可以使用 mcp-remote 本地代理工具将其连接到您的远程 MCP 服务器。
这使您可以使用真实的 MCP 客户端测试与远程 MCP 服务器的交互效果。
{
"mcpServers": {
"math": {
"command": "npx",
"args": ["mcp-remote", "https://hosted-domain"]
}
}
}
本地开发
想要本地开发?查看我们的本地构建指南,获取分步演练!
需要帮助?
- 如有任何问题或反馈,请联系 support@atlan.com
- 您也可以直接创建一个 GitHub issue,我们会为您解答
常见问题
我需要安装 Python 吗?
简短回答:这取决于您的安装方法。
- Docker(推荐):主机上无需安装 Python。容器包含所需的一切。
- uv:需要 Python 运行时,但如果尚未可用,uv 将自动为您下载和管理 Python 3.11+。
技术细节:Atlan MCP 服务器是作为 Python 应用程序实现的。模型上下文协议本身与语言无关,但我们当前的实现需要 Python 3.11+ 才能运行。
故障排除
- 如果 Claude Desktop 显示类似
spawn uv ENOENT {"context":"connection","stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit的错误,很可能是此问题,即 Claude 无法找到 uv。解决方法:- 确保 uv 已安装并在您的 PATH 中可用
- 运行
which uv以验证安装路径 - 通过运行
whereis uv更新 Claude 的配置以指向确切的 uv 路径,并使用该路径