added Oracle DB Observability - #343
Conversation
Signed-off-by: José Luis Castro <jlcastrog99@gmail.com>
Signed-off-by: José Luis Castro <jlcastrog99@gmail.com>
| @@ -0,0 +1,59 @@ | |||
| [project] | |||
| name = "oracle.oracle-db-observability" | |||
There was a problem hiding this comment.
it's better if you split the individual servers out now and then keep this name for the combined server later. less complicated and fewer edges to catch on.
| ] | ||
|
|
||
| [project.scripts] | ||
| "oracle.oci-opsi-mcp-server" = "oracle.oci_oracle_db_observability.v1.oci_opsi_mcp_server.server:main" |
There was a problem hiding this comment.
I assume the v1 is a versioning workaround that goes away when these packages are split out. Or does it serve another purpose? Having two versioning schemes will make updating overly complicated (if there's a breaking change to just one of these packages, do you major version bump the top-level?)
|
|
||
|
|
||
| TOOL_DESCRIPTIONS = { | ||
| 'get_compartment': 'Retrieves an OCI compartment by OCID. Use this operation to validate or resolve compartment scope before listing Operations Insights resources.', |
There was a problem hiding this comment.
this reminds me of our oci-cloud-mcp-server -- it uses introspection to pull these details out of the OCI SDK and exposes them through a helper tool. Would that approach work? Have you tested your scenarios using the generic cloud mcp server?
| return invoke_opsi('create_news_report', create_news_report_details=create_news_report_details) | ||
|
|
||
|
|
||
| @mcp.tool( |
There was a problem hiding this comment.
there are a lot of tools and associated metadata here. this will consume a lot of context.
|
Automated review result: needs security/manual review. Reason:
Resolve those design questions, then manually verify authorization, least privilege, bounded output/pagination, untrusted backend content handling, and redaction. No automated approval or merge was performed. |
krisrice
left a comment
There was a problem hiding this comment.
Maintainer-directed merge after review: GitHub reports the PR mergeable, all reported checks are passing, and the repository maintainer explicitly requested merging all mergeable PRs.
|
@JoseLuisC99 can you please resubmit this PR? It was merged before we had a chance to complete review and I have since backed it out with in PR 389. Thanks. |
|
@dustin-sale hehe okay, I've resubmitted this in PR #394 |
Description
Adds the OCI Oracle Database Observability MCP server package with two MCP server entry points:
oracle.oci-opsi-mcp-serverfor Operations Insights observability toolsoracle.oci-dbm-mcp-serverfor Database Management observability toolsThe change includes typed MCP tools, OCI SDK client/auth integration, pagination and response mapping helpers, generated Pydantic models,
README setup guidance, package metadata, lockfile, and unit tests with coverage enforcement.
Dependencies required by this package are declared in
pyproject.toml:fastmcp==3.2.4,oci==2.174.0, andpydantic==2.12.3.Fixes #342
Type of change
How Has This Been Tested?
uv run python -m compileall oraclepyproject.tomlconsole entry-point modules import successfully.uv run python -m pytest --cov=. --cov-branch --cov-report=term-missingmake lintgit diff --check mainTest Configuration:
Checklist: