Skip to main content

An Model Context Protocol (MCP) server for OCI Documentation

Project description

Inspired by: https://github.com/awslabs/mcp/tree/main/src/aws-documentation-mcp-server

OCI Documentation MCP Server

Forked from jin38324/oci-documentation-mcp-server
Many thanks to the original author for the great work!

Model Context Protocol (MCP) server for OCI Documentation

This MCP server provides tools to search for content, and access OCI documentation.

Features

  • Read Documentation: Fetch and convert OCI documentation pages to markdown format
  • Search Documentation: Search OCI documentation using Oracle Documentation Search API
  • Multiple Transport Modes: Supports stdio, SSE, and Streamable HTTP transport protocols

Prerequisites

Installation Requirements

  1. Install uv from Astral or the GitHub README
  2. Install Python 3.10 or newer using uv python install 3.10 (or a more recent version)

Installation

Option 1: Streamable HTTP (Recommended for OpenWebUI, Cherry Studio, etc.)

{
  "mcpServers": {
    "oci-documentation-mcp-server": {
      "type": "streamable-http",
      "url": "http://localhost:8000/mcp"
    }
  }
}

Option 2: stdio (For Cursor, Claude Desktop, etc.)

{
  "mcpServers": {
    "oci-documentation-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "oci-documentation-mcp-server@latest",
        "python",
        "-m",
        "oci_documentation_mcp_server.server",
        "--transport",
        "stdio"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

Or the simpler version:

{
  "mcpServers": {
    "oci-documentation-mcp-server": {
      "command": "uvx",
      "args": ["oci-documentation-mcp-server@latest", "--transport", "stdio"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

Basic Usage

Example:

  • In Cursor ask: Write a function to download files for OCI Object Storage.

Cursor_MCP

Running the Server

Local Development

# Install dependencies
make install

# Run with Streamable HTTP (default, port 8000)
make run

# Run with custom port
make run PORT=9000

# Run with stdio transport
make run-stdio

# Run with SSE transport
make run-sse

Docker Deployment

# Build Docker image
make docker-build

# Run Docker container
make docker-run PORT=8000

# Stop container
make docker-stop

Command Line Options

uv run oci_documentation_mcp_server --help

# Options:
#   --transport {stdio,sse,streamable-http}
#                         Transport protocol to use (default: streamable-http)
#   --host HOST           Host to bind the server to (default: 0.0.0.0)
#   --port PORT           Port to run the server on (default: 8000)
#   --path PATH           Path for the MCP endpoint (default: /mcp)

Integration with OpenWebUI

OpenWebUI requires mcpo as a proxy to use MCP servers:

Step 1: Start the MCP Server

make run PORT=8001

Step 2: Run mcpo Proxy

pip install mcpo

mcpo --port 8000 --api-key "your-secret-key" \
  --server-type "streamable-http" \
  -- http://127.0.0.1:8001/mcp

Step 3: Configure OpenWebUI

  • Go to Settings → Tools/Functions
  • Add new tool server
  • URL: http://localhost:8000
  • API Key: your-secret-key

Tools

read_documentation

Fetches an OCI documentation page and converts it to markdown format.

read_documentation(url: str, max_length: int = 5000, start_index: int = 0) -> str

Parameters:

  • url: URL of the OCI documentation page (must be from docs.oracle.com and end with .htm or .html)
  • max_length: Maximum number of characters to return (default: 5000)
  • start_index: Start index for pagination (default: 0)

search_documentation

Searches OCI documentation using the Oracle Documentation Search API.

search_documentation(search_phrase: str, limit: int = 3) -> list[SearchResult]

Parameters:

  • search_phrase: Search phrase to use
  • limit: Maximum number of results to return (1-10, default: 3)

Returns:

  • List of SearchResult objects with title, url, and description fields

Development

# Install dev dependencies
make dev

# Run tests
make test

# Run linting
make lint

# Format code
make format

# Clean build artifacts
make clean

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oracle_oci_documentation_mcp_server-1.0.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file oracle_oci_documentation_mcp_server-1.0.0.tar.gz.

File metadata

File hashes

Hashes for oracle_oci_documentation_mcp_server-1.0.0.tar.gz
Algorithm Hash digest
SHA256 74dd89c30f2c8c1f850d7b33a991e75af952796da2dbbd33cd9668ef739952f5
MD5 5e8b998947f9966529f54b9281df2865
BLAKE2b-256 c31694fa3367c3858ed32a252eb92ffb788a17c42a2188377ebfdf8e25aec31a

See more details on using hashes here.

Provenance

The following attestation bundles were made for oracle_oci_documentation_mcp_server-1.0.0.tar.gz:

Publisher: publish.yml on CloudWarGit/oci-documentation-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oracle_oci_documentation_mcp_server-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for oracle_oci_documentation_mcp_server-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cfab4e26a49b254c4ef1e6a5e8165be90e49e89a2c9abc97407d262a380abf5c
MD5 df65a2888d2d138ef34129cba8d0c307
BLAKE2b-256 a739008ef157335b86d3716d58bf3c34999df9525d6c387e31bcfe91cf867238

See more details on using hashes here.

Provenance

The following attestation bundles were made for oracle_oci_documentation_mcp_server-1.0.0-py3-none-any.whl:

Publisher: publish.yml on CloudWarGit/oci-documentation-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page