项目简介

OceanBase MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供与 OceanBase 数据库安全交互的能力。通过此服务器,LLM 可以列出数据库中的表,读取表数据,并执行 SQL 查询,从而实现更结构化和安全的数据库探索与分析。

主要功能点

  • 资源管理: 将 OceanBase 数据库中的表作为资源暴露给 LLM 客户端,允许客户端发现和访问数据库中的数据。
  • 数据访问: 支持读取 OceanBase 表的内容,以文本形式返回数据,方便 LLM 理解和处理。
  • SQL 工具: 提供执行 SQL 查询的工具,允许 LLM 通过调用工具与数据库进行更复杂的操作,例如数据检索、分析等。
  • 安全性: 通过环境变量管理数据库连接信息,避免敏感信息硬编码;同时,鼓励用户配置权限最小化的数据库用户,保障数据库访问安全。
  • 易于部署: 提供 pip 包安装和独立的服务器运行方式,方便用户快速部署和使用。

安装步骤

  1. 确保你的 Python 环境已安装 pip。
  2. 打开终端或命令提示符,执行以下命令安装 'oceanbase-mcp-server':
    pip install oceanbase-mcp-server

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)连接到 OceanBase MCP Server,你需要在客户端的配置文件中添加服务器配置信息。以下是 Claude Desktop 客户端的 'claude_desktop_config.json' 示例配置,你需要根据你的实际环境进行修改:

{
  "mcpServers": {
    "oceanbase": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/oceanbase_mcp_server",  // 请替换为 oceanbase_mcp_server 包的安装路径,通常在 Python 虚拟环境或全局 site-packages 目录下
        "run",
        "oceanbase_mcp_server"
      ],
      "env": {
        "OB_HOST": "localhost",      // OceanBase 数据库主机地址
        "OB_PORT": "2881",          // OceanBase 数据库端口,默认为 2881
        "OB_USER": "your_username",   // 连接 OceanBase 的用户名
        "OB_PASSWORD": "your_password",// 连接 OceanBase 的密码
        "OB_DATABASE": "your_database"// 默认连接的数据库名
      }
    }
  }
}

配置参数说明:

  • server name: 'oceanbase' - 服务器名称,可以自定义。
  • command: 'uv' - 启动服务器的命令,这里使用 'uv' 运行器,你也可以使用 'python -m' 或其他 Python 运行方式。
  • args: 启动命令的参数列表。
    • '--directory "path/to/oceanbase_mcp_server"': 指定 'oceanbase_mcp_server' 包所在的目录,确保 Python 可以找到该包。你需要根据你的实际安装路径进行替换。 如果你全局安装了 'oceanbase-mcp-server',并且 'uv' 或 'python' 命令可以直接找到它,可能不需要 '--directory' 参数。
    • '"run"': uv 运行器的子命令,表示运行一个包。
    • '"oceanbase_mcp_server"': 要运行的 Python 包名。
  • env: 环境变量配置,用于配置数据库连接信息。
    • 'OB_HOST', 'OB_PORT', 'OB_USER', 'OB_PASSWORD', 'OB_DATABASE': OceanBase 数据库的连接参数,请替换为你的实际数据库连接信息。请务必妥善保管数据库密码等敏感信息。

查找 'oceanbase_mcp_server' 包安装路径的方法 (仅供参考):

在安装了 'oceanbase-mcp-server' 的 Python 环境中,打开 Python 交互式解释器,输入以下命令:

import oceanbase_mcp_server
import os
print(os.path.dirname(oceanbase_mcp_server.__file__))

输出的路径就是 'oceanbase_mcp_server' 包的安装路径,你需要将此路径填写到 'claude_desktop_config.json' 的 'args' 中的 '--directory' 参数中。

基本使用方法

  1. 确保 OceanBase MCP Server 已正确安装和配置。
  2. 启动 MCP 客户端 (例如 Claude Desktop),并按照客户端的说明配置 MCP 服务器连接 (通常是配置 'claude_desktop_config.json' 文件)。
  3. 在 MCP 客户端中,你应该能够发现 'oceanbase' 服务器 (根据你在 'claude_desktop_config.json' 中配置的 server name)。
  4. LLM 客户端可以通过 MCP 协议与 OceanBase MCP Server 交互,例如:
    • 列出 OceanBase 中的表资源。
    • 读取指定表的数据内容。
    • 调用 'execute_sql' 工具执行 SQL 查询。

具体的操作方式取决于你使用的 MCP 客户端的功能和界面。请参考你使用的 MCP 客户端的文档。

独立运行服务器:

如果你想独立运行 OceanBase MCP Server,而不是通过 'uv' 或其他运行器,可以按照 README.md 中的 "As a standalone server" 部分的说明操作:

# 安装 requirements.txt 中的依赖
pip install -r requirements.txt

# 运行服务器
python -m oceanbase_mcp_server

然后,你需要根据你的 MCP 客户端的要求,配置连接到这个独立运行的服务器的方式 (如果客户端支持)。

信息

分类

数据库与文件