MCP Server Demo Guide
This guide provides step-by-step instructions for demonstrating the Eryxon Flow MCP Server capabilities.
Prerequisites
Section titled “Prerequisites”Before the demo, ensure you have:
-
Environment Variables Set
Terminal window export SUPABASE_URL="https://your-project.supabase.co"export SUPABASE_SERVICE_KEY="your-service-key" -
Server Built and Ready
Terminal window cd mcp-servernpm installnpm run build -
Sample Data - Ensure your Supabase database has some sample jobs, parts, and operations for demonstration.
Quick Start
Section titled “Quick Start”Start the MCP Server
Section titled “Start the MCP Server”npm start# or for development with hot reload:npm run devYou should see:
Eryxon Flow MCP Server v2.5.0Loaded 55 tools from 9 modulesEryxon Flow MCP Server running on stdioTool Modules:
- Jobs (7 tools) - Job lifecycle and management
- Parts (2 tools) - Part tracking
- Operations (5 tools) - Operation workflow
- Tasks (2 tools) - Task management
- Issues (8 tools) - Quality issues and NCRs
- Substeps (5 tools) - Operation substeps
- Dashboard (3 tools) - Production metrics
- Scrap (7 tools) - Scrap tracking and analytics
- Agent Batch (16 tools) - Batch operations for AI agents
Configure Claude Desktop
Section titled “Configure Claude Desktop”Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{ "mcpServers": { "eryxon-flow": { "command": "node", "args": ["/path/to/eryxon-flow/mcp-server/dist/index.js"], "env": { "SUPABASE_URL": "https://your-project.supabase.co", "SUPABASE_SERVICE_KEY": "your-service-key" } } }}Demo Scenarios
Section titled “Demo Scenarios”Scenario 1: Basic Job Management
Section titled “Scenario 1: Basic Job Management”Objective: Show basic CRUD operations for manufacturing jobs.
-
Fetch Current Jobs
"Show me all jobs currently in progress"The AI will use
fetch_jobswithstatus: "in_progress". -
Create a New Job
"Create a new job for customer 'Acme Corp' with job number 'JOB-2024-0042' due next Friday"Uses
create_jobtool. -
Update Job Priority
"Change job JOB-2024-0042 to high priority"Uses
update_jobtool. -
Start the Job
"Start job JOB-2024-0042"Uses
start_jobtool.
Scenario 2: Production Dashboard
Section titled “Scenario 2: Production Dashboard”Objective: Demonstrate real-time production metrics.
-
Get Dashboard Stats
"Show me the current production dashboard stats"Uses
get_dashboard_stats. -
View QRM Capacity
"What's our current cell capacity utilization?"Uses
get_qrm_data. -
Production Metrics
"Show me production metrics for the last 7 days"Uses
get_production_metrics.
Scenario 3: Quality Analytics
Section titled “Scenario 3: Quality Analytics”Objective: Demonstrate quality issue analytics and insights.
-
Get Issue Analytics by Severity
"Show me issue analytics for the last 30 days grouped by severity"Uses
get_issue_analyticswithdays: 30,group_by: "severity". -
Analyze Issue Trends
"What are the quality issue trends over the past week?"Uses
get_issue_trendswithdays: 7,interval: "daily". -
Root Cause Analysis
"Analyze the most common root causes for issues in the last 90 days"Uses
get_root_cause_analysiswithdays: 90,min_occurrences: 2. -
Get Quality Improvement Suggestions
"Give me suggestions to improve quality based on recent patterns"Uses
suggest_quality_improvementswith analysis of issue patterns.
Scenario 4: Rush Order Handling
Section titled “Scenario 4: Rush Order Handling”Objective: Demonstrate agent batch operations for handling urgent orders.
-
Prioritize a Rush Job
"We have a rush order from customer 'Premium Parts Inc'.Prioritize job JOB-2024-0035, mark all parts as bullet cards,and add a note about the customer's deadline."Uses
prioritize_job. -
Check Resource Availability
"What machines are available to work on this rush job?"Uses
check_resource_availability. -
Get Parts Due Soon
"What parts are due in the next 3 days?"Uses
get_parts_due_soon. -
Suggest Reschedule
"Suggest a reschedule plan to accommodate this rush order"Uses
suggest_reschedule.
Scenario 5: ERP Integration
Section titled “Scenario 5: ERP Integration”Objective: Show bidirectional sync with external ERP systems.
-
Check Sync Differences
"Compare our current jobs with this ERP data and show me the differences:[{ external_id: 'SAP-123', external_source: 'SAP', job_number: 'JOB-001', customer: 'Acme' },{ external_id: 'SAP-124', external_source: 'SAP', job_number: 'JOB-002', customer: 'Beta Corp' }]"Uses
erp_sync_diff. -
Lookup External ID
"Find the local job for SAP external ID 'SAP-123'"Uses
erp_lookup_external_id. -
Execute Sync
"Sync this ERP data with our system, skipping unchanged records"Uses
erp_sync_execute.
Scenario 6: Operations Management
Section titled “Scenario 6: Operations Management”Objective: Show granular operation control.
-
Fetch Operations
"Show me all operations for job JOB-2024-0035"Uses
fetch_operations. -
Start an Operation
"Start the laser cutting operation"Uses
start_operation. -
Complete Multiple Operations
"Complete operations OP-001 and OP-002"Uses
batch_complete_operations. -
Assign Resources
"Assign Machine #3 to operations OP-003 and OP-004"Uses
assign_resource_to_operations.
Scenario 7: Quality & NCR Management
Section titled “Scenario 7: Quality & NCR Management”Objective: Demonstrate issue tracking and NCR workflow.
-
Fetch Open Issues
"Show me all critical issues that are currently open"Uses
fetch_issueswith severity: “critical”, status: “open”. -
Create an NCR
"Create a Non-Conformance Report for operation OP-005:- Title: 'Dimensional out of tolerance'- Severity: high- Category: process- Description: 'Part dimensions exceed tolerance by 0.5mm'"Uses
create_ncr. -
Update Issue Status
"Mark issue ISS-001 as resolved"Uses
update_issue.
Demo Tips
Section titled “Demo Tips”Before the Demo
Section titled “Before the Demo”- Verify all environment variables are set correctly
- Test the server starts without errors
- Ensure sample data exists in the database
- Have Claude Desktop configured and connected
- Test a few basic queries to warm up the connection
During the Demo
Section titled “During the Demo”- Start Simple - Begin with basic fetch operations to show the connection works
- Build Complexity - Progress to more complex scenarios
- Show Real Data - Always use real database data, never mock data
- Highlight Analytics - Quality analytics and scrap analysis tools provide production insights
- Demonstrate Batch Operations - Show efficiency gains from batch tools
Common Questions & Answers
Section titled “Common Questions & Answers”Q: How does authentication work? A: The MCP server uses a Supabase service key for database access. In production, you would also implement MCP authentication keys for per-tenant access control.
Q: Can this integrate with our existing ERP? A: Yes! The ERP sync tools support bidirectional synchronization with any external system. Just map your external IDs and sources.
Q: How is data security handled? A: All data access goes through Supabase with Row-Level Security (RLS). The MCP server respects tenant boundaries.
Troubleshooting
Section titled “Troubleshooting”Server Won’t Start
Section titled “Server Won’t Start”# Check environment variablesecho $SUPABASE_URLecho $SUPABASE_SERVICE_KEY
# Rebuildnpm run build
# Check for errorsnpm start 2>&1 | head -20Tools Not Appearing in Claude
Section titled “Tools Not Appearing in Claude”- Restart Claude Desktop
- Check the MCP configuration file syntax
- Verify the path to
dist/index.jsis correct - Check Claude Desktop logs
Database Connection Errors
Section titled “Database Connection Errors”# Test Supabase connectionnode -e "const { createClient } = require('@supabase/supabase-js');const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_SERVICE_KEY);supabase.from('jobs').select('count').single().then(console.log);"Tool Reference Quick Card
Section titled “Tool Reference Quick Card”| Category | Tools | Key Use Case |
|---|---|---|
| Jobs | fetch_jobs, create_job, update_job, start_job, stop_job, complete_job, resume_job | Full job lifecycle |
| Parts | fetch_parts, update_part | Part tracking |
| Operations | fetch_operations, start_operation, pause_operation, complete_operation, update_operation | Operation control |
| Tasks | fetch_tasks, update_task | Task assignment |
| Issues | fetch_issues, create_ncr, fetch_ncrs, update_issue, get_issue_analytics, get_issue_trends, get_root_cause_analysis, suggest_quality_improvements | Quality tracking & analytics |
| Substeps | fetch_substeps, add_substep, complete_substep, update_substep, delete_substep | Granular tracking |
| Dashboard | get_dashboard_stats, get_qrm_data, get_production_metrics | Real-time metrics |
| Scrap | fetch_scrap_reasons, report_scrap, get_scrap_analytics, get_scrap_trends, get_yield_metrics, get_scrap_pareto, get_quality_score | Scrap tracking & yield analysis |
| Batch Ops | 16 tools for bulk operations | Efficiency |
Next Steps After Demo
Section titled “Next Steps After Demo”- Production Deployment - Deploy to Railway, Fly.io, or Docker
- Authentication - Configure API keys for multi-tenant access
- ERP Integration - Map your external system IDs
- Monitoring - Set up MCP activity monitoring in the admin UI
See Also
Section titled “See Also”Setup & Deployment:
- MCP Server Setup Guide - Complete deployment and configuration
- Self-Hosting Guide - Self-hosted Eryxon Flow setup
API & Integration:
- REST API Documentation - Complete API reference
- Connectivity Overview - Integration architecture
- Webhooks & MQTT - Event-driven integration
Architecture:
- App Architecture - System design overview
- Database Schema - Data model reference