MCP Server - Oracle DB Context
用于处理大型Oracle数据库的MCP Server。
概述
MCP Oracle DB Context 是一个专为大型 Oracle 数据库设计的模型上下文协议(MCP)服务器,它允许 AI 助手理解和处理包含数千张表的数据库结构。
核心功能
- 智能模式缓存
- 按需查询特定表结构
- 搜索匹配特定模式的表
- 识别表间关系和外键
- 获取数据库元信息
快速设置
方法 1: 使用 Docker (推荐)
- 在 VSCode Insiders 的 settings.json 中添加:
"mcp": {
"inputs": [],
"servers": {
"db-context": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ORACLE_CONNECTION_STRING",
"-e", "TARGET_SCHEMA",
"-e", "CACHE_DIR",
"dmeppiel/mcp-db-context"
],
"env": {
"ORACLE_CONNECTION_STRING":"user/pass@localhost:1521/mydb",
"TARGET_SCHEMA":"",
"CACHE_DIR":".cache",
}
}
}
}
方法 2: 使用 UV (本地安装)
- 安装 Python 3.12+ 和 Oracle 即时客户端
- 安装 UV:
curl -LsSf https://astral.sh/uv/install.sh | sh
- 克隆仓库并设置环境:
git clone https://github.com/yourusername/mcp-db-context.git cd mcp-db-context uv venv source .venv/bin/activate # 或 Windows: .venv\Scripts\activate uv pip install -e .
- 配置 VSCode settings.json
启用与 GitHub Copilot 的集成
- 安装 VSCode Insiders
- 安装 GitHub Copilot 扩展
- 启用代理模式:
- 打开 Copilot 聊天
- 点击 "Copilot Edits"
- 选择 "代理模式"
- 点击刷新加载工具
常用工具
get_table_schema
: 获取表结构详情search_tables_schema
: 通过名称模式查找表get_related_tables
: 查找表间关联关系search_columns
: 搜索特定名称的列get_pl_sql_objects
: 获取存储过程、函数等信息get_object_source
: 检索 PL/SQL 对象源代码rebuild_schema_cache
: 强制重建缓存
示例用法
# 获取表结构
你能给我看一下 EMPLOYEES 表的模式吗?
# 搜索相关表
哪些表与 ORDERS 表相关?
# 查找特定列
哪些表包含与 customer_id 相关的列?
# 获取存储过程代码
你能给我看一下 CUSTOMER_UPDATE_PROC 过程的源代码吗?
系统要求
- Python 3.12+ (本地安装模式)
- Docker (Docker 模式)
- Oracle 数据库访问权限