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 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
{
"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
- Install
uvfrom Astral or the GitHub README - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oci_documentation_mcp_server-20260520.tar.gz.
File metadata
- Download URL: oci_documentation_mcp_server-20260520.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a410339295a3a91b85262dd0ef768b0b01afe796bb9268edd556a09f9d3ac65
|
|
| MD5 |
291ce60460b27e557ff2e7a4840d31f0
|
|
| BLAKE2b-256 |
de45ceb94e3d5288c0ca9e3b6f46784192f9abac6a4ff9e0c451af89b5f9853a
|
Provenance
The following attestation bundles were made for oci_documentation_mcp_server-20260520.tar.gz:
Publisher:
publish.yml on jin38324/oci-documentation-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oci_documentation_mcp_server-20260520.tar.gz -
Subject digest:
1a410339295a3a91b85262dd0ef768b0b01afe796bb9268edd556a09f9d3ac65 - Sigstore transparency entry: 1580727554
- Sigstore integration time:
-
Permalink:
jin38324/oci-documentation-mcp-server@0d3e82a3e8e20033c979d9b0813979129275c1a8 -
Branch / Tag:
refs/tags/v20260520 - Owner: https://github.com/jin38324
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0d3e82a3e8e20033c979d9b0813979129275c1a8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file oci_documentation_mcp_server-20260520-py3-none-any.whl.
File metadata
- Download URL: oci_documentation_mcp_server-20260520-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26bada12db6908ba303d1f424adc8a2c528366c57836d511c08ddb47e856e512
|
|
| MD5 |
b2e82ddcbc9501013db2af57603dcbd5
|
|
| BLAKE2b-256 |
042c25881fb5a83944a2ed4bb313ffc6ded519ceef4c7542bfd3bc7e3f40700e
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oci_documentation_mcp_server-20260520-py3-none-any.whl -
Subject digest:
26bada12db6908ba303d1f424adc8a2c528366c57836d511c08ddb47e856e512 - Sigstore transparency entry: 1580727660
- Sigstore integration time:
-
Permalink:
jin38324/oci-documentation-mcp-server@0d3e82a3e8e20033c979d9b0813979129275c1a8 -
Branch / Tag:
refs/tags/v20260520 - Owner: https://github.com/jin38324
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0d3e82a3e8e20033c979d9b0813979129275c1a8 -
Trigger Event:
release
-
Statement type: