Tool: get_database_connection
Retrieves the configuration details, status, and metadata of a specific Database Connection (DatabaseConnection / DBC).
Use this tool to inspect connection parameters, verify the DBC state (e.g., ACTIVE), and check configured Secret Manager secret versions and ODB network paths before executing SQL queries.
Parameters:
name(string, required): The fully-qualified resource name of the DatabaseConnection (DBC). Format:projects/{project}/locations/{location}/databaseConnections/{database_connection}
The following code sample shows how to use curl to call the get_database_connection MCP tool.
| Curl Request |
|---|
curl --location 'https://oracledatabase.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_database_connection", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
The request for DatabaseConnection.Get.
GetDatabaseConnectionRequest
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Required. The name of the DatabaseConnection in the following format: projects/{project}/locations/{location}/databaseConnections/{database_connection}. |
Output Schema
Represents DatabaseConnection resource.
DatabaseConnection
| JSON representation |
|---|
{ "name": string, "displayName": string, "username": string, "passwordSecretVersion": string, "connectionString": string, "state": enum ( |
| Fields | |
|---|---|
name |
Identifier. The resource name of the DatabaseConnection. Format: projects/{project}/locations/{location}/databaseConnections/{database_connection} |
displayName |
Optional. Immutable. User-friendly display name for the connection. |
username |
Optional. Immutable. The default database username to use for connections. |
passwordSecretVersion |
Optional. The resource name of the GCP Secret Manager secret version containing the password for the specified username. Format: projects/{project}/secrets/{secret_id}/versions/{version_id} The service's Per-Product Per-Project Service Account (P4SA) must have the 'secretmanager.secretAccessor' permission on this secret. |
connectionString |
Required. Immutable. Oracle Easy Connect or TNS connection string. Example: "your-db-host.example.com:1521/YOUR_SERVICE_NAME" |
state |
Output only. The current state of the connection. |
labels |
Optional. Optional: Labels as key-value pairs to organize the resource. An object containing a list of |
createTime |
Output only. The create time of the resource. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The update time of the resource. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
lifecycleDetails |
Output only. Additional information about the current state of the connection. |
Union field wallet_source. How the Oracle Wallet is supplied for secure TLS/mTLS connections. wallet_source can be only one of the following: |
|
walletSecretVersion |
Optional. Optional: The resource name of the GCP Secret Manager secret version containing base64 encoded content of the Oracle Wallet ZIP file required for mTLS/TLS connections. Format: projects/{project}/secrets/{secret_id}/versions/{version_id} The service's Per-Product Per-Project Service Account (P4SA) must have the 'secretmanager.secretAccessor' permission on this secret. |
Union field network_configuration. Network configuration for reaching the database. network_configuration can be only one of the following: |
|
odbNetwork |
Optional. Immutable. For Oracle Database@Google cloud resources. Format: projects/{project}/locations/{location}/odbNetworks/{odbNetwork} |
LabelsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
State
States of the DatabaseConnection resource.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
Default unspecified value. |
CREATING |
Indicates that the resource is in a creating state. |
ACTIVE |
Indicates that the resource is in an active state. |
FAILED |
Indicates that the resource is in a failed state. |
DELETING |
Indicates that the resource is in a deleting state. |
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ✅ | Open World Hint: ❌