# 数据库内核MCP
#### 简介
在企业数据分析和运营决策过程中，业务人员常需从数据仓库提取数据并生成分析报告。传统模式下，业务人员需将数据需求提交给开发人员，由开发人员编写SQL语句查询数据，再将结果反馈给业务人员。这一流程通常耗时数天，频繁的沟通迭代进一步拖慢了决策效率。
随着大语言模型（LLM）技术的成熟，是否存在一种方式能让业务人员直接使用自然语言与数据库交互，无需编写SQL即可完成数据查询与分析？
**DWS MCP Server** 正是为解决这一需求而生的方案。它基于**MCP（Model Context Protocol）协议**，将DWS数据库的元数据查询、SQL执行等能力以标准化工具接口暴露给大模型，使LLM能够自动理解数据库结构、生成SQL语句并执行查询，最终将查询结果进行业务解读与可视化呈现。
#### 功能介绍
DWS MCP Server目前支持元数据查询、语句执行、监控信息查询等基本功能，以MCP协议中的工具（Tools）和资源（Resource）两种形式向支持MCP协议的客户端暴露。相关工具和资源参见[表1]和[表2]。
 表1数据库管理工具（Tools） 
| 名称                   | 描述                               |
|:---|:---|
| **list_databases** | 列出所有数据库。                         |
| **get_activity**    | 从 pgxc_stat_activity视图获取最近的查询活动。 |
| **execute_query**   | 执行 SQL 查询。                      |
| **list_schemas**  | 列出当前数据库中的所有模式。                   |
| **list_tables**     | 列出指定模式下的所有表。                      |
| **list_views**       | 列出指定模式下的所有视图。                    |
| **get_table_info**   | 获取表/视图的定义。                       |
| **get_comment**    | 获取模式/表的注释。                        |
   
 表2可用资源（Resources） 
| 资源URI                               | 功能说明           |
|:---|:---|
| gaussdb:///{schema}/tables           | 列出指定模式下的所有表     |
| gaussdb:///{schema}/views            | 列出指定模式下的所有视图     |
| gaussdb:///{schema}/{table}/attributes | 列出指定表/视图所有的列     |
| system:///{system_path}                | 系统信息（例如 /version） |
   
#### 使用实践
**DWS MCP Server** 使用流程请参见[基于DWS MCP Server搭建数据分析Agent](https://support.huaweicloud.com/dws-ai-dws/dws_05_0152.html)。
