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

Model Context Protocol (MCP) server for OCI Documentation

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

Change log

  • 2026-05-20: support transport: stdio,sse,streamable-http
  • 2026-05-19: change search engine to oracle help center search
  • 2025-04-21: Initial release

Features

oci_search_documentation

Searches OCI documentation through the Oracle Help Center Search API and returns structured page results. This tool is intended for the first step of a documentation workflow: finding the most relevant Oracle documentation URL before reading the page.

Parameters:

  • search_phrase: Search text. Use specific OCI service names, product terms, error messages, or feature names for better results.
  • limit: Maximum number of results to return. Defaults to 3.
  • page: Search result page number. Defaults to 1.

Returns:

  • Pagination metadata from the Oracle Help Center result set.
  • A list of documentation results with title, URL, and description.

Design notes:

  • Uses the public Oracle Help Center pages endpoint.

oci_read_documentation

Reads one OCI documentation page, converts it from HTML to Markdown, indexes it by line number, and returns a window of content. This tool is intended for controlled reading of long documentation pages without flooding the MCP response.

Parameters:

  • url: OCI documentation page URL. The URL must be from docs.oracle.com and must end with .htm or .html.
  • start_index: 0-based line number to start reading from. Defaults to 0.
  • max_lines: Maximum number of Markdown lines to return. Defaults to 10.

Returns:

  • stats: Total lines, total words, start line, returned lines, remaining lines, and remaining words.
  • content: Markdown text for the requested line window.
  • table_of_contents: Returned only when start_index == 0; includes heading level, title, and 0-based line number.

Design notes:

  • Long documents are paged by Markdown line number rather than character offset, which makes follow-up reads easier for agents.
  • Converted pages are cached in process memory for 24 hours, up to 128 pages. The cache stores a single line-list representation to avoid duplicating full Markdown text and split lines.
  • Table of contents and related links are returned only for the first read to avoid repeating metadata during follow-up reads.

Use

Option 1: Run from pypi package

Defalt output through stdio, change that

{
  "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"
      }
    }
  }
}

Option 2: Run locally from source code and output through stdio

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)
{
  "mcpServers": {
    "oci-documentation-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/oci-documentation-mcp-server"
        "run",
        "python",
        "-m",
        "oci_documentation_mcp_server.server",
        "--transport",
        "stdio"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

Option 2: Run as server

Run the server use Streamable HTTP:

uv run python -m oci_documentation_mcp_server.server --transport "streamable-http" --port 8000 --path "/mcp"

Config on agent tools:

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

Tools

oci_search_documentation

Searches OCI documentation based on a search phrase.

oci_search_documentation(search_phrase: str, limit: int = 3, page: int = 1) -> str

oci_read_documentation

Fetches an OCI documentation page and returns content partially as markdown.

oci_read_documentation(url: str, start_index: int = 0, max_lines: int = 10) -> str

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

oci_documentation_mcp_server-20260520.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

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

oci_documentation_mcp_server-20260520-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file oci_documentation_mcp_server-20260520.tar.gz.

File metadata

File hashes

Hashes for oci_documentation_mcp_server-20260520.tar.gz
Algorithm Hash digest
SHA256 1a410339295a3a91b85262dd0ef768b0b01afe796bb9268edd556a09f9d3ac65
MD5 291ce60460b27e557ff2e7a4840d31f0
BLAKE2b-256 de45ceb94e3d5288c0ca9e3b6f46784192f9abac6a4ff9e0c451af89b5f9853a

See more details on using hashes here.

Provenance

The following attestation bundles were made for oci_documentation_mcp_server-20260520.tar.gz:

Publisher: publish.yml on jin38324/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 oci_documentation_mcp_server-20260520-py3-none-any.whl.

File metadata

File hashes

Hashes for oci_documentation_mcp_server-20260520-py3-none-any.whl
Algorithm Hash digest
SHA256 26bada12db6908ba303d1f424adc8a2c528366c57836d511c08ddb47e856e512
MD5 b2e82ddcbc9501013db2af57603dcbd5
BLAKE2b-256 042c25881fb5a83944a2ed4bb313ffc6ded519ceef4c7542bfd3bc7e3f40700e

See more details on using hashes here.

Provenance

The following attestation bundles were made for oci_documentation_mcp_server-20260520-py3-none-any.whl:

Publisher: publish.yml on jin38324/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