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
- Install
uvfrom Astral or the GitHub README - 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.
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 uselimit: Maximum number of results to return (1-10, default: 3)
Returns:
- List of
SearchResultobjects withtitle,url, anddescriptionfields
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
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 oracle_oci_documentation_mcp_server-1.0.0.tar.gz.
File metadata
- Download URL: oracle_oci_documentation_mcp_server-1.0.0.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74dd89c30f2c8c1f850d7b33a991e75af952796da2dbbd33cd9668ef739952f5
|
|
| MD5 |
5e8b998947f9966529f54b9281df2865
|
|
| BLAKE2b-256 |
c31694fa3367c3858ed32a252eb92ffb788a17c42a2188377ebfdf8e25aec31a
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oracle_oci_documentation_mcp_server-1.0.0.tar.gz -
Subject digest:
74dd89c30f2c8c1f850d7b33a991e75af952796da2dbbd33cd9668ef739952f5 - Sigstore transparency entry: 1079137007
- Sigstore integration time:
-
Permalink:
CloudWarGit/oci-documentation-mcp-server@221c30777e1511ab2584406eac35a4bcd9fe15f7 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/CloudWarGit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@221c30777e1511ab2584406eac35a4bcd9fe15f7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file oracle_oci_documentation_mcp_server-1.0.0-py3-none-any.whl.
File metadata
- Download URL: oracle_oci_documentation_mcp_server-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cfab4e26a49b254c4ef1e6a5e8165be90e49e89a2c9abc97407d262a380abf5c
|
|
| MD5 |
df65a2888d2d138ef34129cba8d0c307
|
|
| BLAKE2b-256 |
a739008ef157335b86d3716d58bf3c34999df9525d6c387e31bcfe91cf867238
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oracle_oci_documentation_mcp_server-1.0.0-py3-none-any.whl -
Subject digest:
cfab4e26a49b254c4ef1e6a5e8165be90e49e89a2c9abc97407d262a380abf5c - Sigstore transparency entry: 1079137017
- Sigstore integration time:
-
Permalink:
CloudWarGit/oci-documentation-mcp-server@221c30777e1511ab2584406eac35a4bcd9fe15f7 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/CloudWarGit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@221c30777e1511ab2584406eac35a4bcd9fe15f7 -
Trigger Event:
release
-
Statement type: