Skip to content

Add OCI Vision MCP server#365

Open
antimverma wants to merge 1 commit into
oracle:mainfrom
antimverma:antverma/add-oci-vision-mcp
Open

Add OCI Vision MCP server#365
antimverma wants to merge 1 commit into
oracle:mainfrom
antimverma:antverma/add-oci-vision-mcp

Conversation

@antimverma

Copy link
Copy Markdown
Member

Description

Adds the OCI Vision MCP server under src/oci-vision-mcp-server.

This server provides stdio MCP tools for OCI Vision image analysis and related Object Storage image workflows, including image analysis, OCR, object detection, face detection, async image jobs, Object Storage upload/list/fetch, stored result lookup, and runtime configuration status.

The implementation follows the repository MCP server structure and public packaging expectations:

  • Adds pyproject.toml, uv.lock, README.md, CHANGELOG.md, LICENSE.txt, Containerfile, and oracle/ package source.
  • Exposes the package entry point as oracle.oci-vision-mcp-server.
  • Supports stdio transport only.
  • Uses OCI CLI-compatible session-token authentication only.
  • Documents that HTTP, streamable HTTP, OAuth, IDCS bearer-token validation, /mcp, and /.well-known/* endpoints are not exposed.
  • Adds OCI SDK additional_user_agent telemetry derived from package metadata.
  • Includes unit/integration tests with coverage threshold set to 90%.

Fixes: N/A

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Validated locally from src/oci-vision-mcp-server:

  • uv sync --locked --all-extras --dev
  • uv run pytest --cov=. --cov-branch --cov-report=term-missing
    • 236 passed, 2 skipped
    • Coverage: 91.31%
  • uv build
    • Successfully built sdist and wheel.
  • Wheel content inspection
    • Confirmed wheel metadata and console entry point are present.
    • Confirmed test files are excluded from the wheel.
  • MCP client smoke testing with Codex using the locally built wheel
    • Registered the server as a local stdio MCP server.
    • Verified detect_faces completed successfully on a local image.
    • Verified detect_text completed successfully on a local screenshot and returned OCR lines.
  • Best-practices validation
    • UPL headers present on Python source and Containerfile.
    • pyproject.toml metadata and entry point validated.
    • stdio-only behavior documented and tested.
    • OCI SDK additional user-agent derivation tested.

Test Configuration:

  • OS: macOS
  • Python: 3.13.2
  • Package manager: uv
  • MCP transport: stdio
  • OCI auth mode: OCI CLI-compatible session-token profile

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 (N/A)

@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jul 16, 2026
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.

1 participant