Alation 数据目录 MCP 服务器

使用说明

项目简介

Alation AI Agent SDK 不仅提供了与 Alation 数据目录交互的核心能力,还包含了一个基于 Model Context Protocol (MCP) 标准实现的服务器模块。这个模块使得任何支持 MCP 协议的 LLM 客户端(如 MCP Inspector, Claude Desktop, LibreChat等)能够发现并利用 Alation 数据目录中的丰富上下文信息,例如数据资产的定义、描述、血缘关系、查询历史等,从而增强 LLM 在数据理解和分析方面的能力。

主要功能点

  • 暴露 Alation 数据目录能力: 将 Alation 核心 SDK 提供的获取数据目录上下文、执行查询等能力通过标准 MCP 工具的形式提供给 LLM。
  • 基于 MCP 协议通信: 支持 MCP 定义的 JSON-RPC 协议进行请求和响应交换。
  • 资源和工具管理: 通过注册工具的方式(例如 'alation_context' 工具),允许 LLM 客户端调用预定义的功能访问 Alation 数据。
  • 会话管理: 维护与客户端的交互会话状态。

安装步骤

该 MCP 服务器模块作为 Alation AI Agent SDK 的一部分发布,可以通过 pip 进行安装。

# 安装 MCP 集成模块 (会自动安装核心 SDK 作为依赖)
pip install alation-ai-agent-mcp

服务器配置

Alation MCP 服务器需要通过环境变量获取连接到您的 Alation 数据目录实例所需的凭据。在启动服务器前,请务必设置以下环境变量:

  • 'ALATION_BASE_URL': 您的 Alation 实例的 URL (例如 'https://your-alation-instance.com')。
  • 'ALATION_USER_ID': 您的 Alation 用户 ID (一个数字)。
  • 'ALATION_REFRESH_TOKEN': 用于生成 API 访问令牌的 Alation Refresh Token。

这些环境变量是服务器连接 Alation API 的必要条件。

对于 MCP 客户端而言,连接到此 MCP 服务器需要知道如何启动它。MCP 客户端的配置通常涉及指定服务器的启动命令和参数。对于 Alation MCP 服务器,标准的启动方式是运行其 Python 模块。

MCP 客户端配置示例所需信息(用户需要在客户端侧进行实际配置,以下是概念说明):

  • 服务器名称 (server name): 用户可自定义,例如 "Alation MCP Server"。
  • 启动命令 (command): 'python'
  • 命令参数 (args): '["-m", "alation_ai_agent_mcp"]' (这指示 Python 解释器运行 'alation_ai_agent_mcp' 模块)。
  • 环境变量 (env): 在客户端启动服务器进程时,需要将上面提到的三个 Alation 凭据环境变量传递给该进程。MCP 客户端的配置通常支持指定要传递的环境变量。

基本使用方法

Alation MCP 服务器主要供支持 MCP 协议的 LLM 客户端使用。用户不需要直接与服务器进行命令行交互(除了启动它)。

  1. 设置环境变量: 在运行服务器的环境中,设置 'ALATION_BASE_URL', 'ALATION_USER_ID', 和 'ALATION_REFRESH_TOKEN' 环境变量。
  2. 启动服务器: 使用 MCP 客户端配置中指定的命令启动服务器进程。许多 MCP 客户端框架会自动在后台启动并管理服务器进程。如果手动启动,可以使用 'python -m alation_ai_agent_mcp' 命令。
  3. 通过 MCP 客户端交互: 在您的 LLM 应用或 MCP 客户端界面中,连接到此 Alation MCP 服务器。LLM 将能够发现并调用服务器注册的工具(如 'alation_context'),通过自然语言或结构化请求从 Alation 数据目录获取上下文信息。

例如,LLM 可能会通过 MCP 协议向服务器发送一个调用 'alation_context' 工具的请求,提供类似 '{"question": "哪些表包含了客户订单信息?", "signature": {...}}' 的参数。服务器接收请求,调用 Alation SDK 与 Alation API 交互,然后将结果作为 MCP 响应返回给 LLM 客户端。

服务器信息