Oracle数据库操作服务

一个基于Node.js的Oracle数据库操作服务,提供SQL查询、表结构描述和表列信息获取等功能。

  • by nikhilpawar9
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 nikhilpawar9/oracle-mcp-server

使用说明

Oracle MCP 服务器

一个使用Node.js构建的Oracle数据库操作基础模型上下文协议(MCP)服务器。

特点/功能

  • 在Oracle数据库上执行SQL查询
  • 列出数据库表
  • 描述表结构和列
  • 使用环境变量进行安全连接处理

先决条件

  • Node.js(v18或更高版本)
  • Oracle 数据库(本地或远程)
  • Oracle Instant Client(用于 oracledb (软件)包

安装

  1. 安装依赖项:
npm install
  1. 复制环境配置:
cp env.example .env
  1. 更新 .env 附上您的Oracle数据库凭据文件:
ORACLE_USER=your_username
ORACLE_PASSWORD=your_password
ORACLE_CONNECTION_STRING=localhost:1521/XE

Oracle Instant Client 安装设置

这个(或:该) oracledb 该程序包需要 Oracle Instant Client。请按照以下步骤操作:

Windows

  1. 从(指定来源)下载 Oracle Instant Client Oracle的网站
  2. 解压到一个目录(例如。, C:\oracle\instantclient_21_8)
  3. 将该目录添加到你的PATH环境变量中

macOS(苹果电脑操作系统)

# Using Homebrew
brew install instantclient-basic

Linux(发音为“利尼斯”)

# Download and install Oracle Instant Client
wget https://download.oracle.com/otn_software/linux/instantclient/219000/instantclient-basic-linux.x64-21.9.0.0.0dbru.zip
unzip instantclient-basic-linux.x64-21.9.0.0.0dbru.zip
sudo mv instantclient_21_9 /opt/oracle/
export LD_LIBRARY_PATH=/opt/oracle/instantclient_21_9:$LD_LIBRARY_PATH

使用方法

运行服务器

# Start the server
npm start

# Or run in development mode with auto-restart
npm run dev

可用工具

服务器提供以下MCP工具:

  1. 执行查询执行SQL查询

    • 参数: query (必填), params (可选数组)
  2. 获取表格列出数据库表

    • 参数: owner (可选的架构名称)
  3. 描述表格获取表列信息

    • 参数: tableName (必填), owner (可选的模式名称)

示例用法

一旦连接到MCP客户端,您就可以使用这些工具:

  • 执行一个简单查询: execute_query 和;与;带着 query: "SELECT * FROM employees WHERE department = 'IT'"
  • 列出所有表格: get_tables
  • 描述一张桌子: describe_table 和;与 tableName: "employees"

连接字符串示例

  • 本地 Oracle XE: localhost:1521/XE
  • Oracle 云: your_host:1521/your_service_name
  • TNS:(这个缩写在中文中没有直接对应的翻译,通常保持原样,如果是在特定上下文中,可能需要根据上下文来解释其含义,但在这里仅作为缩写保留) (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=service_name)))

安全注意事项

  • 永远不要让你的(决定/承诺等) .env 将文件提交到版本控制中
  • 使用环境变量存储敏感的数据库凭据
  • 考虑在生产环境中使用Oracle Wallet进行部署

许可证

ISC(互联网标准委员会)