oci-mcp-blueprint
This server is a sample/blueprint MCP server for exploring a fake, hard-coded order-management database — no real database or SQL is involved. It provides two tools:
get_schema: Returns the schema of the fake database. Optionally filter bytable_nameand/or include hard-coded sample rows (include_sample_rows: true). Returns all tables if no filter is specified.get_data: Returns simulated rows from a fake table (default:orders). Supports a demo filter language via aconditionparameter (e.g.,status == shipped,customer_name contains acme,total_amount != 0) with==,!=, andcontainsoperators. Never executes real SQL. Accepts an optionallimit(default:10).
Additional capabilities:
Blueprint: Serves as a reference implementation for building, packaging, and deploying custom Python MCP servers on OCI Enterprise AI.
Deployment: Supports local development, Docker Compose, and OCI Enterprise AI Hosted Applications via a deployment/agent factory.
Extensibility: Replace the domain logic while keeping the same structure to build your own MCP server.
Click on "Install 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-mcp-blueprintshow me the schema of the orders table"
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.
OCI MCP Blueprint
Build, customize, package, and deploy a Python MCP server on Oracle Cloud Infrastructure.
This repository is a blueprint for teams that want to move from a local custom MCP server prototype to a cloud-ready service that can run on OCI Enterprise AI. The goal is to provide both a practical reference implementation and the supporting deployment infrastructure needed to adapt the server to real enterprise use cases.
The project currently includes:
a Python MCP server skeleton with a clear project structure;
two sample MCP tools that demonstrate the expected extension points;
centralized runtime configuration for local and cloud execution;
tests and specifications that document the intended behaviour;
local development instructions for running and validating the server;
a local Agent Factory for building, publishing, and deploying the server to OCI Enterprise AI Hosted Applications.
Project Scope
The blueprint focuses on a custom MCP server implemented in Python. It is meant to be adapted by replacing or extending the sample MCP capabilities while keeping the protocol boundary, configuration, packaging, and deployment flow easy to understand.
The repository is intentionally scoped to:
MCP server implementation patterns;
sample Python code for tools, resources, and prompts;
local validation and automated tests;
OCI-compatible packaging and deployment;
a factory workflow for OCI Enterprise AI deployments.
It is not intended to become a collection of unrelated agents, clients, framework examples, or deployment targets.
Related MCP server: Streamable HTTP Python MCP Server Template
Development Model
This project follows a spec-driven development workflow. Meaningful features,
protocol changes, deployment changes, and behavioural changes should start with
a specification under specs/ before implementation.
The first sample server design is documented in
specs/001-sample-fastmcp-server.md. It
defines a Python FastMCP server with two example tools, get_schema and
get_data, backed by hard-coded fake database metadata and simulated rows.
The expected local Conda environment name is:
conda activate oci-mcp-blueprintInstall the package and development dependencies:
python -m pip install -e ".[dev]"Optional local environment templates are documented in .env.example. Copy the
values you need into an ignored .env file or export them in your shell before
starting the local server, client, or deployment factory.
Run the sample MCP server:
python -m oci_mcp_blueprint.serverThe server runs with FastMCP Streamable HTTP only. It binds to 0.0.0.0:8080
and serves the MCP endpoint at /mcp by default.
For local-only binding:
MCP_SERVER_HOST=127.0.0.1 python -m oci_mcp_blueprint.serverThe same entry point is available as a console script:
oci-mcp-blueprint-serverTest a local or remote MCP endpoint with the command-line client:
oci-mcp-blueprint-client --url http://127.0.0.1:8080/mcp list-tools
oci-mcp-blueprint-client --url http://127.0.0.1:8080/mcp get-schema
oci-mcp-blueprint-client --url http://127.0.0.1:8080/mcp get-data "status == shipped"For a protected remote deployment:
oci-mcp-blueprint-client \
--url https://example-hosted-app.example.com/mcp \
--bearer-token "$MCP_CLIENT_BEARER_TOKEN" \
list-toolsRun the project checks:
python -m black --check .
python -m pylint src tests
python -m pytestRun the Docker Compose deployment:
./start_server.sh
oci-mcp-blueprint-client --url http://127.0.0.1:8080/mcp list-tools
./stop_server.shOCI Hosted Deployment Factory
The OCI Hosted Deployment Factory is a local web application that helps you deploy this blueprint's MCP server to OCI Enterprise AI Hosted Applications.
It is not part of the deployed MCP runtime. Instead, it is an operator tool that runs on your workstation or jump host and guides the deployment workflow:
collects OCI, OCIR, Hosted Application, and MCP runtime settings;
validates inputs and OCIR credentials;
builds the repository root
Dockerfileas the MCP server image;pushes the image to OCI Container Registry;
creates or reuses the OCI Enterprise AI Hosted Application;
creates a Hosted Deployment from the pushed image;
validates the hosted MCP endpoint with the standard MCP
list_toolsoperation;returns the hosted MCP Streamable HTTP URL.
The factory itself has two local services:
agent-factory/api: FastAPI backend for deployment orchestration.agent-factory/ui: Next.js UI for guided input and progress tracking.
The deployed runtime remains the Python FastMCP server from
src/oci_mcp_blueprint; it exposes Streamable HTTP at /mcp and does not
include the factory UI or API.
Start the factory locally:
./start_factory.sh --buildThen open the factory UI at:
http://localhost:3100The factory builds the root MCP server image, pushes it to OCIR, creates an OCI
Enterprise AI Hosted Application deployment, validates the hosted MCP endpoint
with list_tools, and returns the hosted /mcp URL. See
docs/oci-hosted-deployment-factory.md
for details.
Sample Tools
The server is intentionally a sample server. The schema and rows are fake, hard-coded, deterministic data used only to demonstrate how to build a modular MCP server.
get_schema
Returns a structured description of the fake order-management database schema. It supports:
table_name: optional table filter;include_sample_rows: optional flag to include fake rows in the schema response.
get_data
Returns simulated rows from the fake database. It accepts:
condition: required demo filter expression;table_name: optional table name, defaultorders;limit: optional row limit, default10.
The condition is not SQL and is never executed against a database. Supported forms are:
field == value
field != value
field contains valueExample conditions:
status == shipped
customer_name contains acme
total_amount != 0Project Layout
src/oci_mcp_blueprint/
client.py
config.py
server.py
domain/
fake_database.py
schema_service.py
data_service.py
mcp/
models.py
tools.py
tests/unit/
specs/
agent-factory/Domain logic is separated from FastMCP registration so that another MCP server can be created by replacing the domain package and adapting the tool layer.
Runtime transport selection is intentionally not exposed. This blueprint supports only Streamable HTTP because it targets OCI Enterprise AI hosted deployment.
Documentation
docs/customizing-mcp-server.md: file-by-file guide for replacing the sample domain and creating a custom MCP server.
docs/docker-compose-deployment.md: local Docker Compose deployment and validation guide.
Security Notes
Do not commit secrets, private keys, API keys, OCI OCIDs, private endpoints, or environment-specific identifiers. Runtime configuration should use environment variables, ignored local configuration files, or documented placeholders.
The committed .env.example file contains only safe local defaults and empty
placeholders. Keep real tokens, passwords, OCIDs, and environment-specific URLs
in an ignored .env file or an external secret store.
Current Status
The repository contains the first sample FastMCP implementation and a local Docker Compose deployment. The next major step is the OCI Enterprise AI deployment factory.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/luigisaetta/oci-mcp-blueprint'
If you have feedback or need assistance with the MCP directory API, please join our Discord server