Getting Started
Quick start guide to understand and build this project
🎯 What Is This Project?
This project provides:
Complete Documentation for building an IETF vCon-compliant MCP server
Corrections to common implementation mistakes in the spec
Step-by-step Build Guide to implement from scratch
Reference Materials from IETF vCon working group
📚 Start Here
New to vCon?
Read in this order:
README.md (5 min)
Overview of the project
Documentation structure
Critical corrections summary
QUICK_REFERENCE.md (5 min)
Critical field corrections
Common mistakes to avoid
Quick checklist
BUILD_GUIDE.md (60 min read, 4-6 hrs to implement)
Complete step-by-step implementation
Code examples for every component
Testing and deployment
Already Know vCon?
Fast track:
IMPLEMENTATION_CORRECTIONS.md (15 min)
All 7 critical spec issues
What was wrong vs. what's correct
Why each correction matters
CLAUDE_CODE_INSTRUCTIONS.md (30 min)
Complete implementation guide
Corrected TypeScript types
Database schema and queries
MCP tool definitions
BUILD_GUIDE.md → Jump to Phase 4
Skip setup if you have environment ready
Start with Core Implementation
Migrating Existing Code?
MIGRATION_GUIDE.md (30 min)
Database migration SQL
Code refactoring steps
Verification queries
Use as checklist while migrating
🔴 Critical Corrections
⚠️ These are MANDATORY for IETF spec compliance:
1. Analysis Schema Field
// ❌ WRONG
interface Analysis {
schema_version?: string;
}
// ✅ CORRECT
interface Analysis {
schema?: string;
}
2. Analysis Vendor Requirement
// ❌ WRONG
interface Analysis {
vendor?: string; // Optional
}
// ✅ CORRECT
interface Analysis {
vendor: string; // Required
}
3. Analysis Body Type
// ❌ WRONG
interface Analysis {
body: object; // Only supports JSON
}
// ✅ CORRECT
interface Analysis {
body?: string; // Supports any format
}
See QUICK_REFERENCE.md for all 7 corrections.
🚀 Quick Setup (5 Minutes)
Prerequisites
Node.js 18+ installed
Supabase account (free tier works)
Git installed
Setup Steps
# 1. Clone or create project directory
mkdir vcon-mcp-server && cd vcon-mcp-server
# 2. Initialize project
npm init -y
# 3. Install dependencies
npm install @modelcontextprotocol/sdk @supabase/supabase-js zod
npm install -D typescript @types/node tsx vitest
# 4. Copy example configuration
# Use the tsconfig.json and package.json from BUILD_GUIDE.md
# 5. Create .env file
echo "SUPABASE_URL=your-url" > .env
echo "SUPABASE_ANON_KEY=your-key" >> .env
# 6. Follow BUILD_GUIDE.md from Phase 2 onwards
📖 Documentation Map
Start Here
├── README.md ────────────────► Master index & navigation
│
├── GETTING_STARTED.md ───────► You are here!
│
└── Choose your path:
│
├── New Implementation ───────────┐
│ ├── QUICK_REFERENCE.md │
│ ├── BUILD_GUIDE.md ───────────┼──► Primary path
│ ├── CLAUDE_CODE_INSTRUCTIONS │
│ └── CORRECTED_SCHEMA.md ──────┘
│
├── Migration ────────────────────┐
│ ├── IMPLEMENTATION_CORRECTIONS│
│ ├── MIGRATION_GUIDE.md ───────┼──► Fix existing code
│ └── CORRECTED_SCHEMA.md ──────┘
│
└── Deep Dive ────────────────────┐
├── VISUAL_REFERENCE.md │
├── PROJECT_SUMMARY.md ───────┼──► Complete details
└── background_docs/ ─────────┘
🎓 Learning Paths
Path 1: Complete Beginner (6 hours)
Goal: Build a working vCon MCP server from scratch
Read background material (1 hour)
background_docs/vcon_quickstart_guide.md
background_docs/draft-ietf-vcon-vcon-core-00.txt
(introduction)
Understand corrections (30 min)
QUICK_REFERENCE.md
IMPLEMENTATION_CORRECTIONS.md
Follow build guide (4 hours)
BUILD_GUIDE.md
- Complete all 7 phases
Test and verify (30 min)
Run compliance tests
Test with AI assistant
Path 2: Experienced Developer (2 hours)
Goal: Implement spec-compliant vCon server quickly
Review corrections (15 min)
QUICK_REFERENCE.md
Study implementation (30 min)
CLAUDE_CODE_INSTRUCTIONS.md
Build core (1 hour)
Database schema
TypeScript types
Database queries
Add MCP layer (15 min)
Tool definitions
Server setup
Path 3: Migration (3 hours)
Goal: Fix existing implementation to match spec
Identify issues (30 min)
IMPLEMENTATION_CORRECTIONS.md
Compare with your code
Plan migration (30 min)
MIGRATION_GUIDE.md
Backup database and code
Execute migration (1.5 hours)
Database schema changes
Code refactoring
Update tests
Verify (30 min)
Run verification queries
Compliance tests
Manual review
Path 4: AI-Assisted Build (30 min + AI time)
Goal: Use Claude Code to build for you
Prepare instructions (15 min)
Read
QUICK_REFERENCE.md
Set up Supabase
Provide to AI (5 min)
Build an IETF vCon MCP server following the specifications in: - CLAUDE_CODE_INSTRUCTIONS.md - CORRECTED_SCHEMA.md - QUICK_REFERENCE.md (for checklist) Use the corrected field names and ensure full spec compliance.
Review & test (10 min)
Verify no
schema_version
in codeCheck vendor is required
Run compliance tests
🛠️ What You'll Build
Core Components
TypeScript Types (
src/types/vcon.ts
)All IETF vCon objects
Corrected field names
Type validation helpers
Database Layer (
src/db/
)Supabase client
CRUD operations
Search queries
MCP Server (
src/index.ts
)Tool definitions
Request handlers
Error handling
Utilities (
src/utils/
)vCon validation
Privacy helpers
Serialization
MCP Tools Provided
create_vcon
- Create new vConadd_analysis
- Add analysis to vConadd_dialog
- Add dialog to vConget_vcon
- Retrieve vCon by UUIDsearch_vcons
- Search vCon databaseupdate_vcon
- Update vCon fields
Database Schema
vcons
- Main vCon recordsparties
- Conversation participantsdialog
- Recordings, texts, transfersanalysis
- AI/ML analysis resultsattachments
- File attachmentsparty_history
- Event timeline
📋 Pre-Build Checklist
Before you start building:
⚠️ Common Pitfalls
Mistake #1: Using Wrong Field Names
// ❌ DON'T
const analysis = { schema_version: '1.0' };
// ✅ DO
const analysis = { schema: '1.0' };
Mistake #2: Making Vendor Optional
// ❌ DON'T
interface Analysis { vendor?: string; }
// ✅ DO
interface Analysis { vendor: string; }
Mistake #3: Wrong Body Type
// ❌ DON'T
body: object // Database: JSONB
// ✅ DO
body?: string // Database: TEXT
Mistake #4: Adding Default Values
-- ❌ DON'T
encoding TEXT DEFAULT 'json'
-- ✅ DO
encoding TEXT CHECK (encoding IN ('base64url', 'json', 'none'))
Mistake #5: Forgetting New Fields
// ❌ MISSING
interface Party {
name?: string;
// missing: uuid, did
}
// ✅ COMPLETE
interface Party {
name?: string;
uuid?: string;
did?: string;
}
🧪 Testing Your Implementation
Quick Compliance Check
# 1. Check for wrong field names
grep -r "schema_version" src/
# Should return nothing
# 2. Check vendor is not optional
grep "vendor?" src/types/vcon.ts
# Should return nothing
# 3. Run compliance tests
npm run test:compliance
# Should pass all tests
# 4. Check database schema
# Run verification queries from CORRECTED_SCHEMA.md
Integration Test
Create a test vCon:
const vcon: VCon = {
vcon: '0.3.0',
uuid: crypto.randomUUID(),
created_at: new Date().toISOString(),
parties: [{
name: 'Alice',
mailto: '[email protected]',
uuid: crypto.randomUUID()
}],
analysis: [{
type: 'sentiment',
vendor: 'TestVendor', // Required
schema: 'v1.0', // Correct field name
body: JSON.stringify({ score: 0.8 }),
encoding: 'json'
}]
};
// Validate
const result = validateVCon(vcon);
console.log(result.valid ? '✅ Valid' : '❌ Invalid');
📞 Getting Help
Documentation Questions
Check README.md troubleshooting section
Search for your error in BUILD_GUIDE.md
Review relevant correction in IMPLEMENTATION_CORRECTIONS.md
Spec Questions
Consult
background_docs/draft-ietf-vcon-vcon-core-00.txt
Cross-reference section numbers in correction docs
Check VISUAL_REFERENCE.md for before/after examples
Implementation Questions
Follow CLAUDE_CODE_INSTRUCTIONS.md step-by-step
Use code examples from BUILD_GUIDE.md
Check MIGRATION_GUIDE.md for specific fixes
🎯 Success Criteria
Your implementation is successful when:
🚀 Next Actions
Choose your path:
I'm Ready to Build
→ Go to BUILD_GUIDE.md and start at Phase 1
I Need to Understand Corrections First
→ Read IMPLEMENTATION_CORRECTIONS.md
I'm Migrating Existing Code
→ Follow MIGRATION_GUIDE.md
I Want the Quick Version
→ Read QUICK_REFERENCE.md then jump to BUILD_GUIDE.md Phase 4
📊 Project Status
✅ Complete:
Git repository initialized
All documentation created
Build guide written
Example code provided
⏳ Next Steps:
Follow BUILD_GUIDE.md to implement
Run compliance tests
Deploy MCP server
Ready? Start with BUILD_GUIDE.md
Questions? Check README.md → Troubleshooting
Need quick reference? Use QUICK_REFERENCE.md
Last Updated: October 7, 2025 Project: vCon MCP Server Documentation v1.0.0 Spec: draft-ietf-vcon-vcon-core-00
Last updated