Recovery mcp server#106
Conversation
| from . import __project__, __version__ | ||
|
|
||
| """MCP tools available in this server: | ||
| - get_compartment_by_name_tool |
There was a problem hiding this comment.
This tool should exist within the identity MCP server
There was a problem hiding this comment.
Thanks for the review comment — I agree that, compartment lookup is an identity concern and the tool already exists in the identity MCP server.
But, our intent here is to keep the Recovery Service MCP server self-sufficient from a user’s perspective. If this tool is removed, users would be required to configure multiple MCP servers (identity + recovery) just to perform basic recovery workflows, which increases setup friction and adoption complexity.
Please let me know your view on this.
| - get_database | ||
| - list_backups | ||
| - get_backup | ||
| - summarise_protected_database_backup_destination |
There was a problem hiding this comment.
| - summarise_protected_database_backup_destination | |
| - summarize_protected_database_backup_destination |
|
@cboffa13 Can you review the changes merged in response to the comments? |
|
Can someone please review and help merge this code ? |
Sample Prompt and Response:get me summary of redo status and health status of all protected db in devteam compartment MCP output: Health summary tool response: Other Prompts:
|
OCI dash board prompt and its response:`You are an expert dashboard generator. You very well know how to generate a presentable charts for the executives . Visualise OCI Recovery - Dashboard charts in one html document with below metrics in devteam compartment. Main page ( Overview) In another tab named - Backup Details Generate a line chart showing backup creation timelines for databases in the mentioned compartment. Each database is represented by a distinct line, with points marking individual backup events based on 'time_started'. The chart is styled for executive presentation, with a clean layout, legend, and tooltips.
IMPORTANT: In another tab named - Backup space usage Add an executive KPI summary row directly below the dashboard title. Create 4 KPI cards displayed horizontally using Bootstrap grid:
Rules:
Styling:
Layout:
Data logic:
After KPIs, keep charts as secondary visual detail. IMPORTANT Layout rules for HTML dashboard:
Chart container sizing:
When using Chart.js:
Always render charts for every tab Use soft colors in the chart - executive appealing colors Response is attached as HTML: |
| @@ -0,0 +1,148 @@ | |||
|
|
|||
|
|
|||
| You are an expert dashboard generator. You very well know how to generate a presentable charts for the executives . | |||
There was a problem hiding this comment.
unclear why this is in scope for the MCP server; is this a leftover prompt for an external integration/test?
There was a problem hiding this comment.
Hi Richard,
Thanks for looking into this PR.
The oci_recovery_service_dashboard.txt is an example prompt that we are planning to share with users to give better idea on how extensively this MCP Server can be used. We plan to add a few more, covering additional APIs and usecases. For anyone having access to our MCP server code, if they need a readymade prompt to use, they could use it.
Also there is a plan to blog this point when our PMs start promoting it .
There was a problem hiding this comment.
ok, but it will be downloaded by everyone that uses your server (whether they view/use it or not). Would it be better to include 1-2 examples with a link to the post in the README?
There was a problem hiding this comment.
Thanks for the idea. We can do a link to post in the README , which then can take users to a site/post which talks about recovery service and its mcp server in a great deal.
But in order to do that we need this MCP server merged, then publish the blog on this and then create PR to add the blog/post link here.
I will create a follow up PR immediately with the placeholder-link in README and remove the prompt txt in it.
As this whole publishing process can take 1-2 weeks. , meanwhile, can this file go in this PR ?
What do you suggest ?
- We can do link to post and come back update the README, let this file go in the repo for the interim
- Remove the file now in this PR and do it once post/link is available.
Please let me know, I am fine with either approach.
Introduce a new MCP server: OCI Autonomous Recovery Service MCP Server (oci-recovery-mcp-server). This server exposes tools to query and summarize Oracle Cloud Infrastructure (OCI) Autonomous Recovery Service resources such as Protected Databases, Protection Policies, Recovery Service Subnets, DB Homes/Databases, DB Systems, and related metrics. It also includes a comprehensive test suite for the new tools and models, along with linting fixes.
Key changes:
New package at src/oci-recovery-mcp-server with:
New unit tests:
Lint fixes and minor improvements, plus a few additional custom tools
Implemented tools (server API surface):
Identity/compartment helper:
Recovery Service - Protected Databases and health:
Recovery policies and subnets:
Recovery metrics:
Database/backup surface for context:
Motivation:
Dependencies:
Fixes # N/A (feature addition)
Type of change
How Has This Been Tested?
Added unit tests for tool behavior and models:
Tests validate request building, mock-backed responses, health/redo/backup summaries, and error handling paths.
Reproduce locally:
Option A (pip):
Option B (uv):
Notes:
Tests mock OCI client interactions and do not require live OCI credentials.
Test A: Tool and model unit tests (mocked)
Test B: Summary computations (health, redo, backup space)
Test Configuration:
Checklist: