Reorganize repository structure and clean up documentation
Clean up and organize the flask-shopdb repository for better maintainability and discoverability: ## Changes - Update .gitignore for build artifacts (publish/, data/, 122M total) - Reorganize .claude/ into 6 subdirectories with README navigation - Consolidate overlapping MCP setup guides into MCP-QUICK-START.md - Move deployment docs from root to docs/deployment/ - Archive dated status reports to .claude/archived/ - Delete temporary files (logs, backups, empty reports, ~50K) ## New Structure .claude/ organized into: - setup/ - MCP, VM, Hyper-V, GitHub setup guides + scripts (17 files) - plans/ - Feature plans and protocols (5 files) - maintenance/ - Deployment checklists and reports (4 files) - archived/ - Historical documentation (9 files) - skills/ - Claude Code automation (5 files) - workflows/ - Security audit workflow (1 file) docs/deployment/ created with 6 deployment guides: - LOCAL-DEV-SETUP.md, DOCKER-SETUP.md, DOCKER-PREBUILT-APPROACH.md - PRODUCTION-READINESS.md, DEPLOY-TO-VM.md, README.md Root directory cleaned to essential docs only: - CLAUDE.md, README.md, CONTRIBUTING.md, CHANGELOG.md Benefits: - Clear navigation via README.md in each subdirectory - No duplicate/overlapping documentation - Large artifacts properly gitignored (won't bloat repository) - Historical context preserved in archived/ See .claude/CLEANUP-SUMMARY.md for complete details. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
681
.claude/setup/MCP-INTEGRATION-GUIDE.md
Normal file
681
.claude/setup/MCP-INTEGRATION-GUIDE.md
Normal file
@@ -0,0 +1,681 @@
|
||||
# MCP Server Integration Guide for ShopDB Development
|
||||
|
||||
Complete guide to using all four MCP servers together with Claude Code for automated development, testing, and deployment workflows.
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
**MCP (Model Context Protocol) Servers** extend Claude Code with external tool access:
|
||||
|
||||
| MCP Server | Purpose | Tools Provided |
|
||||
|------------|---------|----------------|
|
||||
| **gortex** | Project management | Task tracking, milestones, time tracking |
|
||||
| **mysql** | Database access | Query execution, schema inspection, data manipulation |
|
||||
| **browser** | Web automation | Page navigation, screenshots, form filling, testing |
|
||||
| **vm** | VM automation via SSH | Command execution, file transfer, process management |
|
||||
|
||||
Together, these enable **full-stack automated workflows**: from code changes to database migrations to VM deployment to browser testing, all through natural language conversation with Claude.
|
||||
|
||||
---
|
||||
|
||||
## Configuration
|
||||
|
||||
### Location
|
||||
|
||||
All MCP servers are configured in:
|
||||
```
|
||||
flask-shopdb/.claude/mcp-servers.json
|
||||
```
|
||||
|
||||
**Important:** MCP servers only load when Claude Code runs from `flask-shopdb` directory.
|
||||
|
||||
### Current Configuration
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"gortex": {
|
||||
"command": "C:\\Users\\270015376\\Documents\\gortex.exe",
|
||||
"args": ["mcp"],
|
||||
"cwd": "C:\\Users\\270015376\\Documents\\github\\flask-shopdb"
|
||||
},
|
||||
"mysql": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"@benborla29/mcp-server-mysql",
|
||||
"mysql://shopdb:shopdb-dev-password@127.0.0.1:3306/shopdb_flask"
|
||||
]
|
||||
},
|
||||
"browser": {
|
||||
"command": "npx",
|
||||
"args": ["-y", "@agent-infra/mcp-server-browser"]
|
||||
},
|
||||
"vm": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"ssh-mcp",
|
||||
"--host", "192.168.100.10",
|
||||
"--user", "SupportUser",
|
||||
"--password", "vos313"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### 1. Gortex MCP Server
|
||||
|
||||
**Install:**
|
||||
```bash
|
||||
curl -L -o gortex_windows_amd64.zip https://github.com/zzet/gortex/releases/latest/download/gortex_windows_amd64.zip
|
||||
unzip -o gortex_windows_amd64.zip -d C:\Users\270015376\Documents\
|
||||
```
|
||||
|
||||
**Verify:**
|
||||
```bash
|
||||
C:\Users\270015376\Documents\gortex.exe --version
|
||||
```
|
||||
|
||||
**What it enables:**
|
||||
- Track development tasks
|
||||
- Log time spent on features
|
||||
- Manage sprint milestones
|
||||
- Generate reports
|
||||
|
||||
### 2. MySQL MCP Server
|
||||
|
||||
**Install:** (handled by npx, no manual install needed)
|
||||
|
||||
**Requires:** MySQL/Docker running locally
|
||||
|
||||
**Start database:**
|
||||
```bash
|
||||
cd flask-shopdb
|
||||
docker compose up -d db
|
||||
```
|
||||
|
||||
**Verify:**
|
||||
```bash
|
||||
mysql -h 127.0.0.1 -u shopdb -pshopdb-dev-password shopdb_flask -e "SELECT 1"
|
||||
```
|
||||
|
||||
**What it enables:**
|
||||
- Query database directly
|
||||
- Inspect schema and indexes
|
||||
- Verify migration results
|
||||
- Create test data
|
||||
- Debug data issues
|
||||
|
||||
### 3. Browser MCP Server
|
||||
|
||||
**Install:** (handled by npx, no manual install needed)
|
||||
|
||||
**Requires:** Chrome/Chromium browser installed
|
||||
|
||||
**Verify:**
|
||||
```bash
|
||||
npx -y @agent-infra/mcp-server-browser --help
|
||||
```
|
||||
|
||||
**What it enables:**
|
||||
- Automated UI testing
|
||||
- Screenshot capture
|
||||
- Form submission testing
|
||||
- Visual regression checks
|
||||
- End-to-end workflow testing
|
||||
|
||||
### 4. VM SSH MCP Server
|
||||
|
||||
**Install:** (handled by npx, no manual install needed)
|
||||
|
||||
**Requires:**
|
||||
- Hyper-V VM running at 192.168.100.10
|
||||
- OpenSSH server enabled on VM
|
||||
- User account: SupportUser (password: vos313)
|
||||
|
||||
**Setup VM SSH** (run on VM as Administrator):
|
||||
```powershell
|
||||
# On VM
|
||||
.\\.claude\enable-vm-ssh.ps1
|
||||
```
|
||||
|
||||
**Verify from host:**
|
||||
```bash
|
||||
ssh SupportUser@192.168.100.10 "hostname"
|
||||
```
|
||||
|
||||
**What it enables:**
|
||||
- Deploy agent to test VM
|
||||
- Run commands on VM
|
||||
- Transfer files to/from VM
|
||||
- Monitor agent logs
|
||||
- Test agent integration
|
||||
|
||||
---
|
||||
|
||||
## Testing MCP Servers
|
||||
|
||||
### Run Test Suite
|
||||
|
||||
```powershell
|
||||
cd flask-shopdb
|
||||
.\\.claude\test-mcp-servers.ps1
|
||||
```
|
||||
|
||||
**Output:**
|
||||
```
|
||||
==========================================
|
||||
ShopDB MCP Server Test Suite
|
||||
==========================================
|
||||
|
||||
[1/7] Checking MCP configuration...
|
||||
OK: Config file exists
|
||||
[2/7] Testing Gortex MCP server...
|
||||
OK: Gortex found at C:\Users\270015376\Documents\gortex.exe
|
||||
[3/7] Testing MySQL MCP server...
|
||||
OK: MySQL server is reachable at 127.0.0.1:3306
|
||||
[4/7] Testing Browser MCP server...
|
||||
OK: Browser MCP package exists (version 1.2.3)
|
||||
[5/7] Testing VM SSH MCP server...
|
||||
OK: VM is reachable at 192.168.100.10
|
||||
OK: SSH port 22 is open on VM
|
||||
[6/7] Checking Hyper-V VMs...
|
||||
OK: Found 1 VM(s)
|
||||
- ShopDB-Test-VM: Running
|
||||
[7/7] Checking VM snapshots...
|
||||
OK: Found 4 snapshot(s)
|
||||
- ShopDB-Test-VM: Clean-Install (2024-09-08 10:30)
|
||||
- ShopDB-Test-VM: Docker-Ready (2024-09-08 11:45)
|
||||
- ShopDB-Test-VM: SSH-Enabled (2024-09-08 12:15)
|
||||
- ShopDB-Test-VM: ShopDB-Deployed (2024-09-09 09:00)
|
||||
|
||||
==========================================
|
||||
Summary
|
||||
==========================================
|
||||
|
||||
config : OK
|
||||
gortex : OK
|
||||
mysql : OK
|
||||
browser : OK
|
||||
vm : OK
|
||||
hyperv : OK
|
||||
snapshots : OK
|
||||
|
||||
Overall: 7/7 tests passed (100%)
|
||||
```
|
||||
|
||||
### Test Individual Servers with Claude
|
||||
|
||||
**Start Claude Code from flask-shopdb:**
|
||||
```bash
|
||||
cd flask-shopdb
|
||||
claude
|
||||
```
|
||||
|
||||
**Test Gortex:**
|
||||
```
|
||||
You: "List all tasks in the current project"
|
||||
Claude: [Uses mcp__gortex__list_tasks]
|
||||
```
|
||||
|
||||
**Test MySQL:**
|
||||
```
|
||||
You: "Show me the first 5 endpoints in the database"
|
||||
Claude: [Uses mcp__mysql__query]
|
||||
```
|
||||
|
||||
**Test Browser:**
|
||||
```
|
||||
You: "Take a screenshot of https://localhost:5001"
|
||||
Claude: [Uses mcp__browser__navigate and mcp__browser__screenshot]
|
||||
```
|
||||
|
||||
**Test VM:**
|
||||
```
|
||||
You: "What is the hostname of the VM?"
|
||||
Claude: [Uses mcp__vm__exec with command "hostname"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Integrated Workflows
|
||||
|
||||
### Workflow 1: Feature Development with Database Changes
|
||||
|
||||
**Scenario:** Add new field to endpoints table, update API, test on VM
|
||||
|
||||
```
|
||||
You: "Add 'last_boot_time' timestamp field to endpoints"
|
||||
|
||||
Claude:
|
||||
1. [Gortex: Create task "Add last_boot_time field"]
|
||||
2. [MySQL: Check current endpoints schema]
|
||||
3. [Edit: Create Alembic migration]
|
||||
4. [Bash: Run migration locally]
|
||||
5. [MySQL: Verify column added]
|
||||
6. [Edit: Update endpoint model and API]
|
||||
7. [Bash: Run tests]
|
||||
8. [Gortex: Update task status to "testing"]
|
||||
9. [VM: Deploy to test VM]
|
||||
10. [VM: Restart agent]
|
||||
11. [MySQL: Check VM endpoint records include new field]
|
||||
12. [Gortex: Mark task complete]
|
||||
|
||||
Result: Feature developed, tested, and verified end-to-end
|
||||
```
|
||||
|
||||
### Workflow 2: UI Testing After Plugin Changes
|
||||
|
||||
**Scenario:** Modified plugins UI, verify it works in browser
|
||||
|
||||
```
|
||||
You: "Test the new notifications plugin UI"
|
||||
|
||||
Claude:
|
||||
1. [Bash: Build frontend]
|
||||
2. [Bash: Restart Docker stack]
|
||||
3. [Browser: Navigate to https://localhost:5001]
|
||||
4. [Browser: Login as admin]
|
||||
5. [Browser: Click "Notifications" in sidebar]
|
||||
6. [Browser: Screenshot current state]
|
||||
7. [MySQL: Insert test fleet alert]
|
||||
8. [Browser: Refresh page]
|
||||
9. [Browser: Verify alert appears]
|
||||
10. [Browser: Screenshot alert display]
|
||||
11. [MySQL: Delete test data]
|
||||
|
||||
Result: UI tested, screenshots captured, test data cleaned up
|
||||
```
|
||||
|
||||
### Workflow 3: Agent Deployment and Integration Test
|
||||
|
||||
**Scenario:** Build new agent version, deploy to VM, verify it connects
|
||||
|
||||
```
|
||||
You: "Build agent and deploy to VM for testing"
|
||||
|
||||
Claude:
|
||||
1. [Gortex: Create task "Test agent v1.2.4"]
|
||||
2. [Bash: Increment agent version in .csproj]
|
||||
3. [Bash: dotnet publish agent]
|
||||
4. [VM: Stop agent service if running]
|
||||
5. [VM: Copy new agent.exe to C:\Program Files\ShopDB\]
|
||||
6. [VM: Start agent service]
|
||||
7. [VM: Tail agent log file]
|
||||
8. [MySQL: Wait for endpoint heartbeat]
|
||||
9. [MySQL: Verify endpoint version = 1.2.4]
|
||||
10. [Browser: Navigate to endpoints page]
|
||||
11. [Browser: Screenshot showing new version]
|
||||
12. [Gortex: Mark task complete]
|
||||
|
||||
Result: Agent built, deployed, verified working
|
||||
```
|
||||
|
||||
### Workflow 4: Database Migration with Rollback Test
|
||||
|
||||
**Scenario:** Create migration, test forward and backward migration
|
||||
|
||||
```
|
||||
You: "Create migration to add 'tags' JSONB column to assets"
|
||||
|
||||
Claude:
|
||||
1. [MySQL: Backup current schema]
|
||||
2. [Edit: Create migration file]
|
||||
3. [Bash: Run migration (upgrade)]
|
||||
4. [MySQL: Verify column exists with correct type]
|
||||
5. [MySQL: Insert test data with tags]
|
||||
6. [Bash: Rollback migration (downgrade)]
|
||||
7. [MySQL: Verify column removed]
|
||||
8. [MySQL: Verify no data loss in other columns]
|
||||
9. [Bash: Re-run migration (upgrade)]
|
||||
10. [MySQL: Verify clean forward migration]
|
||||
|
||||
Result: Migration tested both directions, safe to deploy
|
||||
```
|
||||
|
||||
### Workflow 5: End-to-End Operator Report Test
|
||||
|
||||
**Scenario:** Verify operator report flow from tray to database
|
||||
|
||||
```
|
||||
You: "Test operator report submission from VM"
|
||||
|
||||
Claude:
|
||||
1. [VM: Restore to "Agent-Running" snapshot]
|
||||
2. [MySQL: Clear existing operator reports]
|
||||
3. [VM: Get current timestamp]
|
||||
4. [VM: Simulate tray submitting report via API]
|
||||
5. [MySQL: Query for new report record]
|
||||
6. [MySQL: Verify all fields populated correctly]
|
||||
7. [Browser: Navigate to operator reports page]
|
||||
8. [Browser: Verify report appears in UI]
|
||||
9. [Browser: Screenshot report details]
|
||||
10. [VM: Check agent log for submission confirmation]
|
||||
|
||||
Result: Operator report flow verified end-to-end
|
||||
```
|
||||
|
||||
### Workflow 6: Performance Testing and Monitoring
|
||||
|
||||
**Scenario:** Load test endpoints API, monitor database performance
|
||||
|
||||
```
|
||||
You: "Load test the endpoints API with 1000 concurrent requests"
|
||||
|
||||
Claude:
|
||||
1. [MySQL: Record current query performance stats]
|
||||
2. [Bash: Run load test script]
|
||||
3. [MySQL: Monitor slow query log during test]
|
||||
4. [MySQL: Check connection pool usage]
|
||||
5. [MySQL: Analyze query performance after test]
|
||||
6. [MySQL: Identify slow queries]
|
||||
7. [MySQL: Check index usage statistics]
|
||||
8. [Gortex: Create tasks for performance improvements]
|
||||
|
||||
Result: Performance baseline established, bottlenecks identified
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Advanced Patterns
|
||||
|
||||
### Pattern 1: Snapshot-Based Testing
|
||||
|
||||
**Use VM snapshots for rapid iteration:**
|
||||
|
||||
```
|
||||
You: "Test 3 different agent configurations"
|
||||
|
||||
Claude:
|
||||
1. [VM: Restore to "Agent-Installed" snapshot]
|
||||
2. [VM: Configure with settings A]
|
||||
3. [VM: Test and record results]
|
||||
4. [VM: Restore to "Agent-Installed" snapshot]
|
||||
5. [VM: Configure with settings B]
|
||||
6. [VM: Test and record results]
|
||||
7. [VM: Restore to "Agent-Installed" snapshot]
|
||||
8. [VM: Configure with settings C]
|
||||
9. [VM: Test and record results]
|
||||
10. [Compare results and recommend best config]
|
||||
```
|
||||
|
||||
### Pattern 2: Database-Driven UI Testing
|
||||
|
||||
**Generate test data in database, verify UI displays it correctly:**
|
||||
|
||||
```
|
||||
You: "Test UI with various alert configurations"
|
||||
|
||||
Claude:
|
||||
1. [MySQL: Create alert with priority=critical]
|
||||
2. [Browser: Screenshot alert display]
|
||||
3. [MySQL: Update alert to priority=info]
|
||||
4. [Browser: Refresh and screenshot]
|
||||
5. [MySQL: Create multi-line alert message]
|
||||
6. [Browser: Screenshot message display]
|
||||
7. [MySQL: Create alert with long title (100 chars)]
|
||||
8. [Browser: Screenshot title truncation]
|
||||
9. [MySQL: Delete all test alerts]
|
||||
```
|
||||
|
||||
### Pattern 3: Parallel Testing
|
||||
|
||||
**Test on multiple environments simultaneously:**
|
||||
|
||||
```
|
||||
You: "Test new plugin on both local and VM"
|
||||
|
||||
Claude:
|
||||
1. [Bash: Build frontend with new plugin]
|
||||
2. [Bash: Restart local Docker stack]
|
||||
3. [VM: Deploy to VM Docker stack]
|
||||
4. [Parallel:]
|
||||
a. [Browser: Test on localhost:5001]
|
||||
b. [Browser: Test on 192.168.100.10:5001]
|
||||
5. [Compare results]
|
||||
6. [Screenshot differences if any]
|
||||
```
|
||||
|
||||
### Pattern 4: Automated Debugging
|
||||
|
||||
**Use MCP tools to diagnose issues:**
|
||||
|
||||
```
|
||||
You: "Agent on VM is not receiving alerts, debug why"
|
||||
|
||||
Claude:
|
||||
1. [VM: Check agent service status]
|
||||
2. [VM: Check agent log for errors]
|
||||
3. [MySQL: Verify alerts exist in database]
|
||||
4. [MySQL: Check alert has target matching VM endpoint]
|
||||
5. [VM: Check network connectivity to API]
|
||||
6. [VM: Check agent config BaseUrl setting]
|
||||
7. [MySQL: Check endpoint record has correct IP]
|
||||
8. [VM: Test manual API call]
|
||||
9. [Identify root cause and suggest fix]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Security Considerations
|
||||
|
||||
### Database Credentials
|
||||
|
||||
**In mcp-servers.json:**
|
||||
```
|
||||
mysql://shopdb:shopdb-dev-password@127.0.0.1:3306/shopdb_flask
|
||||
```
|
||||
|
||||
- Only for local development
|
||||
- Database not exposed beyond localhost
|
||||
- Not used in production
|
||||
|
||||
**Production uses:**
|
||||
- Environment variables for credentials
|
||||
- Restricted database users
|
||||
- Encrypted connections
|
||||
|
||||
### VM SSH Credentials
|
||||
|
||||
**In mcp-servers.json:**
|
||||
```
|
||||
"--password", "vos313"
|
||||
```
|
||||
|
||||
- Test VM only, internal network (192.168.100.x)
|
||||
- No internet access on VM
|
||||
- VM destroyed/rebuilt regularly
|
||||
- Not a production system
|
||||
|
||||
**Better approach (optional):**
|
||||
- Use SSH key instead of password
|
||||
- See `.claude/setup-vm-ssh.md` for key-based auth
|
||||
|
||||
### MCP Server Permissions
|
||||
|
||||
**Claude Code permission prompts:**
|
||||
- First use of each MCP tool requires approval
|
||||
- Approve dangerous operations (DELETE, DROP) individually
|
||||
- Review SQL queries before execution
|
||||
|
||||
**Configure auto-approval for safe operations:**
|
||||
|
||||
Add to `.claude/settings.json`:
|
||||
```json
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"mcp__mysql__query(SELECT *)",
|
||||
"mcp__vm__exec(hostname)",
|
||||
"mcp__browser__screenshot(*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### MCP Server Not Loading
|
||||
|
||||
**Symptom:** Claude says "I don't have access to {server}"
|
||||
|
||||
**Fixes:**
|
||||
1. Verify running Claude Code from `flask-shopdb` directory
|
||||
2. Check `.claude/mcp-servers.json` exists
|
||||
3. Restart Claude Code completely
|
||||
4. Run `test-mcp-servers.ps1` to diagnose
|
||||
|
||||
### MySQL Connection Failed
|
||||
|
||||
**Symptom:** "Cannot connect to MySQL server"
|
||||
|
||||
**Fixes:**
|
||||
1. Start database: `docker compose up -d db`
|
||||
2. Check port: `netstat -ano | findstr 3306`
|
||||
3. Test connection: `mysql -h 127.0.0.1 -u shopdb -p`
|
||||
4. Check Docker network settings
|
||||
|
||||
### VM SSH Connection Failed
|
||||
|
||||
**Symptom:** "SSH connection refused" or "Authentication failed"
|
||||
|
||||
**Fixes:**
|
||||
1. Verify VM running: `Get-VM | Where-Object State -eq 'Running'`
|
||||
2. Test ping: `ping 192.168.100.10`
|
||||
3. Check SSH service on VM: `Get-Service sshd`
|
||||
4. Run `enable-vm-ssh.ps1` on VM
|
||||
5. Verify credentials: `ssh SupportUser@192.168.100.10`
|
||||
|
||||
### Browser Automation Failed
|
||||
|
||||
**Symptom:** "Browser launch failed" or "Navigation timeout"
|
||||
|
||||
**Fixes:**
|
||||
1. Check Chrome installed
|
||||
2. Close other Chrome instances
|
||||
3. Check no port conflicts
|
||||
4. Try manual command: `npx -y @agent-infra/mcp-server-browser`
|
||||
|
||||
### Gortex Not Found
|
||||
|
||||
**Symptom:** "Cannot find gortex.exe"
|
||||
|
||||
**Fixes:**
|
||||
1. Download: https://github.com/zzet/gortex/releases
|
||||
2. Extract to: `C:\Users\270015376\Documents\gortex.exe`
|
||||
3. Verify: `gortex.exe --version`
|
||||
|
||||
---
|
||||
|
||||
## Best Practices
|
||||
|
||||
### 1. Always Test MCP Setup First
|
||||
|
||||
**Before starting work:**
|
||||
```bash
|
||||
cd flask-shopdb
|
||||
.\\.claude\test-mcp-servers.ps1
|
||||
```
|
||||
|
||||
### 2. Use Snapshots for Risky Operations
|
||||
|
||||
**Before destructive VM operations:**
|
||||
```powershell
|
||||
Checkpoint-VM -Name "ShopDB-Test-VM" -SnapshotName "Before-$(Get-Date -Format 'yyyyMMdd-HHmm')"
|
||||
```
|
||||
|
||||
### 3. Clean Up Test Data
|
||||
|
||||
**After testing with MySQL:**
|
||||
```sql
|
||||
-- Delete test records created during testing
|
||||
DELETE FROM fleetalerts WHERE title LIKE 'TEST:%';
|
||||
DELETE FROM operatorreports WHERE submittedby = 'test-user';
|
||||
```
|
||||
|
||||
### 4. Verify Results
|
||||
|
||||
**Don't trust logs alone:**
|
||||
- Use MySQL to verify database changes
|
||||
- Use Browser to verify UI changes
|
||||
- Use VM commands to verify agent behavior
|
||||
|
||||
### 5. Keep MCP Config in Sync
|
||||
|
||||
**When changing database password:**
|
||||
- Update `mcp-servers.json`
|
||||
- Update `.env` files
|
||||
- Update `docker-compose.yml` if needed
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
|
||||
### Starting MCP-Enabled Session
|
||||
|
||||
```bash
|
||||
cd C:\Users\270015376\Documents\github\flask-shopdb
|
||||
claude
|
||||
```
|
||||
|
||||
### Common MCP Commands via Claude
|
||||
|
||||
| Task | Example Request |
|
||||
|------|----------------|
|
||||
| Query database | "Show me all endpoints that have not checked in for 24 hours" |
|
||||
| Execute on VM | "Run 'Get-Service shopdb*' on the VM" |
|
||||
| Screenshot UI | "Take a screenshot of the notifications page" |
|
||||
| Create task | "Create a task to fix endpoint heartbeat bug" |
|
||||
| Copy file to VM | "Upload the latest agent build to the VM" |
|
||||
| Run migration | "Apply the pending database migration" |
|
||||
| Test UI flow | "Test the login flow and capture screenshots" |
|
||||
| Check logs | "Show me the agent log from the VM" |
|
||||
|
||||
### Debugging MCP Issues
|
||||
|
||||
```bash
|
||||
# Test each server individually
|
||||
npx -y @benborla29/mcp-server-mysql --help
|
||||
npx -y @agent-infra/mcp-server-browser --help
|
||||
npx -y ssh-mcp --host 192.168.100.10 --user SupportUser --password vos313
|
||||
C:\Users\270015376\Documents\gortex.exe mcp --help
|
||||
|
||||
# Check permissions
|
||||
cat .claude/settings.json | grep -A 20 permissions
|
||||
|
||||
# Check MCP server logs
|
||||
# (Claude Code shows MCP errors in transcript)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Related Documentation
|
||||
|
||||
- **VM Snapshots:** `.claude/VM-SNAPSHOT-GUIDE.md`
|
||||
- **VM SSH Setup:** `.claude/setup-vm-ssh.md`
|
||||
- **Test MCP Servers:** `.claude/test-mcp-servers.ps1`
|
||||
- **VM Deployment:** `DEPLOY-TO-VM.md`
|
||||
- **Plugin Development:** `../shopdb-flask.wiki/PLUGIN-DEVELOPMENT.md`
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Run test suite:** `.\\.claude\test-mcp-servers.ps1`
|
||||
2. **Create baseline snapshots:** See `VM-SNAPSHOT-GUIDE.md`
|
||||
3. **Try example workflow:** Pick one from "Integrated Workflows" section
|
||||
4. **Document your workflows:** Add custom patterns to this guide
|
||||
5. **Automate repetitive tasks:** Create aliases for common MCP operations
|
||||
|
||||
---
|
||||
|
||||
**Ready to use all four MCP servers together for rapid development!**
|
||||
Reference in New Issue
Block a user