Features
Executive Summary
This document provides a comprehensive specification of ALL functionality that will be included in the open source vCon MCP server. The goal is to create a powerful, production-ready core that handles all non-privacy/non-compliance operations, making it valuable for general conversation data management.
1. Core vCon CRUD Operations
1.1 Create Operations
create_vcon Tool
Create a new vCon from JSON data with full validation.
Input Schema:
{
vcon_data: {
type: "object";
description: "Complete vCon JSON object following IETF spec";
required: true;
};
metadata?: {
type: "object";
description: "Additional metadata (basename, filename, tags)";
};
validate_before_insert?: {
type: "boolean";
default: true;
description: "Run validation before inserting";
};
return_created?: {
type: "boolean";
default: true;
description: "Return the created vCon object";
};
}Features:
Full IETF vCon specification compliance
Automatic UUID generation if not provided
Timestamp management (created_at, updated_at)
Validation before insertion
Support for all vCon components (parties, dialog, attachments, analysis)
create_vcon_from_template Tool
Create vCons from predefined templates.
Input Schema:
Features:
Pre-configured templates for common conversation types
Smart defaults for different conversation mediums
Extensible template system
1.2 Read Operations
get_vcon Tool
Retrieve a vCon by UUID.
Input Schema:
Features:
Selective component retrieval
Full object reconstruction from normalized schema
Efficient querying with indexed lookups
get_vcon_by_subject Tool
Find vCons by subject text.
Input Schema:
list_vcons Tool
List all vCons with pagination.
Input Schema:
1.3 Update Operations
update_vcon Tool
Update vCon metadata and properties.
Input Schema:
Features:
Subject updates
Metadata updates
Tag management
Group data updates
Redaction rules updates
update_vcon_status Tool
Update processing status flags.
Input Schema:
1.4 Delete Operations
delete_vcon Tool
Delete a vCon and all related data.
Input Schema:
Features:
Cascade deletion of all related components
Confirmation requirement
Transaction safety
bulk_delete_vcons Tool
Delete multiple vCons in a batch.
Input Schema:
2. Component Management
2.1 Party Management
add_party Tool
Add a participant to a vCon.
Input Schema:
update_party Tool
Update party information.
Input Schema:
remove_party Tool
Remove a party from a vCon.
Input Schema:
find_party Tool
Find parties matching criteria.
Input Schema:
2.2 Dialog Management
add_dialog Tool
Add dialog entry (recording, transcript, message).
Input Schema:
Features:
Support for all dialog types (text, audio, video, email)
Inline or external content (URL)
Base64 encoding for binary data
Duration tracking
Party and originator references
update_dialog Tool
Update dialog entry.
Input Schema:
remove_dialog Tool
Remove a dialog entry.
Input Schema:
get_dialogs Tool
Get all dialogs for a vCon with filtering.
Input Schema:
2.3 Attachment Management
add_attachment Tool
Add attachment to vCon.
Input Schema:
Features:
Custom attachment types
Party and dialog associations
Inline or external content
MIME type support
get_attachments Tool
Retrieve attachments with filtering.
Input Schema:
update_attachment Tool
Update attachment metadata.
remove_attachment Tool
Remove an attachment.
2.4 Analysis Management
add_analysis Tool
Add analysis result to vCon.
Input Schema:
Features:
Flexible analysis types
Vendor attribution
Confidence scores
Dialog association
Structured result data
get_analysis Tool
Retrieve analysis results with filtering.
Input Schema:
update_analysis Tool
Update analysis result.
remove_analysis Tool
Remove an analysis result.
3. Search & Query Operations
3.1 Basic Search
search_vcons Tool
Advanced search across vCons.
Input Schema:
Features:
Full-text search across subjects and content
Multi-field filtering
Date range queries
Party-based search
Analysis type filtering
Tag-based search
Pagination support
Configurable result components
3.2 Advanced Search
full_text_search Tool
PostgreSQL full-text search.
Input Schema:
Features:
PostgreSQL tsvector search
Relevance ranking
Multi-field search
Configurable thresholds
semantic_search Tool
Vector-based semantic search for conversation content.
Input Schema:
How It Works:
Query is converted to vector embedding
Conversation content (subjects, dialog, summaries) are pre-embedded and stored
Cosine similarity computed between query and stored embeddings
Results ranked by semantic similarity
Example Use Cases:
Response:
Features:
Natural language queries
Concept-based matching (not just keywords)
Cross-lingual search (if model supports it)
Intent and sentiment matching
Can combine with tag filters for hybrid search
Implementation Notes:
Requires embedding storage (vector column in PostgreSQL with pgvector extension)
Embeddings can be pre-computed during vCon ingestion
Can use OpenAI embeddings, Sentence Transformers, or custom models
Consider caching embeddings for frequently searched content
hybrid_search Tool
Combine semantic and exact search for best results.
Input Schema:
Example:
Benefits of Hybrid Approach:
Precision + Recall: Exact tags for precision, semantic for recall
Handle Typos: Semantic search doesn't require exact spelling
Find Concepts: Semantic finds related concepts not in tags
Controllable: Adjust weights based on use case
aggregate_stats Tool
Get aggregated statistics.
Input Schema:
Features:
Group by various dimensions
Multiple aggregation metrics
Pre-aggregation filtering
4. Tag Management System
Tags in vCon are key-value pairs stored as a special attachment with type: "tag". They provide simple, flexible metadata for categorization, filtering, and organization. The Python vCon library uses vcon.add_tag() which creates these special attachments behind the scenes.
4.1 Core Tag Operations
add_tag Tool
Add or update a tag on a vCon.
Input Schema:
Features:
String, number, or boolean values
Automatic type handling
Overwrite protection option
Creates tag attachment if none exists
Examples:
get_tag Tool
Retrieve a specific tag value.
Input Schema:
Response:
get_all_tags Tool
Get all tags for a vCon.
Input Schema:
Response:
Example Response:
remove_tag Tool
Remove a tag from a vCon.
Input Schema:
update_tags Tool
Update multiple tags at once.
Input Schema:
Example:
4.2 Bulk Tag Operations
bulk_add_tags Tool
Add same tag(s) to multiple vCons.
Input Schema:
Example Use Cases:
bulk_remove_tags Tool
Remove tag(s) from multiple vCons.
Input Schema:
bulk_tag_by_search Tool
Tag all vCons matching search criteria.
Input Schema:
Example:
4.3 Tag-Based Search & Filtering
search_by_tags Tool
Find vCons by tag criteria.
Input Schema:
Match Modes:
all: vCon must have ALL specified tags with matching values (AND)
any: vCon must have ANY of the specified tags (OR)
exact: vCon must have EXACTLY these tags, no more, no less
Examples:
search_by_tag_prefix Tool
Find vCons with tags matching a prefix.
Input Schema:
Example:
search_by_tag_pattern Tool
Advanced tag search with wildcards.
Input Schema:
Example:
4.4 Tag Analytics & Reporting
get_tag_statistics Tool
Get statistics about tag usage.
Input Schema:
Response:
Example Response:
get_all_tag_keys Tool
List all unique tag keys in the database.
Input Schema:
Response:
suggest_tags Tool
Get tag suggestions based on vCon content.
Input Schema:
Response:
Example Response:
4.5 Tag Templates & Presets
create_tag_template Tool
Create reusable tag templates.
Input Schema:
Example:
apply_tag_template Tool
Apply a template to a vCon.
Input Schema:
Example:
list_tag_templates Tool
List available tag templates.
Response:
4.6 Tag Validation & Cleanup
validate_tags Tool
Validate tags across vCons.
Input Schema:
Example:
cleanup_tags Tool
Clean up malformed or deprecated tags.
Input Schema:
4.7 Tag Resources (MCP URI Access)
4.8 Common Tag Patterns
Standard Business Tags
5. Batch & Bulk Operations
5.1 Batch Import
import_vcons_batch Tool
Import multiple vCons from array.
Input Schema:
Response:
import_vcons_from_file Tool
Import vCons from file.
Input Schema:
Features:
JSON array format support
JSONL (newline-delimited JSON) support
Batched processing for large files
Error handling options
import_vcons_from_url Tool
Import vCons from remote URL.
Input Schema:
4.2 Batch Export
export_vcons_batch Tool
Export multiple vCons.
Input Schema:
Features:
Multiple export formats
Selective component export
Compression options
File or in-memory export
export_to_url Tool
POST vCons to external URL.
Input Schema:
4.3 Batch Updates
bulk_update_vcons Tool
Update multiple vCons at once.
Input Schema:
bulk_tag_vcons Tool
Add/remove tags from multiple vCons.
Input Schema:
5. Validation & Quality Operations
5.1 Validation
validate_vcon Tool
Validate vCon against IETF specification.
Input Schema:
Response:
validate_vcons_batch Tool
Batch validation.
Input Schema:
Response:
5.2 Data Quality
check_data_quality Tool
Run data quality checks.
Input Schema:
Response:
repair_vcon Tool
Attempt automatic repair of vCon issues.
Input Schema:
6. Analysis & Insight Operations (Non-Compliance)
6.1 Content Analysis
analyze_conversation Prompt
Generic analysis workflow.
Arguments:
Features:
Sentiment analysis
Conversation summarization
Topic extraction
Named entity recognition
Keyword extraction
Language detection
Custom analysis pipelines
extract_insights Prompt
Extract specific insights.
Arguments:
6.2 Transcription (Integration Ready)
transcribe_dialog Tool
Transcribe audio/video dialog.
Input Schema:
Features:
Multiple transcription service support
Speaker diarization
Timestamp generation
Language detection
Automatic save to analysis
7. MCP Resources (URI-based Access)
7.1 Direct vCon Access
7.2 Search Resources
7.3 Aggregate Resources
8. Format Conversion & Export
8.1 Format Conversion
export_vcon Prompt
Export in various formats.
Arguments:
Formats:
standard: Full IETF vCon JSON
minimal: Metadata + references only
readable: Human-readable HTML or Markdown
csv: Flattened CSV export (for dialogs/parties)
html: Formatted HTML view
convert_format Tool
Convert between vCon versions.
Input Schema:
9. Database & System Operations
9.1 Database Management
database_stats Tool
Get database statistics.
Response:
vacuum_database Tool
Clean up and optimize database.
Input Schema:
9.2 Health Checks
health_check Tool
Server health status.
Response:
10. Webhook & Event System (Open Source)
10.1 Webhook Configuration
configure_webhook Tool
Set up webhooks for events.
Input Schema:
11. Developer Features
11.1 Schema & Documentation
get_schema Tool
Get vCon schema definition.
Input Schema:
get_examples Tool
Get example vCons.
Input Schema:
Summary of Open Source Features
Core Capabilities
✅ Full CRUD operations for vCons ✅ Component management (parties, dialog, attachments, analysis) ✅ Advanced search and filtering ✅ Batch import/export ✅ Validation and data quality checks ✅ Basic analysis (sentiment, topics, summaries) ✅ Format conversion ✅ Webhook system ✅ Full-text search ✅ Aggregation and statistics ✅ MCP Resources (URI-based access)
What's NOT Included (Proprietary)
❌ Consent management ❌ Privacy request handling (GDPR/CCPA) ❌ Compliance checking ❌ Access logging with audit trails ❌ Privacy-level data filtering ❌ PII detection and masking (beyond basic) ❌ Data retention enforcement ❌ Transparency service integration ❌ Regulatory compliance workflows
This makes the open source version extremely valuable for:
Development and testing
Non-regulated use cases
Custom implementations
Academic research
Community building
While the proprietary version is essential for:
Healthcare (HIPAA)
Finance (PCI)
EU operations (GDPR)
California operations (CCPA)
Enterprise compliance needs
Last updated