oci-documentation-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@oci-documentation-mcp-serversearch for OCI Object Storage documentation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 to3.page: Search result page number. Defaults to1.
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 fromdocs.oracle.comand must end with.htmor.html.start_index: 0-based line number to start reading from. Defaults to0.max_lines: Maximum number of Markdown lines to return. Defaults to10.
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 whenstart_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
Doenload this repo. 2.Install
uvfrom 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 toolsoci_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:
Continue Reading: Make another call with
start_indexset to retrieve the next portion of the document.Stop Early: If you've already found the specific information needed, you can stop reading
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the OCI documentation page to read | |
| max_lines | No | Maximum number of lines to return. | |
| start_index | No | On return output starting at this line number, useful if a previous fetch was truncated and more content is required. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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")
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number to return | |
| limit | No | Maximum number of results to return | |
| search_phrase | Yes | Search phrase to use |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v0.1.0- First observed
oci_read_documentation - First observed
oci_search_documentation
TDQS
Scored across 2 tools
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.
Both tools follow a consistent pattern: 'oci_' prefix + verb + '_documentation'. The naming is predictable and clear.
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).
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
Related MCP Connectors
Provides tools for searching Google Workspace documentation and much more.
Provides access to Google's public developer documentation.
Search and read Vector Panda docs: API operations, pricing, storage tiers, measured benchmarks.
Search and read Rust documentation for the standard library and any crate on crates.io
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.23Apache 2.0
- AlicenseAqualityDmaintenanceEnables access to AWS documentation through natural language by fetching and converting documentation pages to markdown, searching AWS docs, and getting content recommendations for AWS service documentation.3Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search, read, and traverse documentation bundles in Open Knowledge Format via MCP tools.233 npm72MIT
- AlicenseNot gradedqualityDmaintenanceProvides tools to read, search, and get recommendations for AWS documentation pages, with support for both global and China regions.Apache 2.0