diff --git a/Local Setup.md b/Local Setup.md new file mode 100644 index 0000000..e31256e --- /dev/null +++ b/Local Setup.md @@ -0,0 +1,65 @@ +# Local development quick-start + +## 1. Move to runtime directory (why: inspector resolves `server.py` from current directory) + +```bash +cd Workday/workday-mcp +``` + +## 2. Activate environment (why: guarantees the project Python and dependencies are used) + +```bash +source .venv/Scripts/activate +``` + +## 3. Launch inspector (tested) + +Use the explicit Python path to avoid shell alias/path drift: + +```bash +npx @modelcontextprotocol/inspector "c:/Users/castn1.CORP/OneDrive - Wheels/Repos/mcp_servers/Workday/workday-mcp/.venv/Scripts/python.exe" server.py +``` + +Why: this starts the Inspector UI and spawns the MCP server over STDIO. If startup succeeds, the CLI prints a localhost URL that includes an auth token. + +## 4. Port cleanup when blocked (tested) + +If you see `Proxy Server PORT IS IN USE at port 6277`, use one of the following: + +PowerShell (recommended): + +```powershell +Get-NetTCPConnection -State Listen -LocalPort 6277,6274 | + Select-Object LocalAddress,LocalPort,OwningProcess + +Stop-Process -Id -Force +``` + +Why: kill by PID is more reliable than killing `node.exe` by name because the owning process may vary. + +Git Bash alternative: + +```bash +for p in 6277 6274; do + pids=$(netstat -ano | awk -v port=":$p" '$2 ~ port {print $5}' | tr -d '\r' | sort -u) + for pid in $pids; do + cmd.exe /c taskkill /F /PID "$pid" + done +done +``` + +## 5. Optional quick health checks after connect + +Run these tools in Inspector and verify non-empty output: + +- `scan_status_reconciliation` +- `scan_job_title_drift` +- `scan_department_mismatches` +- `scan_name_variance_mismatches` + +Expected baseline in current mock data: + +- status drift: 1 mismatch +- title drift: 1 mismatch +- department drift: 1 mismatch +- name variance: 3 mismatches diff --git a/README.md b/README.md index aefa033..46a6e0e 100644 --- a/README.md +++ b/README.md @@ -67,25 +67,6 @@ This page is the high-visibility execution status for Workday Integration Suite | --- | --- | --- | --- | | Mock-to-API transition | WIS-008 | 🟡 Yellow | Non-prod credentials approved, secure token flow operational, first API-backed read call validated. | -## Local development quick-start - -### 1. Activate environment - -```bash -source .venv/Scripts/activate -``` - -### 2. Launch inspector - -```bash -npx @modelcontextprotocol/inspector python server.py -``` - -### 3. Port cleanup (if blocked) - -- Proxy (6277): `taskkill //F //IM node.exe` -- Inspector (6274): `taskkill //F //IM node.exe` - ## Reference documents - [Workday execution backlog](Workday/Planning/workday-ad-identity-sync-next-steps.md) @@ -93,3 +74,4 @@ npx @modelcontextprotocol/inspector python server.py - [Workday implementation plan](Workday/Planning/workday-mcp-implementation-plan.md) - [Workday installation guide](Workday/Planning/workday-mcp-install-guide.md) - [Workday runtime entrypoint](Workday/workday-mcp/server.py) +- [Operational startup guidance](Local%20Setup.md) \ No newline at end of file