Token导航 LogoToken导航

MCP Server · 数据服务

mcporacle (Dbobylev)

一个本地MCP服务器,用于连接Oracle数据库并通过安全工具返回有限的元数据集。

stdio官方级别未说明来源级核验工具 1
数据库工具Python本地部署

快速开始

作者 / 组织
dbobylev
提供方
dbobylev
运行时
Python

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

mcporacle (Dbobylev) 属于数据服务类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv .venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

单胞菌

本地的ROO代码MCP服务器连接到Oracle DB并通过安全的MCP工具返回有限的元数据集。

已经实施的项目

  • Python项目通过 pip
  • MCP 服务器 stdio 运输
  • 工具 get_table_info(schema_name, table_name)
  • 通过环境变量连接到Oracle
  • 通过匿名PL/SQL块获取表和列的描述
  • 基本输入验证和错误处理
  • 最小单位验证和响应格式测试

堆栈

  • Python 3.11+
  • oracledb
  • mcp

限制和安全

  • 该服务器设计用于在没有Docker的Windows主机上运行。
  • 不支持来自用户的任意SQL查询。
  • 该工具仅在服务器端使用固定逻辑。
  • schema_name 和 table_name 通过简单的Oracle身份验证。
  • 元数据只能从 DBA_TABLES, DBA_TAB_COMMENTS, DBA_TAB_COLUMNS, DBA_COL_COMMENTS.

项目结构

.
├── .env.example
├── pyproject.toml
├── readme.md
├── src/
│   └── mcporacle/
│       ├── config.py
│       ├── errors.py
│       ├── models.py
│       ├── server.py
│       ├── validation.py
│       ├── oracle/
│       │   └── client.py
│       └── services/
│           └── table_info.py
└── tests/

安装

PowerShell

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -e .
Copy-Item .env.example .env

设置 .env

创建 .env 基于 .env.example:

MCPORACLE_ORACLE_USER=system
MCPORACLE_ORACLE_PASSWORD=oracle
MCPORACLE_ORACLE_DSN=localhost:1521/FREEPDB1
MCPORACLE_LOG_LEVEL=INFO

必需变量:

  • MCPORACLE_ORACLE_USER
  • MCPORACLE_ORACLE_PASSWORD
  • MCPORACLE_ORACLE_DSN

启动服务器

安装后:

mcporacle

备选案文:

python -m mcporacle.server

服务器从本地MCP服务器开始 stdio适合与Roo Code集成。

在vscode中配置roo code

Roo Code支持两层MCP服务器配置:

  • 全局文件 mcp_settings.json
  • 设计文件 .roo/mcp.json

对于这个项目,使用项目配置更方便。 .roo/mcp.json将设置绑定到特定存储库。

Roo Code接口:

  • 在Vscode中打开Roo Code面板
  • 打开MCP分区
  • 点击 Edit Project MCP
  • 插入下面的配置

推荐选项:Credentials B .env

如果项目的根已经存在 .env服务器将自己读取它。在这种情况下,只需在roo code配置中指定启动命令和 cwd.

{
  "mcpServers": {
    "mcporacle": {
      "command": "C:\\path\\to\\mcporacle\\.venv\\Scripts\\python.exe",
      "args": ["-m", "mcporacle.server"],
      "cwd": "C:\\path\\to\\mcporacle",
      "disabled": false
    }
  }
}

需要替换的内容:

  • C:\\path\\to\\mcporacle 到存储库的绝对路径
  • C:\\path\\to\\mcporacle\\.venv\\Scripts\\python.exe 在虚拟项目环境中实现Python的绝对路径

替代品:Credentials在Roo Code中

如果你不想使用 .env,您可以直接在MCP服务器设置中传递环境变量:

{
  "mcpServers": {
    "mcporacle": {
      "command": "C:\\path\\to\\mcporacle\\.venv\\Scripts\\python.exe",
      "args": ["-m", "mcporacle.server"],
      "cwd": "C:\\path\\to\\mcporacle",
      "env": {
        "MCPORACLE_ORACLE_USER": "system",
        "MCPORACLE_ORACLE_PASSWORD": "oracle",
        "MCPORACLE_ORACLE_DSN": "localhost:1521/FREEPDB1",
        "MCPORACLE_LOG_LEVEL": "INFO"
      },
      "disabled": false
    }
  }
}

什么是重要的启动

  • cwd 必须指向存储库的根,否则服务器找不到本地存储库 .env
  • 通往…的道路 python.exe 最好指定绝对值,以便Roo Code不依赖于激活的终端。
  • 保存后 .roo/mcp.json 服务器将出现在roo code中的MCP服务器列表中
  • 如果服务器已经以不同的配置运行,请从MCP面板重新启动它

快速检查

将MCP服务器连接到Roo Code后,将出现工具 get_table_info例如,您可以进一步提供roo请求:

Используй tool get_table_info для схемы HR и таблицы EMPLOYEES

工具 get_table_info

入口

{
  "schema_name": "HR",
  "table_name": "EMPLOYEES"
}

出口

{
  "ok": true,
  "table": {
    "owner": "HR",
    "table_name": "EMPLOYEES",
    "comment": "Employee master data",
    "columns": [
      {
        "name": "EMPLOYEE_ID",
        "data_type": "NUMBER",
        "nullable": false,
        "data_length": 22,
        "data_precision": 10,
        "data_scale": 0,
        "column_id": 1,
        "comment": "Primary key"
      }
    ]
  }
}

如何实现查询

该工具调用匿名PL/SQL块,该块:

  • 打开一个参考曲线的表信息
  • 打开列列表的第二个参考曲线
  • 通过绑定参数从DBA Views读取数据

这允许您保持严格限制的功能,而不接受客户端的SQL。

Oracle要求

Oracle用户应该能够阅读:

  • DBA_TABLES
  • DBA_TAB_COMMENTS
  • DBA_TAB_COLUMNS
  • DBA_COL_COMMENTS

如果没有访问权限,工具将返回应用程序级别错误。

测试

建立依赖关系后:

python -m unittest discover -s tests -v

还没有加入MVP

  • 其他工具除 get_table_info
  • 连接池
  • 元数据缓存
  • Fallback 的 ALL_*/USER_* 观点
  • 与Oracle DB集成测试

假设

  • 对于第一个MVP,选择了最简单、最安全的接口:只有一个工具,只有MetaData Lookup。
  • 如果用户没有权限 DBA_* Views,服务器现在返回一个明显的错误,而不是试图自动切换到其他字典。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

OraclePython本地部署元数据查询数据库工具MCP服务器

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
mcporacle (Dbobylev)

MCP World · 本页

1stdio有1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

mcporacle (Dbobylev) 怎么安装?

公开资料给出的安装命令是 python -m venv .venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

mcporacle (Dbobylev) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

mcporacle (Dbobylev) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

mcporacle (Dbobylev) 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

mcporacle (Dbobylev) 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP