Skip to main content

MCP server for Oracle databases — thin mode, no Instant Client required

Project description

mcp-oracle

Oracle database MCP server using python-oracledb in thin mode — no Oracle Instant Client required.

Installation

No manual installation needed. Run directly with:

uvx mcp-oracle

Configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "oracle": {
      "command": "uvx",
      "args": ["mcp-oracle"],
      "env": {
        "ORACLE_DSN": "host:1521/service_name",
        "ORACLE_USER": "usuario",
        "ORACLE_PASSWORD": "senha"
      }
    }
  }
}

DSN Format

Format Example Use when
host:port/service_name db.example.com:1521/ORCL Most modern Oracle databases
host:port:SID db.example.com:1521:ORCL Legacy SID-based connections

service_name vs SID: Modern Oracle databases use service names (check with your DBA). Use the / separator for service names and the : separator for SIDs.

Environment Variables

Variable Required Default Description
ORACLE_DSN Yes Database connection string
ORACLE_USER Yes Database username
ORACLE_PASSWORD Yes Database password
ORACLE_QUERY_ROW_LIMIT No 1000 Maximum rows returned per query
ORACLE_QUERY_TIMEOUT_SECONDS No 30 Query timeout in seconds
ORACLE_POOL_MIN No 1 Minimum connection pool size
ORACLE_POOL_MAX No 4 Maximum connection pool size

Available Tools

  • list_tables — List tables and views accessible to the connected user. Pass schema to list objects from another schema.
  • describe_table — Return columns, data types, nullability, and primary keys for a table. Pass schema for cross-schema lookups.
  • run_query — Execute a SELECT statement and return results as JSON. Supports bind parameters via the params argument.

Table Name Case Sensitivity

Oracle stores identifiers in uppercase by default. describe_table("employees") and describe_table("EMPLOYEES") are equivalent — the server normalizes to uppercase automatically.

License

MIT — © Leonardo Cardoso

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_oracle-0.1.1.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_oracle-0.1.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_oracle-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_oracle-0.1.1.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_oracle-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f4109f8463a3c11788a457cc47a308931d4177e46a17588dd62e23a80fb1df11
MD5 cbadc62e173b15864742cd46474dc634
BLAKE2b-256 832e415f291ce81ae8d2760238d292e9b4f1138c73daccce875b95974f6f1c84

See more details on using hashes here.

File details

Details for the file mcp_oracle-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_oracle-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Pop!_OS","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mcp_oracle-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4af1a4dcaefc30b49b098892935ed1f5abd19bbd52ba4f93fc8caa5e696472b6
MD5 77b8c7d69a59adb59800b43741f7a070
BLAKE2b-256 7e48d1710b52ef909676fc6779f7a2c32c8a2d456c8e68e71118ebe9c7d851ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page