项目介绍
Ollama MCP 数据库助手
结合了 Ollama 的大语言模型能力与通过模型上下文协议(MCP)访问 PostgreSQL 数据库的交互式聊天界面。用自然语言提问关于您的数据,并获得由真实 SQL 查询支持的人工智能响应。
特性
- 自然语言接口访问您的 PostgreSQL 数据库
- 自动生成 SQL 查询
- 意识到数据库模式的响应
- 交互式聊天界面
- 安全的只读数据库访问
预备条件
- Node.js 16 或更高版本
- 运行中的 PostgreSQL 数据库
- 已安装并本地运行的 Ollama
- 在 Ollama 中拉取 qwen2.5-coder:7b-instruct 模型
设置
- 克隆仓库:
git clone [your-repo-url]
cd [your-repo-name]
- 安装依赖:
npm install
- 拉取所需的 Ollama 模型:
ollama pull qwen2.5-coder:7b-instruct
- 在项目根目录创建一个
.env 文件:
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
OLLAMA_MODEL=qwen2.5-coder:7b-instruct # 可选 - 默认值
使用方法
- 启动聊天界面:
npm start
- 用自然语言提问关于您的数据:
已连接到数据库。现在您可以提问关于您的数据的问题。
输入“exit”退出。
您想了解什么关于您的数据?上个月哪些产品产生了最多收入?
分析中...
[人工智能将生成并执行一个 SQL 查询,然后解释结果]
- 输入 'exit' 退出应用程序。
工作原理
- 应用程序通过 PostgreSQL MCP 服务器 连接到您的 PostgreSQL 数据库
- 加载并缓存您的数据库模式
- 当您提问时:
- 将模式和问题发送给 Ollama
- Ollama 生成适当的 SQL 查询
- 通过 MCP 执行查询
- 结果返回给 Ollama 解释
- 您收到自然语言响应
环境变量
| 变量 | 描述 | 默认值 |
|---|
| DATABASE_URL | PostgreSQL 连接字符串 | 必需 |
| OLLAMA_MODEL | 要使用的 Ollama 模型 | qwen2.5-coder:7b-instruct |
安全性
- 所有数据库访问都是只读的
- SQL 查询仅限于 SELECT 语句
- 数据库凭据在您的 .env 文件中安全保存
开发
构建工具:
- TypeScript
- 模型上下文协议 (MCP)
- Ollama
- PostgreSQL
故障排除
常见问题
-
"无法连接到数据库"
- 检查 .env 中的 DATABASE_URL
- 确认 PostgreSQL 正在运行
- 检查网络连接
-
"无法连接到 Ollama"
- 确保 Ollama 正在运行 (
ollama serve)
- 确认模型已安装 (
ollama list)
-
"执行查询错误"
许可证
MIT
贡献
- 分叉仓库
- 创建您的功能分支
- 提交更改
- 推送到分支
- 打开拉取请求