What is VCP?
The Value Context Protocol (VCP) is a standard for encoding user preferences, constraints, and context as portable categorical flags. Set it once, change it in real time, and every connected service adapts instantly. Private details stay on-device by design.
VCP is built on three pillars:
- Portability -- Your context travels with you across platforms and services
- Adaptation -- AI behavior shifts automatically as your situation changes
- Liveness -- Personal state updates in real time, shaping responses moment to moment
"Context that travels with you, wherever you need it."
Quick Start
1. Define a VCP Context
A VCP context contains your preferences, constraints, and personal state:
import type { VCPContext } from 'vcp';
const context: VCPContext = {
vcp_version: "1.0",
profile_id: "user_001",
// Reference a constitution (behavioral guidelines)
constitution: {
id: "learning-assistant",
version: "1.0",
persona: "muse",
adherence: 3
},
// Public preferences - shared with all stakeholders
public_profile: {
goal: "learn_guitar",
experience: "beginner",
learning_style: "visual"
},
// Portable preferences - follow you across platforms
portable_preferences: {
noise_mode: "quiet_preferred",
session_length: "30_minutes",
budget_range: "low"
},
// Private context - influences AI but NEVER exposed
private_context: {
_note: "Values here shape recommendations but are never transmitted",
work_situation: "unemployed",
housing_situation: "living_with_parents"
},
// Personal state (v3.1) - real-time user state
personal_state: {
cognitive_state: { value: "focused", intensity: 3 },
emotional_tone: { value: "calm", intensity: 4 },
energy_level: { value: "rested", intensity: 3 },
perceived_urgency: { value: "unhurried", intensity: 2 },
body_signals: { value: "neutral", intensity: 1 }
}
}; 2. Encode to CSM-1 Token
The CSM-1 (Compact State Message) format is a human-readable token that encodes your context:
import { encodeContextToCSM1 } from 'vcp';
const token = encodeContextToCSM1(context);
// Output:
// VCP:1.0:user_001
// C:learning-assistant@1.0
// P:muse:3
// G:learn_guitar:beginner:visual
// X:🔇quiet:💰low:⏱️30minutes
// F:none
// S:🔒work|🔒housing
// R:🧠focused:3|💭calm:4|🔋rested:3|⚡unhurried:2|🩺neutral:1 3. Share with Stakeholders
The token carries what each service needs to adapt — compact, categorical, and instantly parseable:
| Line | Meaning | AI Sees |
|---|---|---|
G:learn_guitar:beginner:visual | Goal + skill level + style | ✓ Full detail |
X:🔇quiet:💰low | Noise + budget constraints | ✓ Flags only |
S:🔒work|🔒housing | Private context exists | ✗ Categories only |
R:🧠focused:3|💭calm:4|... | Real-time personal state | ✓ Shapes response style |
The AI knows that work and housing context influenced the recommendations, but not what that context is. This enables personalization without surveillance.
Key Concepts
Privacy Levels
- Public — Always shared (goals, experience level)
- Consent — Shared when you approve (specific preferences)
- Private — Never transmitted, only influences locally (sensitive reasons)
Constitutions
Constitutions define AI behavioral guidelines. They specify what an AI should prioritize, avoid, and how it should interact. VCP contexts reference constitutions to ensure consistent behavior.
Personas
Different interaction styles built into constitutions:
- Muse — Creative, exploratory, encouraging
- Ambassador — Professional, diplomatic, balanced
- Godparent — Nurturing, supportive, patient
- Sentinel — Cautious, protective, conservative
- Nanny — Structured, directive, safe
- Mediator — Calm, structured, empathetic
See It in Action
Each pillar comes alive in a persona-driven demo:
- Gentian — Portability: Watch a single VCP token travel across three guitar-learning platforms
- Campion — Adaptation: See how context-switching between work and home personas changes AI behavior instantly
- Marta — Liveness: Adjust personal state sliders and watch AI guidance respond in real time
SDK Languages
VCP has official SDK implementations in two languages:
| Language | Status | Best For |
|---|---|---|
| Python | Complete | Reference implementation, LLM integration, persona logic, API servers |
| Rust | In Progress | High-performance parsing, WASM/browser, embedded systems, CLI tooling |
Python
pip install vcp-python-sdk
from vcp.semantics import encode_csm1, parse_csm1
token = encode_csm1(context)
parsed = parse_csm1(token_string) Rust
// Cargo.toml
[dependencies]
vcp-core = "0.1"
// Usage
use vcp_core::csm1::Csm1Token;
let token = Csm1Token::parse(token_str)?;
let encoded = token.to_string(); The Rust crate also compiles to WebAssembly, enabling client-side VCP
token validation directly in the browser via vcp-wasm.
Next Steps
- Core Concepts — Deep dive into VCP architecture
- CSM-1 Specification — Full token format reference
- Playground — Build tokens interactively
- All Demos — Six interactive demos covering portability, adaptation, liveness, and more