Rohlik MCP Proxy
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., "@Rohlik MCP Proxylist my recent orders"
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.
Rohlik MCP Proxy Server
A Docker-based proxy MCP (Model Context Protocol) server for the Rohlik MCP service that forwards requests to https://mcp.rohlik.cz/mcp while automatically injecting authentication headers from a base64url token in the URL path (or optional env fallback).
Features
Transparent Proxying: Forwards MCP protocol messages between clients and the Rohlik MCP server
Authentication Injection: Automatically injects
rhl-emailandrhl-passheaders from a base64url path token (env fallback optional)SSE/Streaming Support: Streams GET responses for real-time MCP sessions
Docker-based: Easy deployment with Docker and Docker Compose
Health Monitoring: Built-in health check endpoint
CORS Enabled: Allows browser-based and desktop MCP clients to connect
Related MCP server: Rohlik MCP
Prerequisites
Docker and Docker Compose installed
Rohlik account credentials (email and password)
Quick Start
1. Generate a base64url token
Create a base64url-encoded token for email:password:
python - <<'PY'
import base64
print(base64.urlsafe_b64encode(b"email@gmail.com:password").decode())
PY2. Build and Run with Docker Compose
Note: docker-compose.yml expects an external network named cloudflare. Create it with
docker network create cloudflare or remove the networks section if you don't need it.
# Build and start the proxy server
docker-compose up -d
# View logs
docker-compose logs -f rohlik-mcp-proxy
# Stop the server
docker-compose downThe proxy server will be available at:
MCP Endpoint:
http://localhost:8000/mcp/<base64url-token>Health Check:
http://localhost:8000/healthInfo:
http://localhost:8000/
3. Alternative: Run with Docker
# Build the image
docker build -t rohlik-mcp-proxy .
# Run the container
docker run -d \
--name rohlik-mcp-proxy \
-p 8000:8000 \
rohlik-mcp-proxy
# View logs
docker logs -f rohlik-mcp-proxy
# Stop the container
docker stop rohlik-mcp-proxy
docker rm rohlik-mcp-proxyConfiguration
Environment Variables
Variable | Required | Default | Description |
| No | - | Optional fallback email (used when no path token is provided) |
| No | - | Optional fallback password (used when no path token is provided) |
| No |
| Rohlik MCP backend endpoint |
Base64url Path Token
The proxy expects a URL path like /mcp/<base64url(email:password)>. Padding (=) is optional.
If you set RHL_EMAIL and RHL_PASS, you can also use /mcp without a token.
MCP Client Configuration
Configure your MCP client (e.g., Claude Desktop, ChatGPT) to connect to the proxy. Use the base64url token in the URL path:
{
"mcpServers": {
"rohlik": {
"url": "http://localhost:8000/mcp/<base64url-token>",
"transport": "streamable-http"
}
}
}Or for fastmcp client:
Or using MCP Inspector:
npx @modelcontextprotocol/inspector http://localhost:8000/mcp/<base64url-token>Development
Local Development (Without Docker)
# Install uv package manager
pip install uv
# Install dependencies
uv pip install -e .
# Run the proxy server
python proxy_server.pyProject Structure
rohlik-mcp-proxy/
├── proxy_server.py # Main proxy server implementation
├── pyproject.toml # Python project configuration
├── Dockerfile # Docker image definition
├── docker-compose.yml # Docker Compose configuration
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
└── README.md # This fileHow It Works
Client Connection: MCP client connects to the proxy at
/mcp/<base64url-token>(GET for streaming, POST for calls)Request Forwarding: Proxy receives MCP requests from the client
Header Injection: Proxy decodes the path token and adds authentication headers (
rhl-email,rhl-pass)Backend Communication: Proxy forwards the authenticated request to Rohlik MCP server
Response Handling: Proxy streams GET responses and returns POST/other responses
Bidirectional Flow: Process repeats for all subsequent requests
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ │ │ │ │ │
│ MCP Client │ <-----> │ Rohlik Proxy │ <-----> │ Rohlik MCP │
│ │ HTTP │ (adds headers) │ HTTPS │ Backend Server │
│ │ │ │ │ │
└─────────────┘ └──────────────────┘ └─────────────────┘
Port 8000 mcp.rohlik.czHealth Check
The proxy includes a built-in health check endpoint:
curl http://localhost:8000/health
# Returns: OKDocker Compose automatically monitors this endpoint and restarts the container if it becomes unhealthy.
Security Considerations
Credentials Storage: Never commit your
.envfile with real credentials to version controlNetwork Security: For production use, consider running the proxy behind a reverse proxy with HTTPS
Access Control: No additional authentication is enforced by the proxy; restrict access at the network or reverse proxy level
Password Safety: Credentials are passed via URL path and HTTP headers (ensure HTTPS and avoid logging full URLs in production)
Troubleshooting
Container won't start
# Check logs
docker-compose logs rohlik-mcp-proxy
# Common issues:
# - Port 8000 already in use
# - Invalid or missing base64 token in the URL pathConnection refused
# Verify the container is running
docker-compose ps
# Check if port is accessible
curl http://localhost:8000/healthRohlik authentication errors
# Verify your base64url token decodes to email:password
python - <<'PY'
import base64
print(base64.urlsafe_b64decode(b"<base64url-token>").decode())
PYLicense
This project is provided as-is for integration with the Rohlik MCP service.
Related Documentation
This server cannot be deployed
Maintenance
Related MCP Connectors
Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
REST-to-MCP for UK hospitality. Safety proxy: circuit-breakers, rate limits, whitelists. Apache 2.0.
- mcpOAuthcom.zomato
An MCP server that exposes functionalities to use Zomato's services.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables interaction with Mealie for managing recipes, meal plans, shopping lists, foods, units, tags, categories, and more through MCP.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Rohlik Group's online grocery delivery services across multiple countries, including product search, cart management, and account info.15 npm120MIT
- AlicenseAqualityAmaintenanceA local MCP server for grocery shopping, enabling product search, specials, and browsing across NZ supermarkets, with cart and order history for Countdown/Woolworths via browser-assisted login.141MIT
- AlicenseAqualityCmaintenanceMCP server for the Krónan grocery store API, enabling product search, shopping notes management, checkout, and order tracking.3328 npm15MIT