One decision engine, four doors
The Disc & Sciatica Next-Step Checker is powered by a single canonical engine (run_sciatica_information_check). It is reachable four ways — a REST endpoint, a Model Context Protocol server, a page-level browser WebMCP tool, and a machine-readable discovery layer. All four call the same engine, so results are identical.
Safety & scope
This tool provides educational information only and is not medical advice. It never diagnoses a condition, gives clinical advice, or recommends treatment, and it never triggers a consequential action. Every canonical response includes the exact notice “This tool provides educational information only and is not medical advice.” If a red-flag symptom is reported (loss of bladder or bowel control, saddle/groin numbness, foot drop, or rapidly worsening leg weakness), the engine immediately routes to urgent in-person medical care.
The four doors
1. REST
Structured JSON in, structured JSON out. CORS is enabled (Access-Control-Allow-Origin: *) with an OPTIONS preflight. A GET on the same path returns a descriptor.
2. MCP (JSON-RPC 2.0)
A genuine Model Context Protocol server supporting initialize, tools/list, and tools/call. It exposes run_sciatica_information_check plus the existing tools (assess_next_step, get_clinic_info, list/search/get education articles).
3. Browser WebMCP (page-level)
Every page registers the tool with the browser via document.modelContext.registerTool()when the host supports it, and falls back gracefully to the REST door when it does not. The in-page tool is run_sciatica_information_check.
4. Discovery
/openapi.json/capability-manifest.json/llms.txt/.well-known/ai-plugin.json/.well-known/mcp.json
Example request
curl -X POST https://okcsciaticacheck.com/api/v1/run-sciatica-information-check \
-H "Content-Type: application/json" \
-d '{
"redFlags": false,
"symptoms": ["shooting pain", "numbness"],
"radiation": ["calf", "foot"],
"worseWith": ["sitting", "driving"]
}'The response includes category, informationalSummary, redFlagScreening, signalScores, and always the exact educationalNotice string. The same body sent to the MCP tools/call for run_sciatica_information_check returns the same result.