Portable context for Claude - own your memory, voice, and identity
Project description
Continuum
Portable context for Claude. Own your memory, voice, and identity across all Claude interfaces.
Continuum gives you a single source of truth for your context that works with Claude Code, Claude.ai, Claude Desktop, and the API. Your identity, voice, working context, and memories live in simple markdown files that you control.
What's New in v0.2
- Streamable HTTP transport for MCP (recommended over SSE for remote access)
- Expanded test suite covering export, config, MCP, and voice modules
- Bug fixes: removed debug mode from production server, fixed bare except clauses, eliminated
os.chdir()side effects - py.typed marker for PEP 561 type checking support
Why Continuum?
Every Claude session starts fresh. You re-explain your role, re-establish your communication style, re-provide context. Claude.ai has memory, but it's siloed and opaque. Claude Code has CLAUDE.md, but it's project-local. None of them talk to each other.
Continuum solves this by giving you:
- Identity: Who you are (stable over years)
- Voice: How you communicate (stable over months)
- Context: What you're working on (changes weekly)
- Memory: What you've learned (accumulates over time)
- Project overlays: Per-project context that merges with your global context
- MCP server: Live integration with Claude.ai and Claude Desktop via Tailscale
Installation
pip install continuum-context
Note: The package name on PyPI is
continuum-context, notcontinuum.
Other installation methods:
# With uv
uv pip install continuum-context
# From source
git clone https://github.com/BioInfo/continuum.git
cd continuum
pip install -e ".[dev]"
Quick Start
# Initialize your context directory
continuum init
# Edit your identity and voice
continuum edit identity
continuum edit voice
# Check status
continuum status
# Export for Claude Code
continuum export
Features
Core Context Management
continuum init # Create ~/.continuum with templates
continuum edit identity # Edit who you are
continuum edit voice # Edit communication style
continuum edit context # Edit current working context
continuum edit memory # Edit accumulated memories
continuum status # Show context status
continuum validate # Check for issues
continuum export # Generate merged context file
Memory System
# Add memories (category auto-detected)
continuum remember "Decided to use FastAPI for the microservice"
# -> [YYYY-MM-DD] DECISION - Decided to use FastAPI for the microservice
continuum remember "Team standup moved to 10am" --category fact
# -> [YYYY-MM-DD] FACT - Team standup moved to 10am
Project-Specific Context
# Initialize project context in current directory
continuum init --project
# Edit project-specific files
continuum edit context --project
continuum edit memory --project
# Add project memories
continuum remember "Architecture: event-driven with Kafka" --project
# Status shows both global and project context
continuum status
Project context merges with global context on export. Context and memories append; identity and voice can override.
Voice Analysis
Analyze your writing samples to generate a voice profile:
# Add samples to ~/.continuum/samples/
mkdir -p ~/.continuum/samples/emails
# Copy your writing examples there
# Analyze and generate voice.md
continuum voice analyze
# Preview without updating
continuum voice analyze --dry-run
Requires an OPENROUTER_API_KEY environment variable (add to ~/.continuum/.env).
MCP Server
Continuum includes an MCP server that exposes your context to Claude.ai, Claude Desktop, and Claude Code.
For Claude Code (local, stdio):
# Get config to add to your MCP settings
continuum serve config
For Claude.ai / Claude Desktop (remote, Streamable HTTP via Tailscale):
# Start the server (runs on port 8765)
continuum serve http
# Enable Tailscale Funnel for HTTPS
tailscale funnel --bg 8765
# Get config
continuum serve config --http
Legacy SSE transport is still available for older clients:
continuum serve sse
continuum serve config --sse
Add to Claude.ai: Settings > Connectors > Add custom connector
MCP Tools:
| Tool | Description |
|---|---|
get_context |
Full merged context (identity + voice + context + memory) |
get_identity |
Identity information |
get_voice |
Voice/style guide |
get_current_context |
Current working context |
get_memories |
Search memories by category or text |
remember |
Save new memory from conversation |
get_status |
Continuum status check |
Directory Structure
~/.continuum/ # Global context
├── identity.md # Who you are
├── voice.md # How you communicate
├── context.md # Current working context
├── memory.md # Accumulated memories
├── config.yaml # Configuration
├── samples/ # Writing samples for voice analysis
└── exports/ # Generated exports
~/project/.continuum/ # Project context (optional)
├── context.md # Project-specific context
└── memory.md # Project-specific memories
Configuration
Edit ~/.continuum/config.yaml:
# Days before a file is marked stale
stale_days: 14
# Memory filtering for exports
memory_recent_days: 30
memory_max_entries: 20
# Identity condensing for exports
identity_max_words: 500
Philosophy
- You own your context. Not platforms, not providers. You.
- Files are the interface. Human-readable, git-friendly, editable with any tool.
- Voice matters. It's not just what you know, it's how you communicate.
- Active curation beats passive extraction. You decide what's important.
Roadmap
- Core CLI (init, edit, status, remember, export, validate)
- Voice analysis from writing samples
- Project-specific context overlays
- MCP server (stdio + SSE + Streamable HTTP)
- Semantic memory search
- Voice drift detection
- Claude Code native integration
Contributing
Contributions are welcome. To get started:
git clone https://github.com/BioInfo/continuum.git
cd continuum
pip install -e ".[dev]"
pytest tests/ -v
Please open an issue first for significant changes.
License
MIT License. See LICENSE for details.
Author
Justin Johnson - Run Data Run
Built for people who want to own their AI context, not rent it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file continuum_context-0.2.0.tar.gz.
File metadata
- Download URL: continuum_context-0.2.0.tar.gz
- Upload date:
- Size: 33.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f84ab332daefa846bbc31c9d8f6f91d4025b2205cbb00564e241efb8c9e47f32
|
|
| MD5 |
3a3097bd392ab2e13f7f2ab5eb021c90
|
|
| BLAKE2b-256 |
bbca9c6e09f3554edc54eac0545b1a40a96e94403be3750b80dc8c2176af43ba
|
File details
Details for the file continuum_context-0.2.0-py3-none-any.whl.
File metadata
- Download URL: continuum_context-0.2.0-py3-none-any.whl
- Upload date:
- Size: 28.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2f156c12b1785db1a2bff44628e2879844b9f2665cc61bcc55bd15cbf939290
|
|
| MD5 |
a6ce62faa867c8e858a0e1d858d65358
|
|
| BLAKE2b-256 |
4a8c4acd99ba3530ddac01cca35fffba829ec902f4ecd84907b528c6e3e00c7e
|