代码已上传github上,这是github仓库地址,如果项目对你有帮助,欢迎点个Star鼓励!
前两章我们只支持SQLite,但现实中的企业环境需要:
今天我们要让MCP DataTools从"玩具"变成"工具"!
这次的项目结构更加完善:
首先升级pyproject.toml,添加多数据库支持:
pyproject.toml
创建统一的配置管理系统:
升级数据库管理器,支持多种数据库:
重要变化:实际代码采用了更灵活的架构,所有工具函数都重新设计为 *_by_url 命名方式,必须显式传入 database_url 参数:
*_by_url
database_url
这种设计的优势:
新增的 utils.py 文件提供了重要的公共功能:
utils.py
工具函数的作用:
setup_project_path()
database_operation
mask_password()
你已在上一步准备好了 init.sql。首次启动容器(数据卷为空)时会自动执行这些脚本。
在日常开发中,建议:
这样既轻量,又能快速切换数据库类型,满足“多数据库支持”的目标。
你可以为数据库单独准备一个 compose 文件(例如:docker-compose.db.yml),仅包含 Postgres 与 MySQL 服务:
启动与验证:
如果你只需要其中一个数据库:
PostgreSQL:
MySQL:
Windows PowerShell 下将 $(pwd) 改为 ${PWD}。
$(pwd)
${PWD}
创建多数据库测试脚本:
现在你可以测试多数据库功能:
获取数据库信息:
获取指定数据库的用户信息:
连接池监控:
这一篇我们成功实现了PostgreSQL、MySQL、SQLite多数据库支持,加上基础连接池配置、配置管理和使用 Docker 启动数据库环境,让MCP数据库工具从“玩具”升级为真正的生产级工具。
代码已上传github上,这是github仓库地址,如果项目对你有帮助,欢迎点个Star鼓励!
为什么要支持多数据库?
前两章我们只支持SQLite,但现实中的企业环境需要:
今天我们要让MCP DataTools从"玩具"变成"工具"!
第一步:项目结构升级
这次的项目结构更加完善:
第二步:依赖升级
首先升级
pyproject.toml,添加多数据库支持:第三步:配置管理系统
创建统一的配置管理系统:
第四步:多数据库连接管理
升级数据库管理器,支持多种数据库:
第五步:MCP服务器架构升级
重要变化:实际代码采用了更灵活的架构,所有工具函数都重新设计为
*_by_url命名方式,必须显式传入database_url参数:这种设计的优势:
第六步:公共工具函数
新增的
utils.py文件提供了重要的公共功能:工具函数的作用:
setup_project_path()解决模块导入问题database_operation装饰器统一处理数据库操作错误mask_password()隐藏连接字符串中的敏感信息第七步:数据库初始化脚本
第八步:使用 Docker 启动数据库(推荐),应用本地运行
在日常开发中,建议:
这样既轻量,又能快速切换数据库类型,满足“多数据库支持”的目标。
使用 docker-compose 启动数据库(PostgreSQL + MySQL)
你可以为数据库单独准备一个 compose 文件(例如:docker-compose.db.yml),仅包含 Postgres 与 MySQL 服务:
启动与验证:
使用 docker run 启动单个数据库(不使用 compose)
如果你只需要其中一个数据库:
PostgreSQL:
MySQL:
第九步:测试脚本
创建多数据库测试脚本:
第十步:使用指南
安装依赖
启动MCP服务器
第十一步:Cursor配置
配置示例
测试效果
现在你可以测试多数据库功能:
获取数据库信息:
获取指定数据库的用户信息:
连接池监控:
总结与预告
这一篇我们成功实现了PostgreSQL、MySQL、SQLite多数据库支持,加上基础连接池配置、配置管理和使用 Docker 启动数据库环境,让MCP数据库工具从“玩具”升级为真正的生产级工具。