Getting Started

Get up and running with VCP in 5 minutes.

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:

LineMeaningAI Sees
G:learn_guitar:beginner:visualGoal + skill level + style✓ Full detail
X:🔇quiet:💰lowNoise + budget constraints✓ Flags only
S:🔒work|🔒housingPrivate 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:

  • GentianPortability: Watch a single VCP token travel across three guitar-learning platforms
  • CampionAdaptation: See how context-switching between work and home personas changes AI behavior instantly
  • MartaLiveness: Adjust personal state sliders and watch AI guidance respond in real time

SDK Languages

VCP has official SDK implementations in two languages:

LanguageStatusBest For
PythonCompleteReference implementation, LLM integration, persona logic, API servers
RustIn ProgressHigh-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