Remote Clinic MCP Server
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., "@Remote Clinic MCP ServerWhat lab preparations are available for cardiology?"
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.
Remote Clinic MCP Server
Stateless Model Context Protocol server developed for the remote-server requirement of the CC3067 Networks project. It publishes a laboratory preparation catalog, evaluates preparation conditions, and returns the server time over Streamable HTTP.
All policies are synthetic and intended only for academic demonstration.
Features
Streamable HTTP MCP transport.
Stateless JSON responses suitable for multiple clients.
Laboratory policies for GLU, HBA1C, CHOL, CREA, and TSH.
Validation of fasting, alcohol, and strenuous-exercise preparation.
Health endpoint for local containers and cloud platforms.
Automated catalog and time-zone tests.
Related MCP server: Veridexa MCP Gateway
Deployed service
Purpose | URL |
MCP endpoint |
|
Health endpoint |
|
The MCP endpoint accepts protocol requests with POST. The health endpoint accepts GET and returns:
{"status": "ok", "server": "remote-clinic-mcp"}The Cloud Run service is public for the classroom interoperability demonstration. It does not store patient data and does not require an API key.
MCP specification
Tools
Tool | Required parameters | Optional parameters | Result |
| None |
| Matching test policies and count. |
|
| None | Complete preparation policy for one code. |
|
|
| Readiness flag, unmet requirements, and the applicable policy. |
| None | None | UTC time, Guatemala time, and transport name. |
test_code is normalized to uppercase. Negative hour values and unknown codes return MCP tool errors. Omitting a preparation value does not satisfy a nonzero requirement.
Demonstration policies
Code | Test | Minimum fasting | Avoid alcohol | Avoid strenuous exercise |
| Fasting glucose | 8 h | 24 h | 12 h |
| Glycated hemoglobin | 0 h | 0 h | 0 h |
| Lipid profile | 9 h | 24 h | 12 h |
| Creatinine | 0 h | 0 h | 24 h |
| Thyroid-stimulating hormone | 0 h | 0 h | 0 h |
Water is allowed for every policy in the demonstration catalog.
Requirements
Python 3.11 or newer
Docker Desktop for container testing
Google Cloud CLI and a billing-enabled project for deployment
Local installation
Install the locked environment and start the server:
uv sync --locked
uv run remote-clinic-mcpThe local MCP endpoint is http://localhost:8080/mcp and the health endpoint is http://localhost:8080/health. Set PORT before startup to use another port.
Run the automated tests with:
uv run pytestContainer
Build and run the same image used by the cloud service:
docker build -t remote-clinic-mcp .
docker run --rm -p 8080:8080 remote-clinic-mcpIn another terminal, verify it:
Invoke-RestMethod "http://localhost:8080/health"Google Cloud Run deployment
Select a Google Cloud project and enable the required services:
gcloud config set project YOUR_PROJECT_ID
gcloud services enable run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.comDeploy from the repository directory:
gcloud run deploy remote-clinic-mcp `
--source . `
--region us-central1 `
--allow-unauthenticated `
--port 8080 `
--min-instances 0 `
--max-instances 1 `
--cpu 1 `
--memory 512Mi `
--concurrency 20 `
--timeout 300The zero minimum allows the service to scale down when idle. Verify the URL printed by Cloud Run by appending /health.
Client configuration
The console host reads the complete MCP URL from its .env file:
REMOTE_MCP_URL=https://remote-clinic-mcp-915028065261.us-central1.run.app/mcpAny Streamable HTTP MCP client can use the same /mcp endpoint. A representative tool scenario is:
Call
get_remote_server_timeand verifytransportisstreamable-http.Call
get_lab_preparationwith{"test_code": "GLU"}.Call
check_lab_preparationwith{"test_code": "GLU", "fasting_hours": 10, "hours_since_alcohol": 30, "hours_since_strenuous_exercise": 14}.Verify that
ready_according_to_demo_policyistrue.
Wireshark capture
Cloud Run communicates over TLS on TCP port 443. A capture of a complete MCP session contains:
DNS resolution for the Cloud Run hostname.
TCP connection establishment.
TLS negotiation and encrypted application data.
MCP initialization through JSON-RPC.
notifications/initializedsynchronization.tools/listdiscovery.tools/callrequests and their responses.
The JSON-RPC body remains encrypted unless the client exports TLS session keys and Wireshark is configured to use that key log. Session key files should be kept private and must not be published in the repository.
Source structure
src/remote_clinic_mcp/
catalog.py Preparation policies and validation
server.py MCP tools, health route, and HTTP entry point
tests/
DockerfileSecurity and cost controls
The service is stateless and stores no personal or clinical records.
The catalog contains demonstration data only.
Cloud Run is limited to one instance and can scale to zero.
The public endpoint is appropriate only for this academic demonstration.
After evaluation, disable or delete the service if it is no longer needed.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only U.S. lab-test catalog, collection-site search, and reference-range context.
QuLab MCP remote server (Streamable HTTP) for computational science and lab tools.
Hosted NeuroDock — stateless communication and planning tools over OAuth-secured Streamable HTTP.
Remote MCP server exposing SMI Aware tools, resources, and skills over Streamable HTTP.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server providing time retrieval and echo tools, running as an independent network process over Streamable HTTP.-
- FlicenseNot gradedqualityCmaintenanceExposes the Veridexa S2S API to MCP clients (e.g., ChatGPT) via Streamable HTTP, allowing document verification and report retrieval.-
- FlicenseNot gradedqualityCmaintenanceProvides a streamable HTTP endpoint for compatibility analysis, with published contracts and schemas for integration.-
- AlicenseNot gradedqualityCmaintenanceProvides authenticated Streamable HTTP MCP access to a MedEval medical-device regulatory workspace, enabling project selection, evidence retrieval, section context, document revision management, and generation/evaluation task control.MIT