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.0.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.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_oracle-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 47ab1c81198ed7ffab87b00eb68d6e2adce2b0205ea083f21766524599ab6fcd
MD5 f63667b32d6e780b2fe3a53a3aaeedd6
BLAKE2b-256 0ac6afdbb8044bf9d44bc45c6f4600c34c5e494607e8d9b646e680c9ae79ac4d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcp_oracle-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c85ed3dd5105ed48f493473162e167d8430d5c5fce6f647948d35320edebb86a
MD5 84be8d97e5c76972792ac52505f260b4
BLAKE2b-256 beda1c23562cc66acbfcae9bcf5cd05489865128ca285fe718f4b029be8b22a5

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