Skip to main content
Glama
jin38324

oci-documentation-mcp-server

by jin38324

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

Related MCP server: AWS Documentation MCP Server

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 use --transport if you want.

{
  "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. Doenload this repo. 2.Install uv from Astral or the GitHub README

{
  "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 3: Run as server

Run as 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"
    }
  }
}

Available Tools

2 tools
oci_read_documentationA

Fetch an OCI documentation page url and return content partially as markdown.

Handling Long Documents

If the response indicates the document was truncated, you have several options:

  1. Continue Reading: Make another call with start_index set to retrieve the next portion of the document.

  2. Stop Early: If you've already found the specific information needed, you can stop reading

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the OCI documentation page to read
max_linesNoMaximum number of lines to return.
start_indexNoOn return output starting at this line number, useful if a previous fetch was truncated and more content is required.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that content is returned partially (truncated) and explains how to continue reading. However, it does not mention error handling, authentication requirements, or behavior for invalid URLs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and then provides a concise section on handling long documents. It is efficient but could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists (implied), the description adequately covers the tool's behavior. It explains partial content and continuation but lacks mention of error scenarios or validation for the URL parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds value by explaining the start_index parameter in the context of handling truncated results and clarifies the default and limits for max_lines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches an OCI documentation page URL and returns content as markdown. It distinguishes from the sibling tool 'oci_search_documentation' by focusing on reading a specific page rather than searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (to read a documentation page) and provides guidance on handling long documents via start_index. It implicitly contrasts with the sibling search tool but does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

oci_search_documentationA

Search OCI documentation based on a search phrase.

Usage

This tool searches OCI documentation pages matching your search phrase. Use it to find relevant documentation urls about OCI Productswhen you don't have a specific URL.

Search Tips

  • Use specific product name/technical terms rather than general phrases

  • Include service names to narrow results (e.g., "OCI Object Storage bucket versioning" instead of just "versioning")

  • Use quotes for exact phrase matching (e.g., "Using Instance Configurations and Instance Pools")

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number to return
limitNoMaximum number of results to return
search_phraseYesSearch phrase to use

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It implies a read-only search operation but does not explicitly state it is non-destructive, nor does it mention rate limits, authentication, or the exact return format (e.g., whether it returns snippets or just URLs). The search tips offer some guidance but not full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sections: a one-line summary, usage paragraph, and search tips. It is front-loaded and each section adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema and a sibling tool, the description is fairly complete. It explains when to use the tool, how to formulate queries, and implies pagination via parameters. However, it does not explicitly describe pagination behavior or result sorting.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add additional meaning beyond the schema for the parameters; it only provides general search tips that apply to the search_phrase parameter. Page and limit are not elaborated further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches OCI documentation based on a search phrase, and explicitly distinguishes it from the sibling tool oci_read_documentation by noting it is used when you don't have a specific URL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit guidance on when to use this tool versus the sibling, stating 'Use it to find relevant documentation urls about OCI Products when you don't have a specific URL.' It also provides search tips for effective usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.0
    • First observedoci_read_documentation
    • First observedoci_search_documentation

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one reads a specific documentation page, the other searches for relevant pages. There is no overlap or ambiguity between them.

Naming Consistency5/5

Both tools follow a consistent pattern: 'oci_' prefix + verb + '_documentation'. The naming is predictable and clear.

Tool Count3/5

With only 2 tools, the server feels minimal. While read and search cover essential documentation operations, a small tool count like this is borderline and could benefit from additional tools (e.g., list categories or browse).

Completeness3/5

The tools cover the core workflow of searching and reading documentation. However, there is no tool for browsing documentation structure or listing available sections, which might be needed for efficient navigation.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables access to OpenTelemetry documentation by fetching and converting pages to markdown format and searching content using Google Custom Search. Provides comprehensive documentation lookup and search capabilities for OpenTelemetry concepts, instrumentation, and configuration.
    2
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search, read, and traverse documentation bundles in Open Knowledge Format via MCP tools.
    233 npm
    72
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides tools to read, search, and get recommendations for AWS documentation pages, with support for both global and China regions.
    Apache 2.0