Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

oraclemcp

OCI · GHCR.IO/MUHDUR/ORACLEMCP:0.10.0 · SCANNED AUG 3

Engine-free, governed Oracle Database MCP server with a fail-closed SQL guard (unofficial).

+32 this week 43 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • CVE data not yet available for this package.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency-health data not yet available.Unverified
Provenance & Transparency45
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (Apache-2.0 OR MIT).Pass
  • Actively maintained (last published 7 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability76
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 6858 tokens (~152/item across 45 items; 43 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (9% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

oci · ghcr.io/muhdur/oraclemcp:0.10.0

# add to Claude Code
claude mcp add muhdur-oraclemcp -- docker run --rm -i ghcr.io/muhdur/oraclemcp:0.10.0
# add to Codex CLI
codex mcp add muhdur-oraclemcp -- docker run --rm -i ghcr.io/muhdur/oraclemcp:0.10.0
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "muhdur-oraclemcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/muhdur/oraclemcp:0.10.0"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  muhdur-oraclemcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/muhdur/oraclemcp:0.10.0"]
// mcp.json
{
  "mcpServers": {
    "muhdur-oraclemcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/muhdur/oraclemcp:0.10.0"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +4
    • Stability: unverified → 0.23 functional
  • 31 Jul 26 −6
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +34
    • Tool coverage: unverified → 100 functional
    • Schema quality: unverified → 100 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 9 functional
    • First check of Tool coverage: 100 functional
    • First check of Schema quality: good functional
  • 27 Jul 26 11

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed oci/ghcr.io/muhdur/oraclemcp:0.10.0

Provenance none

Ecosystem: oci · Outcome: none

Reason: verify_failed

Discovery method:
cosign_tag
MCP tools — 43 exposed · ~6,807 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
current_database ~28

Compatibility alias for oracle_connection_info; returns connected=false with recovery hints when live connection metadata is unavailable.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

describe_index ~59

Compatibility alias for oracle_describe_index.

NameTypeReqDescription
index_namestringIndex name. May be OWNER.INDEX_NAME.
namestringAlias for index_name.
ownerstringOptional schema owner; defaults to current schema.

No output schema declared.

No examples provided.

describe_table ~98

Compatibility alias for oracle_describe; returns columns and constraints.

NameTypeReqDescription
limitintegerAlias for max_rows.
max_rowsintegerMaximum columns and constraints returned.
namestringAlias for table_name.
ownerstringOptional schema owner; defaults to current schema.
tablestringAlias for table_name.
table_namestringTable or view name. May be OWNER.TABLE.

No output schema declared.

No examples provided.

describe_trigger ~59

Compatibility alias for oracle_describe_trigger.

NameTypeReqDescription
namestringAlias for trigger_name.
ownerstringOptional schema owner; defaults to current schema.
trigger_namestringTrigger name. May be OWNER.TRIGGER_NAME.

No output schema declared.

No examples provided.

describe_view ~59

Compatibility alias for oracle_describe_view.

NameTypeReqDescription
namestringAlias for view_name.
ownerstringOptional schema owner; defaults to current schema.
view_namestringView name. May be OWNER.VIEW_NAME.

No output schema declared.

No examples provided.

get_clob ~151

Compatibility alias for oracle_read_clob.

NameTypeReqDescription
clob_colstringCLOB/NCLOB/text column name.
clob_columnstringAlias for clob_col.
max_charsintegerMaximum characters to return.
ownerstringOptional schema owner; defaults to current schema.
pk_colstringKey column name.
pk_columnstringAlias for pk_col.
pk_valstringKey value bound as :1.
pk_valuestringAlias for pk_val.
tablestringTable or view name. May be OWNER.TABLE.
table_namestringAlias for table.

No output schema declared.

No examples provided.

get_ddl ~82

Compatibility alias for oracle_get_ddl; long DDL is explicitly marked partial rather than silently truncated.

NameTypeReqDescription
namestringAlias for object_name.
object_namestringObject name. May be OWNER.NAME.
object_typestringyesAllowlisted object type.
ownerstringOptional schema owner; defaults to current schema.

No output schema declared.

No examples provided.

get_errors ~80

Compatibility alias for oracle_compile_errors.

NameTypeReqDescription
limitintegerAlias for max_rows.
max_rowsintegerMaximum compiler diagnostics returned.
namestringAlias for object_name.
object_namestringOptional object name. May be OWNER.NAME.
ownerstringOptional schema owner; defaults to current schema.

No output schema declared.

No examples provided.

get_object_source ~128

Compatibility alias for oracle_get_source. Omit object_type to return every visible source variant for the object name.

NameTypeReqDescription
max_charsintegerMaximum source characters to return.
namestringAlias for object_name.
object_namestringObject name. May be OWNER.NAME.
object_typestringOptional source type: PACKAGE, PACKAGE_BODY, PROCEDURE, FUNCTION, TRIGGER, TYPE, or TYPE_BODY. When omitted, all visible source types for this name are returned.
ownerstringOptional schema owner; defaults to current schema.

No output schema declared.

No examples provided.

get_schema ~151

Compact schema orientation alias. With no object_type it lists TABLE, VIEW, and PACKAGE objects only; a bounded truncated page carries an opaque cursor.

NameTypeReqDescription
cursorstringOpaque continuation cursor returned by a truncated get_schema page.
limitintegerMaximum objects to return (default 100, hard cap 250).
max_rowsintegerAlias for limit.
name_likestringOptional SQL LIKE pattern for object_name.
object_typestringOptional object type filter. Supplying it overrides the compact TABLE/VIEW/PACKAGE default projection.
ownerstringOptional schema owner; omit for current schema, or use * for all accessible schemas.

No output schema declared.

No examples provided.

list_objects ~88

Compatibility alias for oracle_schema_inspect.

NameTypeReqDescription
limitintegerMaximum objects to return.
max_rowsintegerAlias for limit.
name_likestringOptional SQL LIKE pattern for object_name.
object_typestringOptional object type filter.
ownerstringOptional schema owner; omit for current schema, or use * for all accessible schemas.

No output schema declared.

No examples provided.

list_schemas ~55

Compatibility alias for oracle_list_schemas.

NameTypeReqDescription
limitintegerAlias for max_rows.
max_rowsintegerMaximum schemas to return.
name_likestringOptional SQL LIKE pattern for schema names.

No output schema declared.

No examples provided.

oracle_capabilities ~68

Compact discovery entry point: tools, operating level + gates, connection/standby status, feature tiers, version. Pass detail_level=full for the complete descriptor report.

NameTypeReqDescription
detail_levelstringcompact (default) omits tool summaries and schemas; full returns the complete descriptor report.

No output schema declared.

No examples provided.

oracle_compile_errors ~133

Retrieve compile errors for the current schema, an owner, or one object (ALL_ERRORS).

NameTypeReqDescription
limitintegerAlias for max_rows. Prefer max_rows.
max_rowsintegerMaximum compile errors to return (default 200, hard cap 5000).
namestringOptional object name. May be OWNER.NAME. Omit to list all compile errors for the owner/current schema.
object_namestringAlias for name for compatibility with older clients. Prefer name.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.

No output schema declared.

No examples provided.

oracle_connection_info ~36

Describe the active profile and Oracle connection. When live connection metadata is unavailable, returns connected=false with a structured connection_error and next_actions.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

oracle_db_health ~180

Read-only DBA health-check suite. health_type='all' (default) or a comma list of subchecks (invalid_objects, unusable_indexes, tablespace_undo, sequence_ceiling, disabled_constraints, buffer_cache_hit_ratio). Pure V$/DBA_*/ALL_* reads; each subcheck degrades DBA_*->ALL_* and yields a structured skip on insufficient privilege rather than failing the suite.

NameTypeReqDescription
health_typestringEither 'all' (default) or a comma-separated list of subcheck names: invalid_objects, unusable_indexes, tablespace_undo, sequence_ceiling, disabled_constraints, buffer_cache_hit_ratio. Unknown names a…
timeout_secondsintegerTightens the profile's total request deadline and each Oracle round-trip cap for this tool call. It cannot widen the profile ceiling.

No output schema declared.

No examples provided.

oracle_describe ~135

Describe a table/view's columns and constraint metadata.

NameTypeReqDescription
limitintegerAlias for max_rows. Prefer max_rows.
max_rowsintegerMaximum constraint rows to return (default 200, hard cap 5000).
namestringAlias for table. Prefer table.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.
tablestringTable or view name. May be OWNER.TABLE. Required unless table_name or name is supplied.
table_namestringAlias for table for compatibility with older clients. Prefer table.

No output schema declared.

No examples provided.

oracle_describe_index ~84

Describe one index's metadata, indexed columns, and function-based expressions.

NameTypeReqDescription
index_namestringAlias for name for compatibility with older clients. Prefer name.
namestringIndex name (case-insensitive). Required unless index_name is supplied.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.

No output schema declared.

No examples provided.

oracle_describe_trigger ~86

Describe one trigger's timing, event, target table, status, and body.

NameTypeReqDescription
namestringTrigger name (case-insensitive). Required unless trigger_name is supplied.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.
trigger_namestringAlias for name for compatibility with older clients. Prefer name.

No output schema declared.

No examples provided.

oracle_describe_view ~79

Describe one view's definition metadata and columns.

NameTypeReqDescription
namestringView name (case-insensitive). Required unless view_name is supplied.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.
view_namestringAlias for name for compatibility with older clients. Prefer name.

No output schema declared.

No examples provided.

oracle_diff ~531

Diff one proven read-only SELECT across two Oracle SCNs, or across two databases.

NameTypeReqDescription
bindsarrayPositional bind values (string | number | bool | null) for :1, :2 …
db_astringAlias for profile_a.
db_bstringAlias for profile_b.
keyarrayOptional result-column names used to align rows and report changed[]. If omitted, oracle_diff infers a primary key only for a single resolved local table; otherwise it falls back to keyless add/remov…
key_columnsarrayAlias for key.
keysarrayAlias for key.
max_blob_bytesintegerMaximum BLOB bytes to inline per cell as base64 (default 1048576).
max_col_widthintegerCompatibility text cap for ordinary text/raw columns. Truncated values are returned as { value, truncated, char_length }.
max_lob_charsintegerMaximum CLOB characters to inline per cell (default 32768).
max_result_bytesintegerMaximum compact JSON bytes per compared side (default 10485760, hard cap 26214400).
max_rowsintegerMaximum rows compared from each side (default 200, hard cap 5000).
numbers_as_floatbooleanEmit numeric values as JSON numbers where possible. Default false preserves Oracle NUMBER losslessly as strings.
profile_astringConnection profile for side A. Supplying profile_a and profile_b selects cross-database mode: the same proven read runs against two databases (e.g. prod vs staging), each classified against its own c…
profile_bstringConnection profile for side B. See profile_a.
scn_aintegerSystem change number for side A. Required with scn_b when comparing one database at two points in time; optional in cross-database mode, where it pins side A to a flashback read instead of the curren…
scn_bintegerSystem change number for side B. See scn_a.
sqlstringyesA single read-only SELECT/WITH. The same proven SQL is run on both compared sides; it is classified as a read against each database it runs on.
timeout_secondsintegerTightens the profile's total request deadline and each Oracle round-trip cap for this tool call. It cannot widen the profile ceiling.
NameTypeReqDescription
addedarrayyesRows present on side B but not on side A.
changedarrayyesKey-aligned row changes; empty for keyless diffs.
columnsarrayyesColumn names in the compared query shape.
key_columnsarrayyesKey columns used for row alignment. Empty means keyless multiset diff.
keyedbooleanyesTrue when rows were aligned by explicit/inferred key columns and changed[] is meaningful.
mask_certificatesobjectPresent when result masking transformed either flashback page: before/after mask-decision certificates with audit entry hashes.
removedarrayyesRows present on side A but not on side B.
row_count_aintegeryes
row_count_bintegeryes
source_aobjectWhere side A was read from.
source_bobjectWhere side B was read from.
truncatedbooleanyesTrue when either compared page hit a row/byte cap before all rows were compared.

No examples provided.

oracle_get_ddl ~157

Fetch an object's DDL via DBMS_METADATA.GET_DDL (allowlisted object types). Responses include full and returned character counts plus an explicit truncated flag; a long DDL prefix is never presented as a complete document.

NameTypeReqDescription
namestringObject name. May be OWNER.NAME. Required unless object_name is supplied.
object_namestringAlias for name for compatibility with older clients. Prefer name.
object_typestringyesAllowlisted type, e.g. TABLE, VIEW, PACKAGE, PACKAGE_BODY, PROCEDURE, FUNCTION, TRIGGER, TYPE, SEQUENCE, INDEX, SYNONYM.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.

No output schema declared.

No examples provided.

oracle_get_source ~216

Fetch an object's full source text or inclusive line range from ALL_SOURCE with a character cap. Omit object_type to return every visible source variant for the object name.

NameTypeReqDescription
from_lineintegerOptional first ALL_SOURCE line to return, inclusive. Pair with oracle_search_source's LINE result.
max_charsintegerMaximum source characters to return (default 1000000).
namestringObject name. May be OWNER.NAME. Required unless object_name is supplied.
object_namestringAlias for name for compatibility with older clients. Prefer name.
object_typestringOptional supported source type: PACKAGE, PACKAGE_BODY, PROCEDURE, FUNCTION, TRIGGER, TYPE, TYPE_BODY. When omitted, all visible source types for this name are returned.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.
to_lineintegerOptional last ALL_SOURCE line to return, inclusive. Must not be lower than from_line.

No output schema declared.

No examples provided.

oracle_list_profiles ~24

List configured connection profiles without exposing connect strings, usernames, or credential references.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

oracle_list_schemas ~91

List schemas that own objects visible to this session, optionally filtered by name.

NameTypeReqDescription
limitintegerAlias for max_rows for compatibility with older clients. Prefer max_rows.
max_rowsintegerMaximum schemas to return (default 200, hard cap 5000).
name_likestringOptional SQL LIKE pattern for schema names (case-insensitive), e.g. APP%.

No output schema declared.

No examples provided.

oracle_orient ~273

Return bounded orientation evidence: by default one cacheable snapshot for the active profile; fleet=true maps every MCP-visible profile independently with schema, version, freshness, drift, and typed UNREACHABLE/FAIL_CLOSED lane status. Dictionary reads are parameterized and read-only; include selects schema, fks, hot, freshness, and/or ddl (all by default). Every selected row list is capped and the response makes truncation explicit.

NameTypeReqDescription
cursorstringOpaque continuation cursor returned by a truncated orient response. It is bound to this owner, include selection, fleet flag, and profile.
fleetbooleanWhen true, orient every MCP-visible configured profile independently. Each profile is returned with REACHABLE, UNREACHABLE, or FAIL_CLOSED status; one unavailable lane never omits or fails the other…
includearrayOptional sections to return. Defaults to every section; ddl selects the recent_ddl field.
limitintegerAlias for max_rows.
max_rowsintegerMaximum rows for each selected orientation list (default 100). The response sets truncated=true and returns next_cursor when another bounded page may exist.
ownerstringOptional schema owner (case-insensitive). Omit or use * for all visible schemas.

No output schema declared.

No examples provided.

oracle_plan_timeline ~133

Read-only historical optimizer plan and relative-cost timeline from AWR snapshots for one SQL ID. Requires a licensed Oracle Diagnostics Pack; when the license probe cannot prove DIAGNOSTIC access it returns a typed refusal before touching DBA_HIST_*.

NameTypeReqDescription
max_pointsintegerMaximum AWR snapshot observations to return (default 100, capped at 1000).
sql_idstringyesThe 13-character Oracle SQL ID to inspect.
timeout_secondsintegerTightens the profile's total request deadline and each Oracle round-trip cap for this tool call. It cannot widen the profile ceiling.

No output schema declared.

No examples provided.

oracle_plscope_inspect ~136

Inspect PL/Scope identifier and SQL statement metadata for one PL/SQL object when ALL_IDENTIFIERS/ALL_STATEMENTS are populated.

NameTypeReqDescription
limitintegerAlias for max_rows. Prefer max_rows.
max_rowsintegerMaximum identifiers and SQL statements per array (default 200, hard cap 5000).
namestringObject name. May be OWNER.NAME. Required unless object_name is supplied.
object_namestringAlias for name for compatibility. Prefer name.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.

No output schema declared.

No examples provided.

oracle_preview_sql ~45

Classify a SQL statement and report whether it would pass the active profile/session gate without executing it.

NameTypeReqDescription
sqlstringyesSQL statement to classify. It is never executed.

No output schema declared.

No examples provided.

oracle_query ~854

Run a read-only SELECT with positional binds; paginated and row/byte capped.

NameTypeReqDescription
allow_plan_table_writebooleanDefault false. Must be true, with the active session at READ_WRITE, before max_query_cost may run EXPLAIN PLAN and write PLAN_TABLE for pre-execution cost estimation.
as_ofobjectFlashback / AS-OF read: run this SELECT against a PAST committed snapshot. Pass a NORMAL SELECT (never hand-written AS OF SQL); the base query is proven read-only first, then bounded in a DBMS_FLASHB…
bindsarrayPositional bind values (string | number | bool | null) for :1, :2 …
cursorstringOpaque pagination cursor from a prior truncated page (incremental fetch). Resuming with it yields the next page byte-identically.
deep_decodebooleanOpt into larger capped ARRAY/JSON/VECTOR structured decode limits. Default false keeps safe caps.
formatstringInline result format. json (default) returns rows; arrow returns base64 Arrow IPC in arrow_ipc_b64 after the identical masking and audit path. Arrow and export/streaming are mutually exclusive.
limitintegerAlias for max_rows for compatibility with older clients. Prefer max_rows.
max_blob_bytesintegerMaximum BLOB bytes to inline per cell as base64 (default 1048576).
max_col_widthintegerCompatibility text cap for ordinary text/raw columns. Truncated values are returned as { value, truncated, char_length }.
max_lob_charsintegerMaximum CLOB characters to inline per cell (default 32768).
max_query_costintegerOptional per-call optimizer-cost ceiling for this oracle_query call. It can only lower the active profile's max_query_cost. When an effective ceiling exists, oracle_query first runs an EXPLAIN PLAN d…
max_result_bytesintegerMaximum compact JSON bytes across row objects in this page (default 10485760, hard cap 26214400; excludes columns, pagination metadata, and the outer MCP envelope).
max_rowsintegerMaximum rows in this page / streamed chunk (default 200, hard cap 5000).
max_structured_bytesintegerMaximum compact JSON bytes decoded from one structured node. Values above the safe default require deep_decode=true.
max_structured_cellsintegerMaximum structured value nodes decoded from one structured cell. Values above the safe default require deep_decode=true.
max_structured_depthintegerMaximum ARRAY/JSON recursion depth decoded inside one structured cell. Values above the safe default require deep_decode=true.
max_structured_rowsintegerMaximum direct entries decoded from one structured ARRAY/JSON node. Values above the safe default require deep_decode=true.
numbers_as_floatbooleanEmit numeric values as JSON numbers where possible. Default false preserves Oracle NUMBER losslessly as strings.
read_only_standbybooleanIf true, refuse the max_query_cost estimation path because EXPLAIN PLAN writes PLAN_TABLE. Only meaningful when an effective max_query_cost is set. Defaults false.
sqlstringyesA single read-only SELECT. Use :1, :2 … for binds.
streamingbooleanDeliver the result incrementally instead of one inline page. Over HTTP/SSE, scalar/self-contained rowsets emit one `event: row` frame per row; LOB, BFILE, and REF CURSOR values fall back to ordered c…
timeout_secondsintegerTightens the profile's total request deadline and each Oracle round-trip cap for this tool call. It cannot widen the profile ceiling.
NameTypeReqDescription
arrow_cell_encodingstringArrow cell encoding used by arrow_ipc_b64. Decode each UTF-8 value as a JSON literal to recover the same value as JSON mode.
arrow_ipc_b64stringBase64 Apache Arrow IPC stream for the already-masked, audit-bound result page. Each UTF-8 cell is a JSON literal; see arrow_cell_encoding.
columnsarrayyesColumn names in select-list order.
exportobjectPresent when export=true: metadata for the materialized oracle-export://{id} resource, readable only by the originating principal under the exact scope grant.
formatstringPresent as arrow when oracle_query was requested with format=arrow. In that form rows is omitted and the governed page is carried in arrow_ipc_b64.
inlinedbooleanFalse when the result was materialized as an export resource (export=true) rather than inlined.
mask_certificateobjectPresent when result masking transformed the page: proof-carrying per-column mask decisions plus the audit entry hash binding those decisions into the audit chain.
next_cursorstring|null
next_stepstring
resource_linkobjectPresent when export=true: an MCP resource_link to the export, to fetch via resources/read.
row_countintegeryes
rowsarraySerialized rows keyed by column name. NUMBER cells are strings unless numbers_as_float=true.
total_bytesinteger
truncatedboolean

No examples provided.

oracle_read_clob ~230

Read one CLOB/NCLOB/text value by key with a character cap.

NameTypeReqDescription
clob_colstringAlias for clob_column. Prefer clob_column.
clob_columnstringCLOB/NCLOB/text column name (case-insensitive). Required unless clob_col is supplied.
max_charsintegerMaximum characters to return (default 1000000).
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.
pk_colstringAlias for pk_column. Prefer pk_column.
pk_columnstringKey column name (case-insensitive). Required unless pk_col is supplied.
pk_valstringAlias for pk_value. Prefer pk_value.
pk_valuestringKey value bound as :1. Required unless pk_val is supplied.
tablestringTable or view name. May be OWNER.TABLE. Required unless table_name is supplied.
table_namestringAlias for table for compatibility with older clients. Prefer table.

No output schema declared.

No examples provided.

oracle_sample_rows ~129

Read the first rows of a table or view with a hard row cap.

NameTypeReqDescription
limitintegerAlias for max_rows for compatibility with older clients. Prefer max_rows.
max_rowsintegerMaximum rows to return (default 50, hard cap 1000).
ownerstringOptional schema owner (case-insensitive). Defaults to current schema when available.
tablestringTable or view name. May be OWNER.TABLE. Required unless table_name is supplied.
table_namestringAlias for table for compatibility with older clients. Prefer table.

No output schema declared.

No examples provided.

oracle_schema_inspect ~141

List objects in the current schema, one owner, or all accessible schemas, with optional type/name filters.

NameTypeReqDescription
limitintegerAlias for max_rows for compatibility with older clients. Prefer max_rows.
max_rowsintegerMaximum objects to return (default 500, hard cap 5000).
name_likestringOptional SQL LIKE pattern for object_name, e.g. EMP%.
object_typestringOptional object type filter, e.g. TABLE, VIEW, PACKAGE.
ownerstringOptional schema owner (case-insensitive). Omit for current schema; use * for all accessible schemas.

No output schema declared.

No examples provided.

oracle_search_objects ~362

Unified read-only object search/inspection with a detail_level. names=identifiers only; summary=+column count, comments, and the optimizer ALL_TABLES.NUM_ROWS row-count ESTIMATE (gathered statistics, never COUNT(*) — may be stale, reported via stats_stale/last_analyzed); standard (default)=+columns; full=+indexes. fleet=true searches the names-only index across MCP-visible profiles, applying each source profile's egress policy before merge and returning no profile roster or profile counts. Returns {count, results, truncated}. Owner/type/name filters are bound; quoted/case-sensitive identifiers are matched verbatim.

NameTypeReqDescription
detailstringAlias for detail_level.
detail_levelstringEnrichment level. names=identifiers only; summary=+column count + comments + the optimizer ALL_TABLES.NUM_ROWS estimate (NOT COUNT(*)); standard (default)=+columns; full=+indexes.
fleetbooleanSearch the egress-safe unified fleet catalog. Fleet mode requires detail_level=names, applies each profile's own result-masking policy before aggregation, and intentionally returns no profile roster…
limitintegerAlias for max_rows for compatibility with older clients. Prefer max_rows.
max_rowsintegerMaximum objects to return (default 100, hard cap 5000).
name_likestringOptional SQL LIKE pattern for object_name, e.g. EMP%.
object_typestringOptional object type filter, e.g. TABLE, VIEW, PACKAGE.
ownerstringOptional schema owner (case-insensitive for ordinary identifiers; quoted identifiers match verbatim). Omit or use * for all accessible schemas.

No output schema declared.

No examples provided.

oracle_search_source ~209

Full-text search across ALL_SOURCE for a needle (row- and line-capped).

NameTypeReqDescription
limitintegerAlias for max_rows for compatibility with older clients. Prefer max_rows.
max_line_charsintegerMaximum characters retained from each matching source line (default 500). Longer lines end with an explicit truncation marker; use oracle_get_source with from_line/to_line for the exact source range.
max_rowsintegerMaximum matching source lines to return (default 200, hard cap 5000).
name_likestringOptional SQL LIKE pattern for source object names, e.g. EMP%.
needlestringyesCase-insensitive substring to find in source text.
object_typestringOptional source type filter: PACKAGE, PACKAGE_BODY, PROCEDURE, FUNCTION, TRIGGER, TYPE, TYPE_BODY.
ownerstringOptional schema owner (case-insensitive). Defaults to current schema; use * for all visible source.

No output schema declared.

No examples provided.

oracle_semantic_search ~258

Run a bounded, fail-closed 23ai vector search through the same policy, semantic-resolution, masking, and audit path as oracle_query.

NameTypeReqDescription
filterobjectOptional governed hybrid predicate. Only equality is supported: the server validates column as a simple identifier and binds value; raw SQL, OR/IN fragments, and caller-provided operators are refused.
kintegerTop-k result count (default 10, hard cap 1000).
metricstringVECTOR_DISTANCE metric (default COSINE).
overobjectyesThe local table and VECTOR column to search. Identifiers must be simple unquoted names and are live-resolved before execution.
query_textstringEmbedded only by exactly one visible local ONNX model after COMPATIBLE >= 23.4 is proven. Otherwise returns typed requires_23ai or no_in_db_model; it never falls back to client embedding.
query_vectorarrayNumeric query vector. Exactly one of query_vector or query_text is required in this tool generation.
timeout_secondsintegerTightens the profile's total request deadline and each Oracle round-trip cap for this tool call. It cannot widen the profile ceiling.
NameTypeReqDescription
arrow_cell_encodingstringArrow cell encoding used by arrow_ipc_b64. Decode each UTF-8 value as a JSON literal to recover the same value as JSON mode.
arrow_ipc_b64stringBase64 Apache Arrow IPC stream for the already-masked, audit-bound result page. Each UTF-8 cell is a JSON literal; see arrow_cell_encoding.
columnsarrayyesColumn names in select-list order.
exportobjectPresent when export=true: metadata for the materialized oracle-export://{id} resource, readable only by the originating principal under the exact scope grant.
formatstringPresent as arrow when oracle_query was requested with format=arrow. In that form rows is omitted and the governed page is carried in arrow_ipc_b64.
inlinedbooleanFalse when the result was materialized as an export resource (export=true) rather than inlined.
kintegeryes
mask_certificateobjectPresent when result masking transformed the page: proof-carrying per-column mask decisions plus the audit entry hash binding those decisions into the audit chain.
metricstringyes
next_cursorstring|null
next_stepstring
resource_linkobjectPresent when export=true: an MCP resource_link to the export, to fetch via resources/read.
row_countintegeryes
rowsarraySerialized rows keyed by column name. NUMBER cells are strings unless numbers_as_float=true.
total_bytesinteger
truncatedboolean
used_indexboolean|nullyesNull when this bounded read did not inspect an execution plan; never inferred from a requested index.

No examples provided.

oracle_set_session_level ~186

Preview or apply a temporary session operating-level elevation within the active profile ceiling, or drop back to READ_ONLY.

NameTypeReqDescription
actionstringOptional action: preview, apply, drop, or status. Omit for preview/apply based on execute.
confirmstringConfirmation token returned by preview. Required when execute=true raises the level.
confirmation_tokenstringAlias for confirm.
executebooleanDefault false previews the level change and returns a confirmation token. Set true with confirm to apply elevation.
levelstringTarget level: READ_WRITE, DDL, or ADMIN. READ_ONLY drops any active elevation.
target_levelstringAlias for level.
tokenstringAlias for confirm.
ttl_secondsintegerTemporary elevation window in seconds (default 900, hard cap 3600).

No output schema declared.

No examples provided.

oracle_switch_profile ~54

Reconnect this MCP server to another configured profile by name.

NameTypeReqDescription
dbstringAlias for profile for compatibility with older clients. Prefer profile.
profilestringConfigured profile name from oracle_list_profiles.

No output schema declared.

No examples provided.

oracle_top_queries ~220

Read-only top-SQL ranked by elapsed/CPU/buffer-gets/disk-reads over the free live cursor cache (V$SQLSTATS). Opt into historical AWR only when a Diagnostics Pack is licensed, else Statspack, else a structured-unavailable error — never invokes a paid pack unlicensed.

NameTypeReqDescription
historicalbooleanIf true, use historical AWR (requires a licensed Diagnostics Pack) or Statspack instead of the live cursor cache. Defaults false (the free live source).
metricstringRanking metric. Defaults to elapsed.
min_pct_of_totalintegerLive source only: keep only statements consuming at least this percent of the total selected metric (e.g. 5 for the 5%-of-total view).
timeout_secondsintegerTightens the profile's total request deadline and each Oracle round-trip cap for this tool call. It cannot widen the profile ceiling.
top_nintegerHow many statements to return (1-100, default 20).

No output schema declared.

No examples provided.

preview_sql ~31

Compatibility alias for oracle_preview_sql.

NameTypeReqDescription
sqlstringyesSQL statement to classify. It is never executed.

No output schema declared.

No examples provided.

query ~542

Compatibility alias for oracle_query.

NameTypeReqDescription
bindsarrayPositional bind values for :1, :2 ...
cursorstringOpaque pagination cursor from a prior truncated page (incremental fetch).
deep_decodebooleanOpt into larger capped ARRAY/JSON/VECTOR structured decode limits. Default false keeps safe caps.
exportbooleanWhen true, materialize the bounded full result as an oracle-export://{id} resource and return a resource_link instead of inlining rows. The resource is bound to the originating principal and exact sc…
export_formatstringExport serialization when export=true: csv (default) or json.
limitintegerAlias for max_rows for compatibility with older clients. Prefer max_rows.
max_blob_bytesintegerMaximum BLOB bytes to inline per cell as base64.
max_col_widthintegerCompatibility text cap for ordinary text/raw columns.
max_lob_charsintegerMaximum CLOB characters to inline per cell.
max_result_bytesintegerMaximum compact JSON bytes across row objects in this page; excludes columns, pagination metadata, and the outer MCP envelope.
max_rowsintegerMaximum rows in this page (default 200, hard cap 5000).
max_structured_bytesintegerMaximum compact JSON bytes decoded from one structured node. Values above the safe default require deep_decode=true.
max_structured_cellsintegerMaximum structured value nodes decoded from one structured cell. Values above the safe default require deep_decode=true.
max_structured_depthintegerMaximum ARRAY/JSON recursion depth decoded inside one structured cell. Values above the safe default require deep_decode=true.
max_structured_rowsintegerMaximum direct entries decoded from one structured ARRAY/JSON node. Values above the safe default require deep_decode=true.
numbers_as_floatbooleanEmit numeric values as JSON numbers where possible.
sqlstringyesA single read-only SELECT. Use :1, :2 ... for binds.
streamingbooleanDeliver the result incrementally instead of one inline page. Over HTTP/SSE, scalar/self-contained rowsets emit one `event: row` frame per row; LOB, BFILE, and REF CURSOR values fall back to ordered c…
timeout_secondsintegerTightens the profile's total request deadline and each Oracle round-trip cap for this tool call. It cannot widen the profile ceiling.
NameTypeReqDescription
arrow_cell_encodingstringArrow cell encoding used by arrow_ipc_b64. Decode each UTF-8 value as a JSON literal to recover the same value as JSON mode.
arrow_ipc_b64stringBase64 Apache Arrow IPC stream for the already-masked, audit-bound result page. Each UTF-8 cell is a JSON literal; see arrow_cell_encoding.
columnsarrayyesColumn names in select-list order.
exportobjectPresent when export=true: metadata for the materialized oracle-export://{id} resource, readable only by the originating principal under the exact scope grant.
formatstringPresent as arrow when oracle_query was requested with format=arrow. In that form rows is omitted and the governed page is carried in arrow_ipc_b64.
inlinedbooleanFalse when the result was materialized as an export resource (export=true) rather than inlined.
mask_certificateobjectPresent when result masking transformed the page: proof-carrying per-column mask decisions plus the audit entry hash binding those decisions into the audit chain.
next_cursorstring|null
next_stepstring
resource_linkobjectPresent when export=true: an MCP resource_link to the export, to fetch via resources/read.
row_countintegeryes
rowsarraySerialized rows keyed by column name. NUMBER cells are strings unless numbers_as_float=true.
total_bytesinteger
truncatedboolean

No examples provided.

read_patch_preview ~91

Compatibility helper for reading the last in-memory source patch preview returned by oracle_patch_source, patch_package, or patch_view.

NameTypeReqDescription
max_charsintegerMaximum DDL preview characters to return for one object (default 100000).
namestringOptional object name to inspect. If omitted, lists remembered patch previews for the active profile.
object_namestringAlias for name.

No output schema declared.

No examples provided.

switch_database ~55

Compatibility alias for oracle_switch_profile; pass a configured profile name as db or profile.

NameTypeReqDescription
dbstringConfigured profile name. Alias for profile.
profilestringConfigured profile name from oracle_list_profiles.

No output schema declared.

No examples provided.