MCP for AI agents
Dynamic API and PyOrchestrator HTTP MCP, Dashboard section, and stdio crm-mcp
WASH PRO CRM provides Model Context Protocol (MCP) for connecting AI agents (Cursor, Claude Desktop, etc.) to CRM, SCADA, and automation.
Three connection methods
| Method | Where to configure | Transport | When to use |
|---|---|---|---|
| Dashboard → MCP server | /mcp |
HTTP via nginx | Quick start in Cursor without build |
| Dynamic API Panel | :8080 → Automation → MCP |
HTTP POST /api/mcp |
All platform CRM endpoints |
| crm-mcp | services/crm-mcp |
stdio | Local agent with composite tools |
Dashboard → Automation → MCP server (v1.1.12+) — recommended entry point for administrators.
Dashboard → MCP server (/mcp)
Page available to Administrator in Automation group.
| Block | Description |
|---|---|
| Service switcher | Dynamic API — CRM, cards, statistics, all auto-generated endpoints; PyOrchestrator — scripts, bots, schedules (if enabled) |
| HTTP URL | Ready MCP address via Dashboard: /api/mcp or /api/pyorch-mcp/mcp |
| Cursor config | JSON for MCP settings (Streamable HTTP, no npm run build) |
| Tools table | Search, sort, category filter, HTTP method badges |
nginx proxy (Dashboard)
| Path | Upstream |
|---|---|
/api/mcp |
Dynamic API POST /api/mcp (JWT) |
/api/pyorch-mcp/mcp |
PyOrchestrator MCP :8010 (overlay) |
For Dynamic API MCP in Cursor, pass JWT from Dashboard session ("Copy" button on page) or use API key dap_... from panel :8080.
PyOrchestrator MCP via Dashboard does not require separate auth in Cursor config — proxy goes to internal Docker network.
Stdio: services/crm-mcp
Separate MCP server for local agent with convenient composite tools (crm_get_wash_overview, Dynamic API MCP proxy, Telegram/post-device bridge).
cd services/crm-mcp
npm install && npm run build
Example config: services/crm-mcp/cursor-mcp.example.json. Details: services/crm-mcp/README.md.
Dynamic API MCP (platform)
Built into Dynamic API Platform v1.5.13:
- panel
:8080→ Automation section; - endpoint
POST http://localhost:3001/api/mcp(or via Dashboard/api/mcp); - tools generated from CRM endpoints and automation.
PyOrchestrator MCP (optional)
With PYORCHESTRATOR_ENABLED=true:
- service
pyorch-mcpon port 8010; - ~24 tools: scripts, runs, schedules, secrets, webhooks;
- Dashboard proxies
/api/pyorch-mcp/mcpfor external agents.
Check:
curl -s -o /dev/null -w '%{http_code}\n' http://localhost:8010/mcp
docker logs wash-pyorch-mcp --tail 20
Troubleshooting
| Symptom | Action |
|---|---|
| Dynamic API MCP: 401 | Refresh JWT / API key in Cursor config |
PyOrchestrator: "unreachable" on /mcp |
docker compose -f docker-compose.yml -f docker-compose.pyorchestrator.yml up -d pyorch-mcp pyorch-backend |
| No MCP section in menu | Administrator role; rebuild dashboard |
| Tools not updating | Refresh /mcp page (live-polling of tools list) |
Details: Troubleshooting — PyOrchestrator MCP.