Troubleshooting
Common issues and solutions for the vCon MCP Server.
Installation Issues
Error: "Cannot find module 'dotenv'"
Symptom:
Error: Cannot find module 'dotenv'Cause: Dependencies not installed
Solution:
npm installError: "ENOENT: no such file or directory, open 'dist/index.js'"
Symptom:
Error: ENOENT: no such file or directory, open '/path/to/vcon-mcp/dist/index.js'Cause: Project not built
Solution:
npm run buildError: "Invalid Supabase URL"
Symptom:
Cause: Missing or incorrect environment variables
Solution:
Check
.envfile exists:Verify format (no quotes needed):
Get correct values from Supabase:
Dashboard → Settings → API
Copy Project URL and anon public key
Database Issues
Error: "relation 'vcons' does not exist"
Symptom:
Cause: Database migrations not applied
Solution:
Option A: Using Supabase CLI
Option B: Manual via Dashboard
Go to Supabase SQL Editor
Run each migration from
supabase/migrations/in orderVerify tables created:
Error: "permission denied for table vcons"
Symptom:
Cause: RLS policies not configured or using wrong key
Solution:
Check you're using the correct key (anon key, not service role key for testing)
Verify RLS policies exist:
If missing, run RLS migration:
Database connection timeout
Symptom:
Cause: Network issues or invalid URL
Solution:
Test connection:
Should return 200 OK
Check Supabase project is active (not paused)
Verify URL format:
https://PROJECT_ID.supabase.co
Claude Desktop Issues
Claude Desktop doesn't show vCon tools
Symptom: Claude doesn't list vCon tools when asked "What tools do you have?"
Checklist:
✅ Built the project
✅ Used absolute path in config
✅ Restarted Claude Desktop completely
Quit Claude Desktop (not just close window)
Reopen Claude Desktop
Start new conversation
✅ .env file in project root
✅ Valid Supabase credentials
Debug Steps:
Test server directly:
Should output MCP initialization messages Press Ctrl+C to stop
Check config syntax:
Verify valid JSON (no trailing commas, proper brackets)
Check logs:
Open Claude Desktop
Help → View Logs
Look for MCP server errors
Error: "spawn node ENOENT"
Symptom:
Cause: Node.js not in PATH for Claude Desktop
Solution:
macOS:
Find node path:
Claude can't find vCons
Symptom:
Cause: Empty database
Solution:
Create test vCon:
Verify in database:
Runtime Errors
Error: "vCon validation failed"
Symptom:
Cause: Invalid vCon data structure
Solution:
Check error message for specific field
Verify required fields:
vconversion (e.g., "0.3.0")uuid(valid UUID)created_at(ISO 8601 timestamp)At least one
party
Use valid values:
Error: "Analysis vendor required"
Symptom:
Cause: Missing required vendor field in analysis
Solution:
Always include vendor when adding analysis:
Error: "Invalid UUID format"
Symptom:
Cause: Malformed UUID
Solution:
Use valid UUID v4 format:
Get UUID from vCon list:
Search Issues
Semantic search not working
Symptom:
Cause: Embeddings not configured or generated
Solution:
Enable pgvector extension:
Run vector migrations:
Add OpenAI API key:
Generate embeddings:
Search returns no results
Symptom: Search finds nothing when data exists
Cause: Various possibilities
Solutions:
Check data exists:
Try simpler search:
Check search mode:
Basic search: subject/party/dates only
Keyword search: full-text in dialog/analysis
Semantic search: requires embeddings
Verify content is searchable:
Dialog must have
encoding: "none"for keyword searchAttachments not included in search
Performance Issues
Slow queries
Symptom: Queries take >2 seconds
Cause: Missing indexes or large dataset
Solution:
Check indexes exist:
Run index migration:
Analyze tables:
Check database stats:
Out of memory
Symptom:
Cause: Large dataset operations
Solution:
Increase Node.js memory:
Use pagination in searches:
Use resources for simple reads:
Testing Issues
Tests fail with "database connection error"
Symptom:
Cause: Test environment not configured
Solution:
Create
.env.testfile:Use test database (separate from production):
Run migrations on test database
Run tests:
Tests pass but code fails
Symptom: Tests succeed but actual usage fails
Cause: Different environment (test vs production)
Solution:
Verify
.envvs.env.testsettingsCheck both databases have same schema
Test with production credentials (carefully)
Add integration tests:
Plugin Issues
Plugin not loading
Symptom:
Cause: Plugin path or format incorrect
Solution:
Verify plugin path:
Check plugin format:
Check environment variable:
Test plugin loading:
Build Issues
TypeScript compilation errors
Symptom:
Solution:
Check TypeScript version:
Clean and rebuild:
Fix type errors shown in output
Missing dependencies
Symptom:
Solution:
If persists:
Getting More Help
Debug Mode
Enable detailed logging:
Verbose Tests
Check System Status
Report Issues
If you can't resolve an issue:
Search existing issues: GitHub Issues
Create new issue with:
Error message (full text)
Steps to reproduce
Environment details (OS, Node.js version, etc.)
Relevant config (sanitized, no keys)
Ask in discussions: GitHub Discussions
Quick Fixes
"It just doesn't work"
Try this sequence:
Reset to fresh state
Still stuck? Ask for help →
Found a bug? Report it →
Last updated