Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Oracle MCP (.NET)New to Visual Studio Code? Get it now.
Oracle MCP (.NET)

Oracle MCP (.NET)

Przemysław Rachwał

|
1 install
| (0) | Free
Read-only Oracle SELECT tool for AI agents over TCPS with certificate login from the Windows certificate store.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Oracle MCP (.NET)

A VS Code extension that gives AI agents (GitHub Copilot agent mode, Claude Code and other MCP clients) read-only access to an Oracle database. The connection uses TCPS and logs in with a client certificate from the Windows certificate store. No password is stored.

Features

  • Tools: query (one SELECT or WITH statement, read-only transaction) and whoami.
  • Certificate login (external authentication) through ODP.NET Managed. Uses the same Oracle Net settings as sqlplus.
  • Certificate selection at startup: a Windows picker dialog, a remembered thumbprint, or a fixed thumbprint.
  • Diagnostics: --diagnose lists the certificates and tests each thumbprint in a separate process.

Requirements

  • Windows 10 or 11 (certificate store and picker dialog).
  • .NET 10 runtime (the server is framework-dependent).
  • An Oracle 23ai (or compatible) database listening on TCPS.
  • A client certificate in CurrentUser\My with a private key, issued by a CA that the server trusts.
  • tnsnames.ora with the TCPS alias and a sqlnet.ora that points to the client wallet (WALLET_LOCATION, for example METHOD = MCS).

Install

  1. Build the .vsix (see Development) or download it from a release.
  2. In VS Code run Extensions: Install from VSIX... and select the file.
  3. Open Settings and search for oracleMcp. Set at least oracleMcp.tnsAdmin.
  4. Start the server from the MCP list (MCP: List Servers), then use it from agent mode.

Note: VS Code starts MCP servers only after the first chat message in the session.

Settings

Setting Default Meaning
oracleMcp.dsn freepdb_tls TNS alias from tnsnames.ora.
oracleMcp.tnsAdmin (empty) Directory with tnsnames.ora and sqlnet.ora.
oracleMcp.schema (empty) Schema set on connect.
oracleMcp.maxRows 200 Upper limit of rows per query.
oracleMcp.certPicker true Show the certificate picker when no thumbprint is known.
oracleMcp.certThumbprint (empty) Fixed thumbprint. Skips the picker.
oracleMcp.certStoreFile (empty) File that remembers the thumbprint of the last successful login.

Selection order: fixed thumbprint, then remembered thumbprint, then the picker. If the chosen certificate fails and the picker is enabled, the picker is shown again.

Diagnostics

Run the server executable with --diagnose and a list of thumbprints:

$env:ORACLE_DIAG_THUMBPRINTS = 'THUMBPRINT1,THUMBPRINT2'
.\server\mcp-oracle-dotnet.exe --diagnose

The output shows the configuration (without secrets), the certificates with private keys, and a result for each thumbprint. Each ORA error comes with a hint.

Security

  • Only one SELECT or WITH statement is accepted. Other statements are rejected before they reach the database, and the transaction is set to READ ONLY.
  • Schema names are validated before they are used in ALTER SESSION.
  • The private key never leaves the Windows certificate store.
  • The extension stores no passwords. Keep the certStoreFile and wallet directories out of source control.

Development

npm install
npm run build        # compiles the extension and publishes the server to ./server
npm run package      # creates the .vsix

The server is a .NET 10 console app (Program.cs, mcp-oracle-dotnet.csproj). The extension is in src/extension.ts.

License

MIT. See LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft