OraLink MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OraLink MCPshow me all tables in the HR schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OraLink MCP
Oracle Autonomous Database MCP Server — an OAuth 2.0-compatible, hosted connector for Claude.ai and any MCP client.
What is this?
OraLink MCP is a hosted, OAuth 2.0-compatible Model Context Protocol server that bridges any MCP client (Claude.ai, Claude Desktop, Cursor, VS Code Copilot, Cline, etc.) to Oracle Autonomous Database on OCI — with no SQLcl, no Oracle Instant Client, and no local tooling required.
Unlike Oracle's existing SQLcl MCP server (STDIO/local-only), OraLink MCP:
Runs as an HTTPS endpoint reachable from the cloud
Supports two auth paths: OAuth 2.0 (for Claude.ai marketplace) and static API keys (for OCI ADB public-endpoint / no-OAuth setups)
Works from any device including mobile
Connects to any Oracle ADB instance across regions
Uses node-oracledb Thin Mode — no Oracle Client libraries needed
Provides 28 MCP tools across connection mgmt, schema, query, objects, data, and admin categories
Related MCP server: Universal Database MCP Server
Architecture
Claude.ai / Cursor / Any MCP Client
│ (MCP over HTTPS)
│ Auth: Bearer <jwt> — OAuth 2.0 flow
│ ApiKey <key> — static key (OCI public-endpoint path)
▼
┌──────────────────────────────────┐
│ OraLink MCP │
│ ┌──────────────────────────┐ │
│ │ Auth layer │ │
│ │ OAuth 2.0 /oauth/* │ │
│ │ API Key ORALINK_API_KEYS│ │
│ └───────────┬──────────────┘ │
│ ┌───────────▼──────────────┐ │
│ │ MCP Tools (28) │ │
│ │ add/remove/test_conn / │ │
│ │ schema / query / objects │ │
│ │ data / metadata / admin │ │
│ └───────────┬──────────────┘ │
│ ┌───────────▼──────────────┐ │
│ │ node-oracledb (Thin v6) │ │
│ └───────────┬──────────────┘ │
└──────────────┼───────────────────┘
│ (TLS / mTLS)
▼
Oracle Autonomous Database
(OCI Cloud)Authentication paths
Path 1 — OAuth 2.0 (Claude.ai marketplace)
The standard OAuth 2.0 authorization code flow. Claude.ai handles the redirect; the user fills in their ADB connection details on the OraLink consent form.
1. User clicks "Connect Oracle ADB" in Claude.ai
2. Redirected → GET /oauth/authorize
3. User enters ADB details (connect string, ADMIN username, ADMIN password, optional wallet)
4. POST /oauth/authorize → stores encrypted credentials, issues auth code
5. POST /oauth/token → returns access_token (JWT) + refresh_token
6. Claude.ai stores token, sends as Bearer on every MCP requestPath 2 — Static API key (OCI ADB public endpoint, no OAuth)
OCI Autonomous Database does not provide its own OAuth server. When your ADB instance is on a public endpoint (access controlled via OCI network ACL or resource tag), you can skip the OAuth consent flow and connect with a static pre-shared API key instead.
OCI setup (one-time):
In OCI Console → your ADB → Network → Access Control List: add the IP address of your OraLink server (or use a CIDR / VCN OCID tag).
Under DB Connection: copy the TLS connect string (not the mTLS/wallet download — public-endpoint ADB-S has supported one-way TLS without a wallet since 2023). It looks like:
(description=(retry_count=20)(retry_delay=3) (address=(protocol=tcps)(port=1522) (host=adb.us-ashburn-1.oraclecloud.com)) (connect_data=(service_name=g1abc2def_mydb_high.adb.oraclecloud.com)) (security=(ssl_server_dn_match=yes)))
OraLink server setup:
# Generate a key and a userId
export MY_KEY=$(openssl rand -hex 32)
export MY_USER=$(node -e "console.log(require('crypto').randomUUID())")
# Add to .env
echo "ORALINK_API_KEYS=${MY_KEY}:${MY_USER}" >> .envMCP client config (~/.config/claude/claude_desktop_config.json or mcp.json):
{
"mcpServers": {
"oralink": {
"type": "streamableHttp",
"url": "https://your-oralink-server.example.com/mcp",
"headers": {
"Authorization": "ApiKey YOUR_KEY_HERE"
}
}
}
}Register your ADB connection (call from Claude / any MCP client):
Call tool: add_connection
connection_name : "prod-adb"
connect_string : "(description=...paste TLS connect string here...)"
db_user : "ADMIN"
db_password : "<the ADMIN password you set when creating the ADB instance in OCI Console>"
allow_dml : falseWhere is the ADMIN password?
OCI creates anADMINuser automatically when you provision an Autonomous Database. The password for this user is whatever you typed in the "Administrator credentials" section of the Create Autonomous Database wizard in the OCI Console. If you forgot it, you can reset it from OCI Console → your ADB → More Actions → Reset Admin Password.
Then verify it works:
Call tool: test_connection
connection : "prod-adb"If the test passes you'll see the Oracle version banner. You're ready to use all 28 tools against your ADB instance with no OAuth flow required.
MCP Tools
Connection Management (3 tools)
Tool | Description |
| Register a new ADB connection (OAuth or API-key path) |
| Remove a registered connection |
| Verify a connection by running SELECT on V$VERSION |
Schema & Metadata (8 tools)
Tool | Description |
| List registered ADB connections for this account |
| List all accessible schemas |
| List tables/views in a schema |
| Column definitions, data types, nullable flags |
| Run a SELECT query (read-only by default, max 1000 rows) |
| Get Oracle execution plan for a SQL statement |
| Get DDL for any object (TABLE, VIEW, PROCEDURE...) |
| List stored procedures, functions, packages |
Object Inspection (7 tools)
Tool | Description |
| List indexes on a table or schema (columns, uniqueness, status) |
| List PK, FK, UNIQUE, CHECK constraints on a table |
| List sequences with min/max/increment/cache settings |
| List triggers on a table or schema |
| List synonyms accessible to the user |
| Get the full SQL text behind a view |
| Search any object by name pattern (LIKE syntax) |
Data Access & DML (4 tools)
Tool | Description |
| Fast COUNT(*) with optional WHERE filter |
| Sample rows from a table with optional filter/sort |
| Run INSERT / UPDATE / DELETE / MERGE (requires allowDml) |
| Run an anonymous PL/SQL block with DBMS_OUTPUT capture |
Administration (6 tools)
Tool | Description |
| Database version, name, open mode, log mode, platform |
| Optimizer statistics: rows, blocks, size in MB |
| Tablespace used/total GB and percent used |
| Object-level grants, filterable by owner/object/grantee |
| Active sessions from V$SESSION with idle time |
| Objects with STATUS != VALID |
Quick Start
Prerequisites
Node.js 18+
An Oracle Autonomous Database instance (19c or 26ai)
OCI network ACL allowing your server's IP (public-endpoint path), or
OCI wallet
.zip(for mTLS / private-endpoint path)
Install & run
git clone https://github.com/hvrcharon1/oralink-mcp.git
cd oralink-mcp
npm install
cp .env.example .env
# Edit .env — see MANUAL_STEPS.md for secret generation
npm run devDiscovery document
GET /.well-known/oauth-authorization-server returns the RFC 8414 metadata
document required by Claude.ai marketplace registration.
Deployment
See MANUAL_STEPS.md for actions requiring human input.
# Docker
docker compose up -dSecurity
Credentials encrypted at rest with AES-256-GCM
Per-user isolated connection pools
Only SELECT allowed by default; DML requires explicit opt-in per connection
All queries logged with user context
Wallet content held in memory only — never written to disk
SQL injection prevention via Oracle parameterized query API
API keys never stored; only the key→userId mapping lives in env at startup
License
© 2026 Datacules LLC. All rights reserved.
This software is proprietary and confidential. Unauthorized use, reproduction, or distribution is strictly prohibited. See LICENSE for full terms.
For licensing inquiries: legal@datacules.com
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hvrcharon1/oralink-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server