Run Synth Server
The MCP Synth Server is a FastAPI application that exposes tools for generating synthetic airline data, inspecting models, previewing data, and exporting archives.
Prerequisites
Python environment must be active: The .venv environment should be activated.
Dependencies installed: uvicorn and fastapi must be installed (included in dev dependencies).
Verify with:
python -c "import uvicorn; import fastapi; print('OK')"
If not installed, run from airline-discount-ml/:
pip install -e ".[dev]"
Standard Server Start Procedure
Run the following commands in order:
Navigate to Project Root:
cd airline-discount-ml
Start the Server (Background Mode - Recommended):
Use nohup to run the server in the background so it persists when new terminal commands are run:
nohup uvicorn src.mcp_synth.server:app --host 127.0.0.1 --port 8010 --reload > synth_server.log 2>&1 &
This will:
- Run the server in the background (
&)
- Keep it running even after terminal commands (
nohup)
- Log output to
synth_server.log
Alternative: Foreground Mode (blocks terminal):
uvicorn src.mcp_synth.server:app --host 127.0.0.1 --port 8010 --reload
Options:
--host 127.0.0.1: Bind to localhost only (safe for development)
--port 8010: Default port (change if occupied)
--reload: Auto-reload on code changes (development mode)
Production mode (no auto-reload):
nohup uvicorn src.mcp_synth.server:app --host 0.0.0.0 --port 8010 > synth_server.log 2>&1 &
Verify Server is Running:
curl http://127.0.0.1:8010/healthz
Expected response: {"status":"ok"}
Check version:
curl http://127.0.0.1:8010/version
View server logs:
tail -f synth_server.log
Available Endpoints
| Endpoint |
Method |
Description |
/healthz |
GET |
Health check |
/version |
GET |
Server version |
/synth_generate |
POST |
Generate synthetic data |
/mcp |
POST |
MCP JSON-RPC endpoint for tools |
Stopping the Server
- Press
Ctrl+C in the terminal running the server
- Or find and kill the process:
lsof -i :8010 | awk 'NR>1 {print $2}' | xargs kill
Troubleshooting
| Issue |
Solution |
| Port 8010 in use |
Use --port 8011 or kill existing process |
| Module not found |
Run pip install -e ".[dev]" from airline-discount-ml/ |
| Connection refused |
Ensure server started successfully, check terminal output |