cursor_oracle_mcp_server
stdin mcp service for Cursor connect Oracle database
claude mcp add --transport stdio kjstart-cursor_oracle_mcp_server docker run -i cursor/oracle-mcp-server \ --env PATH="Include Instant Client directory" \ --env ORACLE_HOME="Path to Oracle Instant Client (set as needed in your environment)" \ --env DYLD_LIBRARY_PATH="Path to Oracle Instant Client libraries (macOS)"
How to use
This MCP server enables AI assistants to execute SQL statements directly against an Oracle database via JDBC. It supports full SQL operations including SELECT, INSERT, UPDATE, DELETE, DDL statements (CREATE, DROP, ALTER, etc.), and allows multiple statements per request. Clients can also execute an entire SQL file with execute_sql_file and receive results as a CSV or plain text file through query_to_csv_file and query_to_text_file, respectively. PL/SQL blocks (procedures, functions, packages, and anonymous blocks) can be run as a single unit, and the system includes human-in-the-loop safety with configurable danger keywords and review windows. Multiple database connections can be configured, and you can switch connections for each operation using the provided connection parameter. Audit logging is built-in, capturing key fields and the full SQL with a 10MB rotation policy. There are also cross-platform considerations (Windows, macOS) and a single executable deployment model with an Oracle Instant Client requirement. To use it, configure one or more Oracle connections in config.yaml (or the equivalent Cursor MCP config) and point your MCP client to the server’s endpoint. When querying, you can request CSV or text outputs, and you can manage connections via list_connections to verify status before dispatching queries.
How to install
Prerequisites:
- Oracle Instant Client (19c or newer) installed and accessible on the host. Ensure the required libraries (oci.dll on Windows, .dylib on macOS) are present.
- Java Runtime Environment is not required if using the pre-built binary (the server is provided as a standalone executable in the release).
- Docker (optional) if you plan to run the server image via container.
Installation steps:
- Download the pre-built binary from the GitHub Releases page for cursor_oracle_mcp_server (choose the appropriate platform: Windows, macOS, or Linux).
- Extract the archive to a desired location. You should see the executable (e.g. oracle-mcp-server-windows-amd64.exe or oracle-mcp-server-darwin-arm64) and accompanying files like user_guide.md and config.yaml.example.
- Install Oracle Instant Client on the host and ensure it’s on your PATH (Windows) or set ORACLE_HOME and DYLD_LIBRARY_PATH (macOS).
- Copy config.yaml.example to config.yaml and configure at least one connection under oracle.connections with your database credentials and TNS alias if using ADB wallets.
- For container-based deployment, pull and run the docker image provided by the project and ensure environment variables like ORACLE_HOME are set inside the container if required by your setup.
- Start the server using the appropriate command for your deployment method (direct executable or via Docker). For example, with Docker you would use the docker run command from the mcp_config section above and then point your Cursor MCP to the server endpoint.
- In Cursor MCP, add the server under mcp.json with the appropriate command path and any necessary environment variables (ORACLE_HOME, DYLD_LIBRARY_PATH, PATH) so the client process can locate the Oracle libraries.
Additional notes
Tips and caveats:
- Ensure ORACLE_HOME and PATH (Windows) or DYLD_LIBRARY_PATH (macOS) include the Oracle Instant Client libraries, otherwise you may encounter ORA errors or missing library issues.
- If you’re using an Autonomous Database (ADB) with a wallet, set TNS_ADMIN to the wallet directory and ensure the wallet contains tnsnames.ora and SSL materials; update config.yaml with the appropriate connection string (TB: mcpdemo_high example) and supply user/password.
- When enabling multi-database support, you can select a specific connection by passing the connection name to execute_sql and related commands; otherwise the single default connection will be used.
- The server supports auditing by default; you can adjust logging and audit settings via config.yaml (audit_log, verbose_logging, log_file) as described in the configuration section of the readme.
- If you run into listener or SSL errors, verify the wallet path (TNS_ADMIN) and ensure the Instant Client libraries match the architecture of your host (e.g., 64-bit for Windows/macOS/Linux).
- For Windows users, adding Instant Client to PATH is often required; for macOS users, ensure DYLD_LIBRARY_PATH includes the Instant Client path and that ORACLE_HOME points to the correct location.
Related MCP Servers
trpc-agent-go
trpc-agent-go is a powerful Go framework for building intelligent agent systems using large language models (LLMs) and tools.
station
Station is our open-source runtime that lets teams deploy agents on their own infrastructure with full control.
tiger-cli
Tiger CLI is the command-line interface for Tiger Cloud. It includes an MCP server for helping coding agents write production-level Postgres code.
gopls
MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.
kubernetes
A Model Context Protocol (MCP) server for the Kubernetes API.
gcp-cost
💰 An MCP server that enables AI assistants to estimate Google Cloud costs, powered by Cloud Billing Catalog API and built with Genkit for Go