项目简介

MCP Oracle 数据库上下文服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在为大型 Oracle 数据库提供结构化上下文信息,从而增强 AI 助手理解和操作数据库的能力。该服务器通过智能缓存数据库 schema 信息,使得 AI 助手能够高效地查询数据库结构,而无需每次都全量加载,尤其适用于包含数千张表的大型数据库。

主要功能点

  • 智能 Schema 缓存: 构建并维护数据库 schema 的本地缓存,大幅减少数据库查询次数,提升响应速度。
  • 定向 Schema 查询: 能够按需检索特定表的 schema 信息,无需加载整个数据库结构,提高效率。
  • 表搜索: 支持通过表名模式匹配搜索表,方便用户快速定位目标表。
  • 关系映射: 解析并展示表之间的外键关系,帮助 AI 理解数据表关联。
  • Oracle 数据库支持: 专为 Oracle 数据库设计,提供优化的数据库结构信息服务。
  • MCP 集成: 无缝集成支持 MCP 协议的 AI 助手,如 GitHub Copilot (VSCode Insiders)、Claude 和 ChatGPT 等。
  • 丰富的数据库信息工具: 提供包括获取表结构、搜索表、搜索列、获取PL/SQL对象信息、获取约束、索引、依赖对象、用户定义类型以及相关表等多种工具,全面支持数据库结构探索和理解。

安装步骤

  1. 安装 Python 3.12+ 和 uv 包管理器 (推荐): 请参考仓库 README 文档中的指引安装 Python 和 uv。uv 是一个更快速的 Python 包管理器,推荐使用以获得更好的安装体验。
  2. 克隆仓库: 使用 'git clone https://github.com/danielmeppiel/mcp-db-context.git' 命令克隆仓库到本地。
  3. 创建并激活虚拟环境: 在项目根目录下,使用 'uv venv' 创建虚拟环境,并根据操作系统激活虚拟环境。
  4. 安装依赖: 在虚拟环境中,使用 'uv pip install -e .' 命令安装项目依赖。
  5. 配置 Oracle 数据库连接: 在项目根目录下创建 '.env' 文件,并添加 Oracle 数据库连接字符串 'ORACLE_CONNECTION_STRING',例如:'ORACLE_CONNECTION_STRING=username/password@hostname:port/service_name'。 可以选择性配置缓存目录 'CACHE_DIR',默认是 '.cache'。

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 GitHub Copilot in VSCode Insiders)集成,您需要在 MCP 客户端的配置中指定服务器的启动命令和参数。以下是 VSCode Insiders 中 'settings.json' 的配置示例,展示了如何配置名为 "db-context" 的 MCP 服务器:

"mcp": {
    "inputs": [],
    "servers": {
        "db-context": {
            "command": "/path/to/your/.local/bin/uv",  // uv 包管理器的路径,请替换为您的实际路径
            "args": [
                "--directory",
                "/path/to/your/mcp-db-context",  // mcp-db-context 仓库的路径,请替换为您的实际路径
                "run",
                "main.py"  // 运行主程序的命令
            ],
            "env": {}
        }
    }
}

配置参数说明:

  • '"servers"': 定义可用的 MCP 服务器。
  • '"db-context"': 服务器名称,可以自定义,客户端通过此名称引用服务器。
  • '"command"': 启动服务器的命令,这里使用 'uv' 运行 'main.py'。
  • '"args"': 传递给 'command' 的参数列表。
    • '"--directory"': 指定工作目录为 'mcp-db-context' 仓库根目录。
    • '"run"': 'uv run' 命令指示 uv 运行 Python 脚本。
    • '"main.py"': 指定要运行的 Python 主程序文件。
  • '"env"': 可以设置环境变量,此处为空。

请务必将 '/path/to/your/.local/bin/uv' 和 '/path/to/your/mcp-db-context' 替换为您实际的 'uv' 路径和 'mcp-db-context' 仓库路径。

基本使用方法

  1. 启动服务器: 在项目根目录下,运行命令 'uv run main.py' 启动 MCP 服务器。

  2. 集成 AI 助手: 根据 AI 助手的 MCP 集成文档 (如 GitHub Copilot 的 Agent Mode),配置并连接到 "db-context" 服务器。

  3. 使用工具: 在 AI 助手的交互界面中,可以使用自然语言调用服务器提供的工具,例如:

    • "请展示 EMPLOYEES 表的结构" (对应 'get_table_schema' 工具)
    • "搜索与客户相关的表并展示它们的结构" (对应 'search_tables_schema' 工具)
    • "数据库是什么版本?" (对应 'get_database_vendor_info' 工具)

    更多可用工具和使用示例请参考仓库 README 文档的 "Available Tools" 章节。

信息

分类

数据库与文件