Skip to content

Commit 3519548

Browse files
committed
Database MCP Server
1 parent 8fd532b commit 3519548

File tree

10 files changed

+14573
-0
lines changed

10 files changed

+14573
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Copyright (c) 2025 Oracle and/or its affiliates.
2+
3+
The Universal Permissive License (UPL), Version 1.0
4+
5+
Subject to the condition set forth below, permission is hereby granted to any
6+
person obtaining a copy of this software, associated documentation and/or data
7+
(collectively the "Software"), free of charge and under any and all copyright
8+
rights in the Software, and any and all patent rights owned or freely
9+
licensable by each licensor hereunder covering either (i) the unmodified
10+
Software as contributed to or provided by such licensor, or (ii) the Larger
11+
Works (as defined below), to deal in both
12+
13+
(a) the Software, and
14+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
15+
one is included with the Software (each a "Larger Work" to which the Software
16+
is contributed by such licensors),
17+
18+
without restriction, including without limitation the rights to copy, create
19+
derivative works of, display, perform, and distribute the Software and make,
20+
use, sell, offer for sale, import, export, have made, and have sold the
21+
Software and the Larger Work(s), and to sublicense the foregoing rights on
22+
either these or other terms.
23+
24+
This license is subject to the following condition:
25+
The above copyright notice and either this complete permission notice or at
26+
a minimum a reference to the UPL must be included in all copies or
27+
substantial portions of the Software.
28+
29+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35+
SOFTWARE.

src/database-mcp-server/README.md

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# OCI Database MCP Server
2+
3+
## Overview
4+
5+
This server provides tools to interact with the OCI Database service.
6+
7+
## Running the server
8+
9+
```sh
10+
uv run oracle.database-mcp-server
11+
```
12+
13+
## Tools
14+
15+
| Tool Name | Description |
16+
| --- |------------------------------------------------------------------------------|
17+
| list_application_vips | Get application virtual IP (VIP) addresses on a cloud VM cluster |
18+
| list_autonomous_container_database_dataguard_associations | List Autonomous Data Guard associations for an Autonomous Container Database |
19+
| list_autonomous_container_database_versions | List supported Autonomous Container Database versions |
20+
| list_autonomous_container_databases | List Autonomous Container Databases in a compartment |
21+
| list_autonomous_database_backups | List Autonomous Database backups by database ID or compartment |
22+
| list_autonomous_database_character_sets | List supported character sets for Autonomous Databases |
23+
| list_autonomous_database_clones | List clones for a specific Autonomous Database |
24+
| list_autonomous_database_dataguard_associations | List Autonomous Data Guard associations for an Autonomous Database |
25+
| list_autonomous_database_peers | List peers for a specific Autonomous Database |
26+
| list_autonomous_database_refreshable_clones | List refreshable clones for a specific Autonomous Database |
27+
| list_autonomous_database_software_images | List Autonomous Database Software Images in a compartment |
28+
| list_autonomous_databases | List Autonomous Databases in a compartment |
29+
| list_autonomous_db_preview_versions | List supported preview versions for Autonomous Databases |
30+
| list_autonomous_db_versions | List supported versions for Autonomous Databases |
31+
| list_autonomous_virtual_machines | List Autonomous Virtual Machines in a specified cluster and compartment |
32+
| list_autonomous_vm_clusters | List Exadata Cloud@Customer Autonomous VM clusters in a compartment |
33+
| list_backup_destination | List backup destinations in a compartment |
34+
| list_backups | List database backups by database ID or compartment |
35+
| list_cloud_autonomous_vm_clusters | List Autonomous Exadata VM clusters in the Oracle cloud |
36+
| list_cloud_exadata_infrastructures | List cloud Exadata infrastructure resources in a compartment |
37+
| list_cloud_vm_cluster_updates | List maintenance updates for a specific cloud VM cluster |
38+
| list_cloud_vm_clusters | List cloud VM clusters in a compartment |
39+
| list_console_connections | List console connections for a database node |
40+
| list_console_histories | List console histories for a database node |
41+
| list_container_database_patches | List patches applicable to a container database |
42+
| list_data_guard_associations | List Data Guard associations for a database |
43+
| list_database_software_images | List database software images in a compartment |
44+
| list_databases | List databases in a specified Database Home |
45+
| list_db_home_patch_history_entries | List patch history for a Database Home |
46+
| list_db_home_patches | List patches applicable to a Database Home |
47+
| list_db_homes | List Database Homes in a DB system and compartment |
48+
| list_db_nodes | List database nodes in a DB system and compartment |
49+
| list_db_servers | List Exadata DB servers for an Exadata infrastructure |
50+
| list_db_system_compute_performances | Get a list of expected compute performance for a VM DB system |
51+
| list_db_system_patches | List patches applicable to a DB system |
52+
| list_db_system_shapes | Get a list of shapes available for launching a new DB system |
53+
| list_db_system_storage_performances | Get a list of expected storage performance for a VM DB system |
54+
| list_db_systems | List DB systems in a compartment |
55+
| list_db_versions | Get a list of supported Oracle Database versions |
56+
| list_exadata_infrastructures | List Exadata Cloud@Customer infrastructure resources in a compartment |
57+
| list_exadb_vm_cluster_updates | List maintenance updates for an Exadata VM cluster on Exascale |
58+
| list_exadb_vm_clusters | List Exadata VM clusters on Exascale Infrastructure in a compartment |
59+
| list_exascale_db_storage_vaults | List Exadata Database Storage Vaults in a compartment |
60+
| list_execution_actions | List execution action resources in a compartment |
61+
| list_execution_windows | List execution window resources in a compartment |
62+
| list_external_container_databases | List external container databases in a compartment |
63+
| list_external_database_connectors | List external database connectors in a compartment |
64+
| list_external_non_container_databases | List external non-container databases in a compartment |
65+
| list_external_pluggable_databases | List external pluggable databases in a compartment |
66+
| list_flex_components | Get a list of flex components available for launching a new DB system |
67+
| list_gi_version_minor_versions | Get a list of supported Grid Infrastructure minor versions |
68+
| list_gi_versions | Get a list of supported Grid Infrastructure (GI) versions |
69+
| list_key_stores | Get a list of key stores in the specified compartment |
70+
| list_maintenance_run_history | Get a list of maintenance run histories in a compartment |
71+
| list_maintenance_runs | Get a list of maintenance runs in a compartment |
72+
| list_oneoff_patches | List one-off patches in a compartment |
73+
| list_pluggable_databases | Get a list of pluggable databases in a database or compartment |
74+
| list_scheduled_actions | List Scheduled Action resources in a compartment |
75+
| list_scheduling_plans | List Scheduling Plan resources in a compartment |
76+
| list_scheduling_policies | List Scheduling Policy resources in a compartment |
77+
| list_scheduling_windows | List Scheduling Window resources in a compartment |
78+
| list_system_versions | Get a list of supported Exadata system versions |
79+
| list_vm_cluster_networks | Get a list of VM cluster networks in a compartment |
80+
| list_vm_cluster_patches | List patches applicable to a VM cluster |
81+
| list_vm_cluster_updates | List maintenance updates for a VM cluster |
82+
| list_vm_clusters | List VM clusters in a compartment |
83+
| resource_pool_shapes | List available resource pool shapes |
84+
| create_pluggable_database | Create and start a pluggable database |
85+
| create_pluggable_database_from_local_clone | Create a pluggable database from a local clone |
86+
| create_pluggable_database_from_remote_clone | Create a pluggable database by cloning from a remote source CDB |
87+
| create_pluggable_database_from_relocate | Relocate (move) a pluggable database from a source CDB into the target CDB |
88+
| delete_pluggable_database | Delete a specific pluggable database |
89+
| get_pluggable_database | Get information about a specific pluggable database |
90+
| update_pluggable_database | Update a specific pluggable database |
91+
| get_compartment_by_name_tool | Return a compartment matching the provided name |
92+
| list_subscribed_regions_tool | Return a list of all regions the customer (tenancy) is subscribed to |
93+
94+
95+
96+
⚠️ **NOTE**: All actions are performed with the permissions of the configured OCI CLI profile. We advise least-privilege IAM setup, secure credential management, safe network practices, secure logging, and warn against exposing secrets.
97+
98+
## Third-Party APIs
99+
100+
Developers choosing to distribute a binary implementation of this project are responsible for obtaining and providing all required licenses and copyright notices for the third-party code used in order to ensure compliance with their respective open source licenses.
101+
102+
## Disclaimer
103+
104+
Users are responsible for their local environment and credential safety. Different language model selections may yield different results and performance.
105+
106+
## License
107+
108+
Copyright (c) 2025 Oracle and/or its affiliates.
109+
110+
Released under the Universal Permissive License v1.0 as shown at
111+
<https://oss.oracle.com/licenses/upl/>.
112+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""
2+
Copyright (c) 2025, Oracle and/or its affiliates.
3+
Licensed under the Universal Permissive License v1.0 as shown at
4+
https://oss.oracle.com/licenses/upl.
5+
"""
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
"""
2+
Copyright (c) 2025, Oracle and/or its affiliates.
3+
Licensed under the Universal Permissive License v1.0 as shown at
4+
https://oss.oracle.com/licenses/upl.
5+
"""
6+
7+
__project__ = "oracle.database-mcp-server"
8+
__version__ = "1.0.0"

0 commit comments

Comments
 (0)