写点什么

【案例共创】在开发者空间开发 MCP Server 完成对 GaussDB 数据库的操作

  • 2025-08-15
    广东
  • 本文字数:2877 字

    阅读完需:约 9 分钟

【案例共创】在开发者空间开发MCP Server完成对GaussDB数据库的操作

本文分享自华为云 HCDE《硬核推荐:用华为开发者空间+ GaussDB + MCP Server 整一个 AI 数据库神器!》

1.案例介绍

本案例展示了基于 GaussDB 纯 Python 驱动与 PQ 接口开发并部署 MCP Server,实现标准 MCP 协议下的高效数据库交互,并通过 CLINE 与 ModelArts DeepSeek V3 模型完成 LLM 推理集成。

2.案例内容

2.1 概述

2.1.1 案例介绍

本案例旨在演示如何基于 GaussDB 开发并部署 MCP Server。实现过程中,需结合 GaussDB 提供的纯 Python 驱动及 PQ 接口,以完成与 GaussDB 数据库的高效连接与交互。

MCP Server 的开发遵循标准 MCP 协议规范,因此可兼容任意支持该协议的客户端进行连接与操作。

在本案例中,将使用 CLINE 工具进行功能演示,并通过 ModelArts 平台提供的 DeepSeek V3 模型完成 LLM 推理能力集成。

2.1.2 适用对象

  • 企业开发者

  • 个人开发者

  • 高校学生

2.1.3 案例时间

本案例总时长预计 90 分钟。

2.1.4 案例流程


  1. 在云主机环境中部署 GaussDB 纯 Python 驱动

  2. 用户可直接在浏览器端与大模型进行自然语言交互,并以自然语言指令驱动 MCP 控制 GaussDB 的各类操作。

  3. 该 MCP Server 负责与 GaussDB 集群建立高效通信,实现指令解析、数据交互与结果返回。

2.1.5 资源总览

本案例预计花费总计 1 元。


2.2 操作步骤

2.2.1 前置配置

2.2.1.1 申请开发者空间云主机

参考下面的步骤,免费领取云主机

https://support.developer.huaweicloud.com/doc/development/resource-tools/zh-cn_topic_0000002367559525-0000002367559525

配置为 Euler 系统


2.2.1.2 申请开通 GaussDB

参考下面的步骤,免费领取 GaussDB 在线试用版

https://developer.huaweicloud.com/signup/75dae31d0eb04cdcab822c76d35eb9a1

等待 GaussDB 实例创建成功后,绑定 EIP,后面在开发者空间中需要使用到 EIP 才能访问。

参考:https://support.huaweicloud.com/usermanual-gaussdb/gaussdb_01_160.html

绑定 EIP:


记住 EIP,用户名(默认 root),密码(创建数据库时自定义),端口(默认 8000)。

2.2.1.3 申请 ModelArts 免费服务

参考下面的步骤,免费体验 ModelArts Studio(MaaS)预置服务

https://support.huaweicloud.com/usermanual-maas-modelarts/maas-modelarts-0020.html

按下面的步骤获取相关信息:

获取 API 地址和模型区域切换到“西南-贵阳一”,依次点击:ModelArts Studio->模型推理->在线推理->预置服务->免费服务->领取->调用说明->OpenAI SDK


创建 API Key

API Key 管理-> 创建 API Key


复制保存密钥。


2.2.2 开发 MCP

2.2.2.1 克隆项目

克隆 github 项目代码,以 Desktop 作为主目录(如果不是,可能会导致后面部分参数需要修改,所以参考这个即可)

在桌面点击右键,点击“在此打开终端”,大约需要 1 分钟,执行下面代码:

git clone https://github.com/pangpang20/mcp-gaussdb-server.gitcd mcp-gaussdb-server/gaussdb-server
复制代码



安装 python3.10,大约 5-10 分钟

开发者空间中的 python 版本为 3.9.9,而 mcp 服务需要安装 python3.10,执行下面代码:

sh install_python310.sh 
复制代码



2.2.2.2 创建虚拟环境

创建虚拟环境,并激活,执行下面代码:

pip3 install uv -i https://pypi.tuna.tsinghua.edu.cn/simpleexport PATH=$HOME/.local/bin:$PATHuv venv --python /usr/local/bin/python3.10source .venv/bin/activate# 查看python版本, 确保是3.10.14python3 -V
复制代码



安装 mcp,执行下面代码:

uv pip install "mcp[cli]" -i https://pypi.tuna.tsinghua.edu.cn/simpleuv pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码

2.2.2.3 安装依赖并配置环境变量

安装依赖

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码

初始化 pq 连接,大约 1 分钟

sh init_pq.sh
复制代码

检查, 正常返回 3 条记录

pip list | grep gaussdb
复制代码



配置 GaussDB 数据库信息

cp .env.sample .env
复制代码

配置数据库连接信息

填写步骤 2.2.2 中 GaussDB 的 EIP 和端口,用户名密码等信息

vim .envGAUSSDB_HOST=xxxGAUSSDB_PORT=8000GAUSSDB_USER=rootGAUSSDB_PASSWORD=xxxGAUSSDB_DATABASE=postgresGAUSSDB_MCP_LOG=/tmp/mcp.log
复制代码

输入:wq 保存退出

2.2.2.4 MCP Server 开发

编写 GaussDBMCP 类,用于连接数据库并执行 SQL 查询。现在实现了建库,建表,插入数据,查询数据等功能,如需实现其他的功能,可以参考已有的代码进行扩展。

cat gaussdb_mcp_server.py
复制代码

2.2.2.5 启动 MCP Server

启动封装的 mcp server,执行下面代码:

sh start_mcp_server.sh
复制代码

没有报错即可退出,因为后面 Cline 会启动 mcp server。

2.2.3 使用 MCP

2.2.3.1 安装 vscode

使用 vscode 连接 mcp server,下载 vscode 需要大约 10 分钟,执行下面代码:

cd ~wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/7adae6a56e34cb64d08899664b814cf620465925/code-1.102.1-1752598762.el8.aarch64.rpmsudo rpm -ivh code-1.102.1-1752598762.el8.aarch64.rpm 
复制代码

安装后,打开 vscode:


2.2.3.2 安装配置 CLINE

在扩展中搜索“cline”,点击安装:


安装后配置 LLM:


2.2.3.3 使用 CLINE 连接 LLM

配置 MaaS 提供的 Deepseek。

API Provider:选择 OpenAI Compatible

Base URL:填写步骤 2.2.1.3 中的 API 地址

OpenAI Compatible API Key:填写步骤 2.2.1.3 中的 API Key

Model ID:填写步骤 2.2.1.3 中的模型参数


提一个问题确保 LLM 可以正常使用,如果提示连接超时等问题,请检查上面的配置是否正确。


2.2.3.4 使用 CLINE 连接 MCP

基于前面的 MCP Server 配置,点击如图步骤,打开 Configure MCP Servers。


在右侧打开的 cline_mcp_settings.json 中改为:

其中 command 中的路径如果不是按上面的默认路径,请改为实际路径即可。

{  "mcpServers": {    "gaussdb": {      "disabled": false,      "timeout": 60,      "type": "stdio",      "command": "/home/developer/Desktop/mcp-gaussdb-server/gaussdb-server/start_mcp_server.sh",      "args": []    }  }}
复制代码

配置后保存,左侧会自动刷新,成功后可以看到 8 个工具

里面通过注解将工具的功能参数等信息都获取到了,详细细节可以查看 2.2.2.4 章节 MCP Server 开发代码。


2.2.3.5 使用 MCP 操作 GaussDB

点击“+”,创建新的任务

指令 1:

给我创建一个表student_info,学生信息,需要的字段有姓名,学号,性别,出生日期,班级,年级,其中学号是自增长的主键
复制代码



因为没有配置自动提交,所以有个提交确认的步骤,点击“Approve”。

可能会遇到错误,但是 LLM 会自己处理,再次确认即可。如下创建成功。


可以到 GaussDB 中查看,登录数据管理服务-GaussDB


输入创建数据库时的密码,点击测试连接,通过后点击登录


登录后,依次点击:库管理->对象列表->Schema,选择“root”(如果在 2.3.3 中配置为其他数据库用户,这里就改为对应的用户名),由 MCP 创建的表可以查到。


指令 2:

在student_info表中插入一条测试数据学号为1001,并查询出来
复制代码



GaussDB 中查询:


指令 3:

修改student_info表中学号student_id为1001的学生信息,将姓名改为李四,并查询出来
复制代码



遇到问题的时候,LLM 会查询表结构


GaussDB 中查询:

姓名已经更新


至此,在开发者空间云主机中开发 MCP 操作 GaussDB 顺利结束!

github 地址链接:https://github.com/HuaweiCloudDeveloper/gaussdb-drivers


关注“华为云开发者联盟”,了解更多技术动态。

用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
【案例共创】在开发者空间开发MCP Server完成对GaussDB数据库的操作_华为云开发者联盟_InfoQ写作社区