使用说明
Oracle MCP 服务器
一个使用Node.js构建的Oracle数据库操作基础模型上下文协议(MCP)服务器。
特点/功能
- 在Oracle数据库上执行SQL查询
- 列出数据库表
- 描述表结构和列
- 使用环境变量进行安全连接处理
先决条件
- Node.js(v18或更高版本)
- Oracle 数据库(本地或远程)
- Oracle Instant Client(用于
oracledb(软件)包
安装
- 安装依赖项:
npm install
- 复制环境配置:
cp env.example .env
- 更新
.env附上您的Oracle数据库凭据文件:
ORACLE_USER=your_username
ORACLE_PASSWORD=your_password
ORACLE_CONNECTION_STRING=localhost:1521/XE
Oracle Instant Client 安装设置
这个(或:该) oracledb 该程序包需要 Oracle Instant Client。请按照以下步骤操作:
Windows
- 从(指定来源)下载 Oracle Instant Client Oracle的网站
- 解压到一个目录(例如。,
C:\oracle\instantclient_21_8) - 将该目录添加到你的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工具:
-
执行查询执行SQL查询
- 参数:
query(必填),params(可选数组)
- 参数:
-
获取表格列出数据库表
- 参数:
owner(可选的架构名称)
- 参数:
-
描述表格获取表列信息
- 参数:
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(互联网标准委员会)
