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 install

Error: "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 build

Error: "Invalid Supabase URL"

Symptom:

Cause: Missing or incorrect environment variables

Solution:

  1. Check .env file exists:

  2. Verify format (no quotes needed):

  3. 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

  1. Go to Supabase SQL Editor

  2. Run each migration from supabase/migrations/ in order

  3. Verify tables created:


Error: "permission denied for table vcons"

Symptom:

Cause: RLS policies not configured or using wrong key

Solution:

  1. Check you're using the correct key (anon key, not service role key for testing)

  2. Verify RLS policies exist:

  3. If missing, run RLS migration:


Database connection timeout

Symptom:

Cause: Network issues or invalid URL

Solution:

  1. Test connection:

    Should return 200 OK

  2. Check Supabase project is active (not paused)

  3. 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:

  1. Built the project

  2. Used absolute path in config

  3. Restarted Claude Desktop completely

    • Quit Claude Desktop (not just close window)

    • Reopen Claude Desktop

    • Start new conversation

  4. .env file in project root

  5. Valid Supabase credentials

Debug Steps:

  1. Test server directly:

    Should output MCP initialization messages Press Ctrl+C to stop

  2. Check config syntax:

    Verify valid JSON (no trailing commas, proper brackets)

  3. 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:

  1. Check error message for specific field

  2. Verify required fields:

    • vcon version (e.g., "0.3.0")

    • uuid (valid UUID)

    • created_at (ISO 8601 timestamp)

    • At least one party

  3. 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:

  1. Enable pgvector extension:

  2. Run vector migrations:

  3. Add OpenAI API key:

  4. Generate embeddings:


Search returns no results

Symptom: Search finds nothing when data exists

Cause: Various possibilities

Solutions:

  1. Check data exists:

  2. Try simpler search:

  3. Check search mode:

    • Basic search: subject/party/dates only

    • Keyword search: full-text in dialog/analysis

    • Semantic search: requires embeddings

  4. Verify content is searchable:

    • Dialog must have encoding: "none" for keyword search

    • Attachments not included in search


Performance Issues

Slow queries

Symptom: Queries take >2 seconds

Cause: Missing indexes or large dataset

Solution:

  1. Check indexes exist:

  2. Run index migration:

  3. Analyze tables:

  4. Check database stats:


Out of memory

Symptom:

Cause: Large dataset operations

Solution:

  1. Increase Node.js memory:

  2. Use pagination in searches:

  3. Use resources for simple reads:


Testing Issues

Tests fail with "database connection error"

Symptom:

Cause: Test environment not configured

Solution:

  1. Create .env.test file:

  2. Use test database (separate from production):

  3. Run migrations on test database

  4. Run tests:


Tests pass but code fails

Symptom: Tests succeed but actual usage fails

Cause: Different environment (test vs production)

Solution:

  1. Verify .env vs .env.test settings

  2. Check both databases have same schema

  3. Test with production credentials (carefully)

  4. Add integration tests:


Plugin Issues

Plugin not loading

Symptom:

Cause: Plugin path or format incorrect

Solution:

  1. Verify plugin path:

  2. Check plugin format:

  3. Check environment variable:

  4. Test plugin loading:


Build Issues

TypeScript compilation errors

Symptom:

Solution:

  1. Check TypeScript version:

  2. Clean and rebuild:

  3. 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:

  1. Search existing issues: GitHub Issuesarrow-up-right

  2. Create new issue with:

    • Error message (full text)

    • Steps to reproduce

    • Environment details (OS, Node.js version, etc.)

    • Relevant config (sanitized, no keys)


Quick Fixes

"It just doesn't work"

Try this sequence:

Reset to fresh state


Still stuck? Ask for helparrow-up-right

Found a bug? Report itarrow-up-right

Last updated