Skip to content

feat(oci-recovery-mcp-server): add cross-platform installer - #492

Open
arampuri wants to merge 3 commits into
oracle:mainfrom
arampuri:add-recovery-installer
Open

arampuri wants to merge 3 commits into
oracle:mainfrom
arampuri:add-recovery-installer

Conversation

@arampuri

Copy link
Copy Markdown
Contributor

Description

Adds a package-local installer bundle for OCI Recovery MCP on macOS, Linux, and Windows. Users can receive the three files together; the launchers run the adjacent Python helper without fetching installer code from GitHub.

The installer clones or updates the repository’s main branch in .local-rcv-mcp, installs the Recovery server in its project environment, and uses the OCI CLI from PATH or installs it in an isolated environment. It suggests OCI_RECOVERY as the profile name, then runs oci session authenticate --profile-name <name> so the OCI CLI can prompt for the region. It prints configuration for Claude, Codex, Cursor, and Cline.

No Recovery package dependencies were added. Installation requires Git and internet access; the launchers can install uv, Python 3.13, and OCI CLI when needed.

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

  • sh -n src/oci-recovery-mcp-server/scripts/install-oci-recovery-mcp.sh — passed
  • Python syntax parse and installer --help — passed
  • git diff origin/main...HEAD --check — passed
  • Recovery server test suite — not run

moon run root:lint could not complete in this environment: Moon/proto attempted to write outside the workspace, and the Ruff fallback could not download because of a network/DNS failure.

Test Configuration:

  • Firmware version: Not applicable
  • Hardware: Not applicable
  • Toolchain: sh and python3; PowerShell parser unavailable
  • SDK: OCI CLI authentication was not run as an end-to-end installer check

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Signed-off-by: Akshat Rampuria <akshat.rampuria@oracle.com>
@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Oct 14, 2026

@dustin-sale dustin-sale left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by @dustin-sale via Codex.

Requested changes

  • src/oci-recovery-mcp-server/scripts/install_oci_recovery_mcp.py:290 — [P1] Persist the session in the config file used by the generated MCP configuration.

Additional review notes

  • src/oci-recovery-mcp-server/scripts/install_oci_recovery_mcp.py:336 — [P2] Render the Windows refresh command for PowerShell.

Validation

Lint and all 215 Recovery tests passed at the package's 100% coverage gate. The new installer helper is absent from that coverage report. Locked server installation and targeted configuration probes completed; live browser authentication and full Linux/Windows installation were not run.

See the inline comments in this review for evidence, impact, and suggested remediation.

Comment thread src/oci-recovery-mcp-server/scripts/install_oci_recovery_mcp.py Outdated
Comment thread src/oci-recovery-mcp-server/scripts/install_oci_recovery_mcp.py Outdated

@dustin-sale dustin-sale left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by @dustin-sale via Codex.

Requested changes

No blocking changes requested.

Additional review notes

Both previous findings are addressed: authentication and refresh consistently pass the selected config location, and Windows refresh commands use PowerShell invocation and quoting. Regression tests cover both fixes. No additional actionable findings from the full installer follow-up pass.

Validation

Lint and all 217 Recovery tests passed, with 100% server-runtime branch coverage; the standalone installer is explicitly excluded from that coverage calculation. An independent OCI CLI probe verified both custom-config environment variables. Live browser authentication and complete Linux/Windows installation remain untested.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants