Atlan Model Context Protocol 服务器允许您的AI代理与Atlan服务进行交互。
[!NOTE] 确保在配置文件中分别用实际的Atlan API密钥、实例URL和代理ID(可选)替换
<YOUR_API_KEY>、<YOUR_INSTANCE>和<YOUR_AGENT_ID>。
前提条件:
docker --version
前往Claude > 设置 > 开发者 > 编辑配置 > 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 > 设置 > 工具与集成 > 新MCP服务器以包含以下内容:
{
"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"
]
}
}
}
前提条件:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 替代方案:如果您已经拥有Python/pip
pip install uv
uv --version
[!NOTE] 使用uv时,
uvx每次运行都会自动获取最新版本。为了更可预测的行为,建议使用Docker选项。
前往Claude > 设置 > 开发者 > 编辑配置 > 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 > 设置 > 工具与集成 > 新MCP服务器以包含以下内容:
{
"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 | 创建词汇条目 |
query_asset | 在表/视图资产上执行SQL查询 |
Atlan MCP服务器包括一个可配置的工具限制中间件,允许您控制哪些工具对用户可用。这对于实现基于角色的访问控制或在特定环境中限制某些操作非常有用。
您可以使用RESTRICTED_TOOLS环境变量来限制对特定工具的访问。提供应被阻止的工具名称的逗号分隔列表:
{
"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"
]
}
}
}
{
"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 - 条目创建限制所有写操作:
RESTRICTED_TOOLS=update_assets_tool,create_glossaries,create_glossary_categories,create_glossary_terms
出于安全或性能原因:
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
当工具受到限制时:
如果您不设置RESTRICTED_TOOLS环境变量,默认情况下所有工具都将可用。
Atlan MCP服务器支持三种传输模式,每种模式都针对不同的部署场景进行了优化。有关MCP传输模式的更多详情,请参阅官方MCP文档。
| 传输模式 | 使用场景 | 优点 | 何时使用 |
|---|---|---|---|
| stdio(默认) | 本地开发,IDE集成 | 简单,直接通信 | Claude桌面,Cursor IDE |
| SSE(服务器发送事件) | 远程部署,Web浏览器 | 实时流式传输,Web兼容 | 云部署,Web客户端 |
| streamable-http | 基于HTTP的远程连接 | 标准HTTP,负载均衡友好 | Kubernetes,容器化部署 |
对于全面的部署说明、配置示例和生产最佳实践,请参阅我们的部署指南。
-e MCP_TRANSPORT=sse)我们目前没有通用可用的Atlan远程MCP服务器。
您可以使用mcp-remote本地代理工具将其连接到您的远程MCP服务器。
这可以让您测试与远程MCP服务器的实际MCP客户端交互。
{
"mcpServers": {
"math": {
"command": "npx",
"args": ["mcp-remote", "https://hosted-domain"]
}
}
}
想要本地开发?查看我们的本地构建指南以获得逐步指导!
简短答案:这取决于您的安装方法。
技术细节:Atlan MCP服务器作为一个Python应用程序实现。Model Context Protocol本身是语言无关的,但我们当前的实现需要Python 3.11+才能运行。
spawn uv ENOENT {"context":"connection","stack":"Error: spawn uv ENOENT\n at ChildProcess._handle.onexit的错误,很可能是因为Claude无法找到uv。解决方法如下:
which uv以验证安装路径whereis uv并使用该路径