Oracle

io.github.marcelo-ochoa由 GitHub 账号 marcelo-ochoa 发布v1.0.7更新于 Oct 24, 2026

MCP server for interacting with Oracle databases

已验证STDIO仅桌面数据库数据与分析

概览

AI 生成的概览

让助手检查 Oracle 数据库架构,并执行只读 SQL 查询、解释计划、表统计信息和 AWR 报告。

可以做什么
提供对 Oracle 数据库的只读访问。工具包括在 READ ONLY 事务中执行只读 SQL 的 orcl-query、用于解释计划的 orcl-explain、获取当前架构表统计信息的 orcl-stats、生成自动工作负载存储库报告的 orcl-awr,以及用新凭据重新连接的 orcl-connect。它还提供从 Oracle 元数据自动发现的表架构资源,包含列名和数据类型。
适用场景
适合助手需要浏览 Oracle 架构、运行只读查询,或查看执行计划和 AWR 性能报告而无需另开 SQL 客户端的场景。它面向数据库检查与故障排查,而非写入操作。
运行要求
通过 stdio 在本地运行,通常使用 npm 包或 Docker 镜像。需要能访问 Oracle 数据库的网络,以及 host:port/service_name 或 host:port:SID 形式的 SQLNet 连接字符串。凭据来自 ORACLE_USER 和 ORACLE_PASSWORD 环境变量或 orcl-connect 工具。orcl-explain 和 orcl-awr 需要 SELECT_CATALOG_ROLE,orcl-awr 还需要 DBMS_WORKLOAD_REPOSITORY 的执行权限。
安装前请注意
该服务器会处理数据库凭据:ORACLE_PASSWORD 是机密,orcl-connect 也接受密码参数,因此不要在日志或共享配置中暴露它们。查询被描述为只读,但实际可访问范围仍取决于所连接账户的权限,解释计划和 AWR 功能还需要更高的目录权限。连接生产数据库可能暴露敏感的架构和性能数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Oracle,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Oracle Database

A Model Context Protocol server that provides read-only access to Oracle Database. This server enables LLMs to inspect database schemas, execute and explain read-only queries.

Components

Tools

  • orcl-query

    • Execute read-only SQL queries against the connected Oracle Database
    • Input: sql (string): The SQL query to execute
    • All queries are executed within a READ ONLY transaction
  • orcl-explain

    • Explain plan SQL queries against the connected Oracle Database
    • Input: sql (string): The SQL query to execute
    • Requires GRANT SELECT_CATALOG_ROLE TO your_user;
  • orcl-stats

    • Get statistics for a given table on current connected schema
    • Input: name (string): The table name
    • Table owner is equal to USER SQL function returning value
  • orcl-connect

    • Reconnect using new credentials
    • Input: connectionString (string): SQLNet connect string for example host.docker.internal:1521/freepdb1
    • Input: user (string): Username for example scott
    • Input: password (string): Password, for example tiger

Example: orcl-connect host.docker.internal:1521/freepdb1 hr hr_2025

  • orcl-awr
    • Automatic Workload Repository (AWR) with optional sql_id, requires SELECT_CATALOG_ROLE and grant execute on DBMS_WORKLOAD_REPOSITORY package
    • Input: sql_id (string): (optional) SQL id to get the AWR report for an specific query, if null full last generated AWR report

Resources

The server provides schema information for each table in the Oracle Database current connected user:

  • Table Schemas (oracle://USER/<table>/schema)
    • JSON schema information for each table
    • Includes column names and data types
    • Automatically discovered from Oracle Database metadata

Change Log

See Change Log for the history of changes.

Demos

See Demos for usage examples with Claude Desktop, Docker AI, Gemini CLI, and Antigravity Code Editor.

Oracle AWR in action

See Oracle AWR in action for an example of an AWR report generated using the orcl-awr tool, followed by an analysis of the top SQL statements.

The Oracle server uses environment variables or the orcl-connect tool for secure credential management:

  • ORACLE_USER: Oracle username (optional if using orcl-connect)
  • ORACLE_PASSWORD: Oracle password (optional if using orcl-connect)

Connection String

The connection string should contain only the host, port, and service/SID information (without embedded credentials). Providing it as a command-line argument is optional. If omitted at startup, you must use the orcl-connect tool to establish a connection before using other functionality.

Supported connection string formats:

  • host:port/service_name
  • host:port:SID

Building

Docker:

sh
docker build -t mochoa/mcp-oracle -f src/oracle/Dockerfile .

Usage with Claude Desktop

To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your claude_desktop_config.json:

Docker

  • When running Docker on macOS, use host.docker.internal if the Oracle Database is running on the host network (e.g., localhost)
  • Credentials are passed via environment variables ORACLE_USER and ORACLE_PASSWORD
json
{  "mcpServers": {    "oracle": {      "command": "docker",      "args": [        "run",         "-i",         "--rm",        "-e", "ORACLE_USER=myuser",        "-e", "ORACLE_PASSWORD=mypassword",        "mochoa/mcp-oracle",        "host.docker.internal:1521/freepdb1"      ]    }  }}

Note: You can still provide the connection string as a final argument if you want to connect automatically on startup: "args": [..., "mochoa/mcp-oracle", "host.docker.internal:1521/freepdb1"].

Sources

As usual the code of this extension is at GitHub, feel free to suggest changes and make contributions, note that I am a beginner developer of React and TypeScript so contributions to make this UI better are welcome.

Compared to SQLcl MCP server

Using SQLcl Docker extension you could register a connection using:

sh
docker exec --user sqlcl -ti mochoa_sqlcl-docker-extension-desktop-extension-service /opt/sqlcl/bin/sql -save hr_mcp -savepwd hr/[email protected]:1521/freepdb1   

after that using this registration:

yml
{  "mcpServers": {    "sqlcl-mcp-server": {      "type": "stdio",      "command": "docker",      "args": [        "exec",        "--user",        "sqlcl",        "-i",        "mochoa_sqlcl-docker-extension-desktop-extension-service",        "/opt/sqlcl/bin/sql",        "-mcp"      ]    }  }}

Just replace above Demo prompts instead of "orcl-query" tool use "run-sql".

📜 License

This project is licensed under the Apache License, Version 2.0 for new contributions, with existing code under MIT - see the LICENSE file for details.

来源:src/oracle/README.md,提交 bd2ce8f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.7最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。