接 Oracle 用 SQLcl MCP,密码放 ~/.dbtools 不要写进 config.toml
SQLcl 25.2+ 用 sql -mcp。先 conn -save -savepwd 存别名。command 写绝对路径,Java 起得慢就 required = true。不要抄 Claude 的 mcpServers JSON。
先装 Oracle SQLcl 25.2 或更高,以及 Java 17 或 21。在 SQLcl 里自己存好连接,密码进 ~/.dbtools,不要让 Codex 拼连接串:
sql
SQL> conn -save devdb -savepwd
别名要先能手工连上。然后用绝对路径把 SQLcl 注册成 MCP,不要只写 sql:
codex mcp add sqlcl -- /opt/oracle/sqlcl/bin/sql -mcp
或写用户配置:
[mcp_servers.sqlcl]
command = "/opt/oracle/sqlcl/bin/sql"
args = ["-mcp"]
required = true
startup_timeout_sec = 40
enabled = true
Windows 把 command 换成 sql.exe 的绝对路径。从 Dock 打开的桌面经常没有 SQLcl 的 PATH,裸命令会 command not found,见 macOS 裸命令那条。
Java 起 MCP 经常超过可选服务器默认 1 秒宽限。codex exec 要用到它时必须 required = true,或把 mcp_optional_startup_grace_ms 改成 0。不要抄 Cline / Claude 的 mcpServers JSON 进 Codex。
改完新开会话,用 codex mcp list 和 /mcp 核对工具。先让它连已保存的 devdb,只跑只读查询。工具名以本机 /mcp 为准,常见是 list-connections、connect、run-sql。写操作另开审批,不要把连接串或密码写进 AGENTS.md。