Quick start guide to understand and build 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
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
-
CLAUDE.md (15 min)
- Complete implementation guide for AI-assisted development
- Corrected TypeScript types and patterns
- Database schema and queries
Fast track:
-
IMPLEMENTATION_CORRECTIONS.md (15 min)
- All 7 critical spec issues
- What was wrong vs. what's correct
- Why each correction matters
-
CLAUDE.md (30 min)
- Complete implementation guide
- Corrected TypeScript types
- Database schema and queries
- MCP tool definitions
-
MIGRATION_GUIDE.md (30 min)
- Database migration SQL
- Code refactoring steps
- Verification queries
-
- Use as checklist while migrating
// β WRONG
interface Analysis {
schema_version?: string;
}
// β
CORRECT
interface Analysis {
schema?: string;
}// β WRONG
interface Analysis {
vendor?: string; // Optional
}
// β
CORRECT
interface Analysis {
vendor: string; // Required
}// β WRONG
interface Analysis {
body: object; // Only supports JSON
}
// β
CORRECT
interface Analysis {
body?: string; // Supports any format
}See QUICK_REFERENCE.md for all 7 corrections.
- Node.js 18+ installed
- Supabase account (free tier works)
- Git installed
# 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 the Building Guide
# 5. Create .env file
echo "SUPABASE_URL=your-url" > .env
echo "SUPABASE_ANON_KEY=your-key" >> .env
# 6. Follow the Building Guide from Phase 2 onwardsStart Here
βββ README.md βββββββββββββββββββββΊ Master index & navigation
β
βββ docs/guide/getting-started.md βΊ You are here!
β
βββ Choose your path:
β
βββ New Implementation ββββββββββββββ
β βββ docs/reference/QUICK_REF β
β βββ CLAUDE.md βββββββββββββββββββΌβββΊ Primary path
β βββ docs/reference/CORRECTED_ β
β SCHEMA.md βββββββββββββββββ-β
β
βββ Migration βββββββββββββββββββββββ
β βββ IMPLEMENTATION_CORRECTIONS β
β βββ docs/reference/MIGRATION ββββΌβββΊ Fix existing code
β βββ docs/reference/CORRECTED_ β
β SCHEMA.md βββββββββββββββββ-β
β
βββ Deep Dive βββββββββββββββββββββββ
βββ docs/reference/vcon-spec.md β
βββ background_docs/ ββββββββββββ
Goal: Build a working vCon MCP server from scratch
-
Read background material (1 hour)
background_docs/vcon_quickstart_guide.mdbackground_docs/draft-ietf-vcon-vcon-core-02.txt(introduction)
-
Understand corrections (30 min)
docs/reference/QUICK_REFERENCE.mddocs/reference/IMPLEMENTATION_CORRECTIONS.md
-
Follow the implementation guide (4 hours)
CLAUDE.mdβ complete patterns, types, and DB schema
-
Test and verify (30 min)
- Run
npm test - Test with AI assistant
- Run
Goal: Implement spec-compliant vCon server quickly
-
Review corrections (15 min)
docs/reference/QUICK_REFERENCE.md
-
Study implementation (30 min)
CLAUDE.md
-
Build core (1 hour)
- Database schema
- TypeScript types
- Database queries
-
Add MCP layer (15 min)
- Tool definitions
- Server setup
Goal: Fix existing implementation to match spec
-
Identify issues (30 min)
docs/reference/IMPLEMENTATION_CORRECTIONS.md- Compare with your code
-
Plan migration (30 min)
docs/reference/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
- Run
npm test - Manual review
Goal: Use Claude Code to build for you
-
Prepare instructions (15 min)
- Read
docs/reference/QUICK_REFERENCE.md - Set up Supabase
- Read
-
Provide to AI (5 min)
Build an IETF vCon MCP server following the specifications in: - CLAUDE.md - docs/reference/CORRECTED_SCHEMA.md - docs/reference/QUICK_REFERENCE.md (for checklist) Use the corrected field names and ensure full spec compliance. -
Review & test (10 min)
- Verify no
schema_versionin code - Check vendor is required
- Run
npm test
- Verify no
-
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
- CRUD:
create_vcon,get_vcon,update_vcon,delete_vcon,add_dialog,add_analysis,add_attachment,create_vcon_from_template - Search:
search_vcons,search_vcons_content,search_vcons_semantic,search_vcons_hybrid - Tags:
manage_tag,get_tags,remove_all_tags,search_by_tags,get_unique_tags - Analytics:
get_database_analytics,get_monthly_growth_analytics,get_content_analytics,get_tag_analytics,get_attachment_analytics,get_database_health_metrics - Database:
get_database_shape,get_database_stats,analyze_query,get_database_size_info,get_smart_search_limits - Schema:
get_schema,get_examples
All MCP tools are also available as REST endpoints at /api/v1 when running in HTTP transport mode. See the REST API Reference for details.
vcons- Main vCon recordsparties- Conversation participantsdialog- Recordings, texts, transfersanalysis- AI/ML analysis resultsattachments- File attachmentsparty_history- Event timeline
Before you start building:
- Read README.md
- Read QUICK_REFERENCE.md
- Understand the 7 critical corrections
- Have Supabase account ready
- Have Node.js 18+ installed
- Have code editor ready
- Have 4-6 hours available for first build
// β DON'T
const analysis = { schema_version: '1.0' };
// β
DO
const analysis = { schema: '1.0' };// β DON'T
interface Analysis { vendor?: string; }
// β
DO
interface Analysis { vendor: string; }// β DON'T
body: object // Database: JSONB
// β
DO
body?: string // Database: TEXT-- β DON'T
encoding TEXT DEFAULT 'json'
-- β
DO
encoding TEXT CHECK (encoding IN ('base64url', 'json', 'none'))// β MISSING
interface Party {
name?: string;
// missing: uuid, did
}
// β
COMPLETE
interface Party {
name?: string;
uuid?: string;
did?: string;
}# 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 tests
npm test
# Should pass
# 4. Check database schema
# Run verification queries from docs/reference/CORRECTED_SCHEMA.mdCreate a test vCon:
const vcon: VCon = {
vcon: '0.4.0',
uuid: crypto.randomUUID(),
created_at: new Date().toISOString(),
parties: [{
name: 'Alice',
mailto: 'alice@example.com',
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');- Check README.md troubleshooting section
- Search for your error in the Building Guide
- Review relevant correction in IMPLEMENTATION_CORRECTIONS.md
- Consult
background_docs/draft-ietf-vcon-vcon-core-02.txt - Cross-reference section numbers in correction docs
- Cross-reference the Implementation Corrections for before/after examples
- Follow CLAUDE.md step-by-step
- Use code examples from the Building Guide
- Check MIGRATION_GUIDE.md for specific fixes
Your implementation is successful when:
- Git repository initialized
- All dependencies installed
- TypeScript compiles without errors
- Database schema matches spec
- No
schema_versionanywhere in code - Analysis.vendor is required (not optional)
- Analysis.body is string type
- All compliance tests pass
- MCP server starts and lists tools
- Can create spec-compliant vCons
- Can add analysis with correct fields
- vCons are interoperable
Choose your path:
β Read CLAUDE.md and follow the patterns there
β Read IMPLEMENTATION_CORRECTIONS.md
β Follow MIGRATION_GUIDE.md
β Read QUICK_REFERENCE.md then dive into CLAUDE.md
β Complete:
- Git repository initialized
- All documentation created
- Build guide written
- Example code provided
β³ Next Steps:
- Follow the Building Guide to implement
- Run compliance tests
- Deploy MCP server
Ready? Start with CLAUDE.md
Questions? Check README.md β Troubleshooting
Need quick reference? Use QUICK_REFERENCE.md
Last Updated: April 2026
Project: vCon MCP Server Documentation v1.2.0
Spec: draft-ietf-vcon-vcon-core-02 (v0.4.0)