Open protocol specification

Context that travels with you

Set your preferences once. VCP sends the what and keeps the why: short flags, plain enough for you to read, that services and Becoming Minds (the AI agents and assistants you work with) can honor without learning your story.

The protocol, explained.

What VCP carries, how it travels, and what compatible services do with it.

How it works

Every new AI service starts from zero: you explain your preferences, your constraints, your boundaries, again and again. And to be understood, you have to overshare; the platform learns why, when all it needed was what.

Define your context once. VCP turns the private parts into short flags, the way a meal request on a plane ticket says "vegetarian" and nothing more: every flight on the ticket serves it, and nobody serving it learns why. The flag travels. Your story stays home.

You define Defined

Your context

learn_guitar · beginner
goallearn guitar
scheduletight (shift work)
noisequiet only (thin walls)
budgetsmall
energylow today

Your own view, reasons included.

It travels Encoded

VCP token

~200 bytes · portable
encodeone token
inject()→ compatible services
reachmusic · learning · health

One compact token for services that implement the protocol.

Services adapt Adapted

Adapted lessons

quiet fingerpicking quiet only
15-min sessions short on time
nylon-string guitar within budget

Each service reads what it needs and adjusts.

The protocol ships as a specification, not a promise. VCP defines how context is written, carried, and checked; it cannot make a service obey it. What VCP can and cannot do.

One token, filtered for each compatible service.

Each compatible service receives only the fields your sharing policy allows.

Three tiers of context, carried together.

VCP carries three tiers of context. The token holds the constitutional and personal tiers, and situational context travels beside it. Which ones go out depends on the profile you select.

Constitutional

The values and rules a Becoming Mind works under, written as a constitution: a structured, machine-readable declaration of what it should and should not do. Whether a hard constraint is actually enforced depends on the service that receives it.

Rules Boundaries Constitutions

Situational

Your current role, environment, and platform context. Are you at work or home? Learning or creating? Context switches accordingly.

Role Environment Platform

Personal

Your preferences, and how you are right now: mood, energy, focus. A living snapshot, declared by you, that fades back toward neutral unless you refresh it.

Preferences State Mood

Trust, end to end

Signed at the source. Verified on arrival.

Each signed VCP bundle carries its identity, its version, and the signature and hash needed to verify it. A secure application (the orchestrator) verifies the bundle before the model uses it and, where an audit trail is required, records which bundle it accepted and whether verification passed.

Step 1 · Signed bundle Signed

Creative growth

personal.growth.creative@1.0.0

Ed25519 · CSM-1 · SHA-256 a4f…91c

Step 2 · Orchestrator Verified

Checked before use

CSM-1 · P:M:3
issuercreed-space
auditorsafety-lab
inject()→ Becoming Mind
Step 3 · Becoming Mind Loaded

Values loaded

directivesapplied
context encoderactive
personal statedecaying
handoff (torch)ready

Example bundle. The hash, issuer, auditor, and status badges are illustrative, not a check this site ran.

token.vcp
VCP:1.0:gentian
C:personal.growth.creative@1.0.0
P:M:3
G:learn_guitar:beginner:hands_on
X:🔇,⏰lim,💰lim,🔇quiet,💰low,⏱️30minutes
F:time_limited,noise_restricted,budget_limited
S:🔒present
Compact encoding

Tiny tokens, rich context

VCP tokens encode selected context into a compact, portable format. The exact fields and size depend on the profile, consent, and receiving integration. The last line records that private context exists without saying what it is.

  • Plain-text lines you can read
  • Yes-or-no flags in place of private reasons
  • Personal state that fades when it goes stale

Build your own context.

Create, inspect, and experiment with VCP tokens in real time. Toggle constraints, change preferences, and watch the compact token update instantly.

Open Playground

Built for developers

One spec. Two implementations. One browser integration.

Use the protocol implementation in Python or Rust, or expose VCP capabilities to browser agents through the TypeScript WebMCP integration. The packages implement the VCP v3.1 source baseline and identify v3.2 adaptation features as pre-release.

  • Ed25519 signing, SHA-256 content hashes
  • VCP-Hello / VCP-Ack capability handshake
  • Personal state with exponential & linear decay
  • Schulze consensus voting & Torch session handoff, which carries relationship context into the next session
from vcp import CSM1Code, Token

identity = Token.parse("family.safe.guide@1.2.0")
profile = CSM1Code.parse("N5+F+E")

print(identity.canonical)
print(profile.encode())  # N5+E+F