Skip to content

Conversation

@kklike32
Copy link
Member

@kklike32 kklike32 commented Sep 8, 2025

Description

This change introduces a new OCI Service Limits and Quota Policies MCP Server that provides read-only access to Oracle Cloud Infrastructure service limits and quota policies. The server implements 10 MCP tools for querying resource limits, quotas, and availability information across OCI services and regions using natural language. It's built with FastMCP framework and includes comprehensive error handling, multi-profile OCI configuration support, and container deployment capabilities. The server enables users and LLMs to easily query OCI limits through integrated clients like VS Code/GitHub Copilot, Claude Desktop, and Cline extension.

Dependencies: FastMCP >=2.0.0, OCI Python SDK >=2.100.0, Python 3.11+, uv package manager

Type of change

Please delete options that are not relevant.

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

How Has This Been Tested?

The MCP server has been tested with comprehensive unit tests using pytest with mocked OCI SDK dependencies to ensure all functionality works correctly without requiring live OCI credentials. Integration testing was performed with VS Code/GitHub Copilot and container deployment using Podman. All 10 MCP tools were verified to import and initialize properly.

  • Unit tests with mocked OCI SDK clients (4/4 tests passing)
  • Integration testing with VS Code/GitHub Copilot MCP client
  • Container build and deployment testing with Podman
  • OCI configuration testing with multiple profiles

Test Configuration:

  • Firmware version: macOS Sonoma 14.x
  • Hardware: Apple Silicon Mac (M4)
  • Toolchain: uv 0.8.15, Python 3.13.7, Podman 5.x
  • SDK: OCI Python SDK 2.159.1, FastMCP 2.12.2

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: Keenan Kalra <keenan.kalra@oracle.com>
Signed-off-by: Keenan Kalra <keenan.kalra@oracle.com>
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 8, 2025
gebhardtr added a commit to shrug-labs/mcp that referenced this pull request Oct 9, 2025
Signed-off-by: Richard Gebhardt <richard.gebhardt@oracle.com>
@gebhardtr gebhardtr self-requested a review October 14, 2025 21:29
Copy link
Member

@gebhardtr gebhardtr left a comment

Choose a reason for hiding this comment

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

thank you for your contribution @kklike32. We've changed the structure of our server packages since you created this. Can you adjust your package to fit the new template?

# OS / VCS
.DS_Store
Thumbs.db
.git/
Copy link
Member

Choose a reason for hiding this comment

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

are these ignore rules specific to this sub-project? if not, can you split this out and create a new PR against the top-level .gitignore?

@@ -0,0 +1,39 @@
[project]
name = "oci-limits-mcp-server"
Copy link
Member

Choose a reason for hiding this comment

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

The server provides 10 MCP tools for querying OCI limits and quotas:

### Service Limits Tools
1. **`list_supported_services()`** - List all OCI services with configurable limits
Copy link
Member

Choose a reason for hiding this comment

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

@@ -0,0 +1,3 @@
# OCI Limits MCP Server Dependencies
Copy link
Member

Choose a reason for hiding this comment

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

you can replace this file with an entry in pyproject.toml
https://github.com/oracle/mcp/blob/main/src/oci-api-mcp-server/pyproject.toml#L12-L15

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