SQLcl MCP服务器四大新功能深度解析
MCP服务器Oracle SQLcl元数据管理异步查询数据库管理
原文地址: https://www.thatjeffsmith.com/archive/2026/01/did-you-know-summarizing-latest-greatest-mcp-updates/
# SQLcl MCP 服务器最新功能详解
## SQLcl 命令限制级别 (-R)
通过 `-R` 参数可以限制 SQLcl 允许执行的命令级别。默认级别为 4,但可以设置为更严格的限制(如级别 2)来禁用潜在危险的操作(如 HOST、SPOOL 等)。

```bash
Macmini:bin thatjeffsmith$ ./sql -R 2 /nolog
SQLcl: Release 25.4 Production on Tue Jan 13 14:11:00 2026
SQL> spool stuff.csv
SP2-0738: Restricted command:
"spool stuff.csv"
not available
```
在 MCP 配置中的应用:
```json
"mcpServers": {
"sqlcl": {
"args": [
"-mcp",
"-R 2"
]
// 其他配置...
}
}
```
## 指定数据库连接 (-home)
`-home` 参数允许指定 SQLcl 连接配置和 SQL 历史的存储位置,从而限制 MCP 服务器可访问的数据库连接。

配置示例:
```bash
Macmini:bin thatjeffsmith$ ./sql -home /Users/thatjeffsmith/mcp-data /nolog
```
## 异步查询执行
对于长时间运行的查询(超过 60 秒),可以使用异步模式:

请求格式:
```json
{
"sql": "查询语句",
"async": true
}
```
查询状态检查:
```json
{
"job_id": "作业ID",
"command": "status|results|cancel"
}
```
## 结构化元数据获取 (schema-information)
提供标准接口获取数据库元数据,减少 LLM 的令牌消耗和查询次数。

示例输出片段:
```bash
"WP_COMMENTS ((OBJECT_TYPE:TABLE)): COMMENT_ID(DATA_TYPE:NUMBER)..."
```