MCP Server - Oracle DB Context

MCP Server - Oracle DB Context

用于处理大型Oracle数据库的MCP Server。

概述

MCP Oracle DB Context 是一个专为大型 Oracle 数据库设计的模型上下文协议(MCP)服务器,它允许 AI 助手理解和处理包含数千张表的数据库结构。

核心功能

  • 智能模式缓存
  • 按需查询特定表结构
  • 搜索匹配特定模式的表
  • 识别表间关系和外键
  • 获取数据库元信息

快速设置

方法 1: 使用 Docker (推荐)

  1. 在 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 (本地安装)

  1. 安装 Python 3.12+ 和 Oracle 即时客户端
  2. 安装 UV: curl -LsSf https://astral.sh/uv/install.sh | sh
  3. 克隆仓库并设置环境:
    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 .
    
  4. 配置 VSCode settings.json

启用与 GitHub Copilot 的集成

  1. 安装 VSCode Insiders
  2. 安装 GitHub Copilot 扩展
  3. 启用代理模式:
    • 打开 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 数据库访问权限