342 fixes - #394
342 fixes#394JoseLuisC99 wants to merge 55 commits into
Conversation
Signed-off-by: José Luis Castro <jlcastrog99@gmail.com>
Signed-off-by: José Luis Castro <jlcastrog99@gmail.com>
|
Hi @dustin-sale, any update? |
|
@JoseLuisC99 my apologies, I have not had a chance to get to this. Here are some initial changes that are needed:
|
Signed-off-by: José Luis Castro García <jose.lu.castro@oracle.com>
Signed-off-by: José Luis Castro García <jose.lu.castro@oracle.com>
Signed-off-by: José Luis Castro García <jose.lu.castro@oracle.com>
|
@dustin-sale everything is ready. We have modified our approach to align this MCP with our current agent engine and have significantly reduced the number of tools. |
dustin-sale
left a comment
There was a problem hiding this comment.
This implementation has a promising unified discovery surface and passes its unit-test/coverage gates, but it is not ready to merge.
- PR description needs to be updated with the single oci-db-observability-mcp-server
- Pagination is unusable for most catalog operations
- Unit tests coverage gaps:
- page-token preservation
- strict schema parity
- mutation isolation
- The generic invocation tool also exposes state-changing DBM operations without a separate destructive boundary.
- Most advertised “exact” schemas accept arbitrary or incorrectly typed arguments.
- Documented uvx command does not match the published distribution
Please resolve those contract and safety issues and populate the changelog before another review.
|
Hi @dustin-sale, I have addressed your comments. |
dustin-sale
left a comment
There was a problem hiding this comment.
Requested changes
src/oci-oracle-db-observability-mcp-server/oracle/oci_oracle_db_observability_mcp_server/metadata/tools.json:247— [P1] Remove or gate state-changing operations from the read-only catalog.- Dependency updates in
pyproject.toml.
Additional review notes
src/oci-oracle-db-observability-mcp-server/oracle/oci_oracle_db_observability_mcp_server/mcp.py:12— [P2] Use the registered MCP tool names in discovery guidance.
Validation
make lintandmake test project=oci-oracle-db-observability-mcp-serverpassed; 31 tests passed with 91.17% coverage.- The wheel builds and current CI is green, but a locked-SDK audit found five state-changing catalog operations marked
mutable: false.
See the inline comments in this review for evidence, impact, and suggested remediation.
Correct metric catalog dimension allowlists
|
Hi @dustin-sale, ready again |
dustin-sale
left a comment
There was a problem hiding this comment.
Review by @dustin-sale via Codex.
Requested changes
src/oci-db-observability-mcp-server/oracle/oci_db_observability_mcp_server/metadata/database-and-infra-observability-metrics.json:532— [P1] Finish normalizing metric-dimension annotations.
Additional review notes
None.
Validation
- Lint and all 68 tests passed with 92.18% coverage; lock validation and distribution builds passed.
- The prior version,
resourceId, andcellDiskTypecases now pass, but a catalog-wide probe found six remaining annotation-token dimensions that generate invalid MQL.
See the inline comments in this review for evidence, impact, and suggested remediation.
|
@dustin-sale fixed |
dustin-sale
left a comment
There was a problem hiding this comment.
Review by @dustin-sale via Codex.
Requested changes
No blocking changes requested.
Additional review notes
None.
Validation
- Lint and all 76 tests passed with 92.18% coverage; lock validation and distribution builds passed.
- All six corrected metric families produce valid MQL, while the old annotation tokens and unsupported values are rejected before client creation.
No inline comments are included in this review.
Head branch was pushed to by a user without write access
Description
Adds one unified, read-only OCI Database Observability MCP server for Operations Insights (OPSI) and Database Management (DBM).
oracle.oci-db-observability-mcp-serveroracle.oci_db_observability_mcp_serversrc/oci-db-observability-mcp-serverThe server supports STDIO and HTTP streaming transports, OCI authentication through
oracle-mcp-common, and OCI IAM/IDCS request-token authentication for HTTP deployments.Its MCP surface provides:
get_oci_compartmentandlist_oci_compartmentslist_dbo_skills,list_dbo_tools, anddescribe_dbo_toolinvoke_dbo_toolThe catalog includes 34 workflow skills and 229 GET-backed OPSI/DBM operations. Operation schemas are aligned with the locked OCI Python SDK, validate arguments before client construction, and support pagination using
nextPage.Dependencies are declared in
pyproject.toml:fastmcp==3.4.5oci==2.182.1pydantic==2.13.4jsonschema>=4.25.0,<5.0.0oracle-mcp-common>=0.1.2,<0.2.0Fixes #342
Type of change
How Has This Been Tested?
uv run python -m compileall oracleuv run python -m pytest --cov=oracle.oci_db_observability_mcp_server --cov-branch --cov-report=term-missing oracle/oci_db_observability_mcp_server/testsmake lintgit diff --checkTest Configuration:
Checklist