ADK 的 Atlan MCP 工具¶
Supported in ADKPythonTypeScript
Atlan MCP 服务器 将你的 ADK 智能体连接到 Atlan,即企业 AI 的上下文层,让你的智能体能够访问组织的情境仓库:你的 AI 智能体高效构建所需的知识、数据和语义。此集成使你的智能体能够搜索和发现企业上下文、遍历端到端血缘、访问受管控的数据定义和术语表、执行 SQL、管理你的元数据图以及确保数据质量,从而使每个智能体任务都基于受信任的组织上下文。
使用场景¶
-
搜索和发现企业上下文:使用自然语言在整个技术栈中查找表、列、仪表板、术语表术语和数据产品。
-
遍历端到端血缘:跨系统追踪数据流的上下游,以在架构变更前了解依赖关系。
-
访问受管控的数据定义:使用术语表、数据域和认证元数据,将智能体输出建立在受信任的组织上下文中。
-
管理你的元数据图:直接从你的智能体更新描述、认证资产、管理术语表、定义数据质量规则和调度以及执行 SQL。
前置条件¶
- 一个 Atlan 租户
- 具有访问你所需查询资产权限的 Atlan 账户
- 本地安装 Node.js(由
mcp-remote用于桥接到托管的 MCP 服务器)
在智能体中使用¶
from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters
root_agent = Agent(
model="gemini-flash-latest",
name="atlan_agent",
instruction="使用 Atlan 帮助用户搜索、发现和管理企业数据资产",
tools=[
McpToolset(
connection_params=StdioConnectionParams(
server_params=StdioServerParameters(
command="npx",
args=[
"-y",
"mcp-remote",
"https://mcp.atlan.com/mcp",
]
),
timeout=30,
),
)
],
)
import { LlmAgent, MCPToolset } from "@google/adk";
const rootAgent = new LlmAgent({
model: "gemini-flash-latest",
name: "atlan_agent",
instruction: "使用 Atlan 帮助用户搜索、发现和管理企业数据资产",
tools: [
new MCPToolset({
type: "StdioConnectionParams",
serverParams: {
command: "npx",
args: [
"-y",
"mcp-remote",
"https://mcp.atlan.com/mcp",
],
},
}),
],
});
export { rootAgent };
Note
首次运行此智能体时,浏览器窗口会自动打开以通过 OAuth 请求访问权限。或者,你也可以使用控制台中打印的授权 URL。你必须批准此请求才能允许智能体访问你的 Atlan 租户。
可用工具¶
发现与搜索¶
| 工具 | 描述 |
|---|---|
semantic_search_tool |
使用 AI 驱动的语义理解对所有数据资产进行自然语言搜索 |
search_assets_tool |
使用结构化过滤器和条件搜索资产 |
traverse_lineage_tool |
追踪资产的上下游(来源或消费者)数据流 |
query_assets_tool |
对连接的数据源执行 SQL 查询 |
get_asset_tool |
通过 GUID 或限定名称获取单个资产的详细信息(包括自定义元数据、数据质量检查和 README) |
resolve_metadata_tool |
按名称或描述发现元数据实体(用户、分类、自定义元数据集、术语表、域、数据产品) |
get_groups_tool |
列出工作区组及其成员 |
search_atlan_docs_tool |
搜索 Atlan 的产品文档并返回带有来源引用的 LLM 生成答案 |
资产更新¶
| 工具 | 描述 |
|---|---|
update_assets_tool |
更新资产描述、证书状态、README 或术语 |
manage_announcements_tool |
在资产上添加或删除公告(信息、警告、问题) |
manage_asset_lifecycle_tool |
归档、恢复或永久清除资产 |
术语表与域¶
| 工具 | 描述 |
|---|---|
create_glossaries |
创建新的术语表 |
create_glossary_terms |
在术语表中创建术语 |
create_glossary_categories |
在术语表中创建分类 |
create_domains |
创建数据域和子域 |
create_data_products |
创建与域和资产关联的数据产品 |
数据质量规则¶
| 工具 | 描述 |
|---|---|
create_dq_rules_tool |
创建数据质量规则(空值检查、唯一性、正则表达式、自定义 SQL 等) |
update_dq_rules_tool |
更新现有数据质量规则 |
schedule_dq_rules_tool |
使用 cron 表达式调度数据质量规则执行 |
delete_dq_rules_tool |
删除数据质量规则 |
自定义元数据¶
| 工具 | 描述 |
|---|---|
create_custom_metadata_set_tool |
创建带有类型属性的自定义元数据集 |
add_attributes_to_cm_set_tool |
向现有自定义元数据集添加新属性 |
remove_attributes_from_cm_set_tool |
从自定义元数据集中归档(软删除)属性 |
delete_custom_metadata_set_tool |
永久删除自定义元数据集并从所有资产中清除其值 |
update_custom_metadata_tool |
更新一个或多个资产上的自定义元数据值 |
remove_custom_metadata_tool |
从资产中移除自定义数据集的值 |
Atlan 标签¶
| 工具 | 描述 |
|---|---|
add_atlan_tags_tool |
向一个或多个资产添加 Atlan 标签 |
remove_atlan_tag_tool |
从一个或多个资产移除 Atlan 标签 |