Overview
MCP servers support two transport modes for client-server communication:- stdio (Standard Input/Output) - Process-based communication
- HTTP Streaming - Network-based communication over HTTP
stdio Mode (Default)
How It Works
In stdio mode, the MCP server runs as a subprocess of the client:Configuration
Cline Configuration
From main README.md lines 155-171. The
type: "stdio" field indicates stdio transport.Cursor Configuration
Place in.cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
From main README.md lines 222-238
Advantages
Process Isolation - Each server runs in its own process
Simple Setup - No network configuration needed
Local Only - No network exposure concerns
Auto-Lifecycle - Server starts/stops with client
Limitations
HTTP Streaming Mode
How It Works
In HTTP streaming mode, the MCP server runs as a standalone HTTP service:Starting the Server
Set environment variables to enable HTTP mode:From main README.md lines 58-62. When
ORACLE_MCP_HOST and ORACLE_MCP_PORT are set, the server automatically uses HTTP transport.Server Implementation
All Oracle MCP servers detect the transport mode automatically:From
src/oci-api-mcp-server/oracle/oci_api_mcp_server/server.py:206-214 and src/oci-compute-mcp-server/oracle/oci_compute_mcp_server/server.py:419-427Client Configuration
Cline Configuration
From main README.md lines 63-76
Advantages
Multiple Clients - One server, many connections
Remote Access - Can be accessed over network
Resource Efficient - Shared server instance
Persistent State - Server stays running between client sessions
Security Considerations
HTTP mode does not include built-in authentication. Ensure proper network security (firewalls, VPNs) when exposing servers.
Containerized HTTP Mode
Building the Container
oracle.oci-api-mcp-server:latest
Running with HTTP Transport
From main README.md lines 100-103
Container Credential Requirements
From main README.md lines 104-108
Transport Mode Comparison
| Feature | stdio | HTTP Streaming |
|---|---|---|
| Setup Complexity | Simple | Moderate |
| Client Limit | One per process | Multiple concurrent |
| Network Required | No | Yes |
| Resource Usage | Higher (per client) | Lower (shared) |
| Remote Access | No | Yes |
| Security | Process isolation | Network exposure |
| Lifecycle | Client-managed | Manual/service |
| Best For | Local development, single user | Shared environments, remote access |
Choosing the Right Mode
Use stdio When:
✓ Developing locally with IDE extensions (Cline, Cursor) ✓ You need process isolation per client ✓ You want automatic server lifecycle management ✓ You don’t need remote access ✓ You’re following the quick start guideUse HTTP When:
✓ Multiple users/clients need to share one server ✓ You want to deploy servers centrally ✓ You need remote access to MCP servers ✓ You’re running in a containerized environment ✓ You want to reduce resource usageLocal Development
For local development with your own server modifications:stdio Mode
From main README.md lines 367-383
HTTP Mode
From main README.md lines 432-441
Testing with Inspector
The MCP Inspector tool works with both modes:stdio Mode (Default)
HTTP Mode
Start the server first, then use Inspector’s HTTP client mode:Next Steps
Authentication
Configure OCI credentials for both modes
Client Setup
Configure your MCP client
Local Development
Set up local development environment
Deployment
Deploy servers in production
