前言
- Oracle SQLcl 是 Oracle 数据库的命令行界面 (CLI),与 VS Code 的 Oracle SQL Developer 扩展等流行工具一起提供。它现在可以作为 MCP 服务器运行,并提供 MCP 工具,允许人工智能助手安全地连接到 Oracle 数据库。 SQLcl 可管理最终用户机器上的凭证,并运行 SQL 和 PL/SQL 查询和脚本。
- 由于SQLcL是一个提供LLM兼容API集成工具,可以和Cline搭配以达到简单开发使用,Cline作为VS code、Trae等ide的扩展工具,需要先安装VS code、Trae或cursor
一、安装sqlcl
下载地址:SQLcl Downloads
解压后,进入bin文件夹,尝试执行可执行文件

报错原因:此应用需要java 17,升级到所需要的版本或更高后再次执行就不报错了

上面图片中中文出现乱码,可以在执行sql.exe -V命令之前执行 chcp 65001 设置编码为 UTF-8


连接本地测试数据库进行测试(可选)
shellsql.exe 用户名/密码@ip:port/服务名
二、MCP Server配置
配置MCP链接
先连接目标数据库
shellsql.exe 用户名/密码@ip:port/服务名配置链接
shellconn -save 自定义mcp名称 -savepwd 用户名/密码@ip:端口号/服务名
检查MCP Server状态:当SQLcl MCP服务器成功启动时,它会显示一条包含启动时间戳的确认消息,表明它已准备好接受来自MCP客户端的连接。您可以在终端上验证此消息,以确认服务器是否已就绪。以下是服务器启动时的示例消息

三、IDE(以Trae为例)使用Cline插件配置MCP Server
安装Cline插件

安装完毕后,左侧会出现Cline的按钮,配置自定义模型(我这里是使用ollama在本地跑了个Qwen2.5:7b的模型,本地模型如果太慢的话,可以选择使用其他服务的API Key,我后来就切换到了DeepSeek,很快)

配置MCP,内容如下,注意修改路径为你自己本地的,mcpServer也可以自定义
json{ "mcpServers": { "localhostOracle": { "disabled": false, "timeout": 300, "type": "stdio", "command": "D:/workSpace/2_development_tools/sqlcl/bin/sql", "args": [ "-mcp", "system/oracle@localhost:1521/xe" ] } } }

- 注意:配置完毕后,可能会出现报错,内容如下,重新打开IDE即可
```tex
Unexpected token 'D', "Dbtools SQ"... is not valid JSON MCP error -32000: Connection closed
```
4. 测试:让MCP列举出测试数据库下的测试用户拥有的表结构

参考文档
- [Oracle MCP Server简单配置以及备份调用 - 技术栈](https://jishuzhan.net/article/1952687401939283970)
- [Oracle MCP Server 本地部署保姆级教程-腾讯云开发者社区-腾讯云](https://cloud.tencent.com/developer/article/2547221)